aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Isom <[email protected]>2020-10-24 12:32:43 -0400
committerMax Isom <[email protected]>2020-10-24 12:32:43 -0400
commit599dbce6e652ad1f4decb940170a26bd3b038af6 (patch)
tree6d508c7b6df71f82a5aac23d3139108e97cc9a54
parent4f0ab9b54924ff03e9696018ad204bd98688c0ed (diff)
downloadmuse-599dbce6e652ad1f4decb940170a26bd3b038af6.tar.xz
muse-599dbce6e652ad1f4decb940170a26bd3b038af6.zip
Bump packages
-rw-r--r--.gitignore1
-rwxr-xr-x.pnp.js15605
-rw-r--r--.yarnrc.yml1
-rw-r--r--package-lock.json3611
-rw-r--r--package.json42
-rw-r--r--src/bot.ts2
-rw-r--r--src/commands/fseek.ts4
-rw-r--r--src/commands/play.ts5
-rw-r--r--src/commands/seek.ts4
-rw-r--r--src/commands/skip.ts2
-rw-r--r--src/commands/unskip.ts2
-rw-r--r--src/services/get-songs.ts6
-rw-r--r--src/services/natural-language-commands.ts2
-rw-r--r--src/services/player.ts16
-rw-r--r--yarn.lock7565
15 files changed, 20134 insertions, 6734 deletions
diff --git a/.gitignore b/.gitignore
index 6cbf08c..03a700c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@ data
.DS_Store
dist
dts
+.yarn
# Logs
logs
diff --git a/.pnp.js b/.pnp.js
new file mode 100755
index 0000000..c5f8fdb
--- /dev/null
+++ b/.pnp.js
@@ -0,0 +1,15605 @@
+#!/usr/bin/env node
+/* eslint-disable */
+
+try {
+ Object.freeze({}).detectStrictMode = true;
+} catch (error) {
+ throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);
+}
+
+var __non_webpack_module__ = module;
+
+function $$SETUP_STATE(hydrateRuntimeState, basePath) {
+ return hydrateRuntimeState({
+ "__info": [
+ "This file is automatically generated. Do not touch it, or risk",
+ "your modifications being lost. We also recommend you not to read",
+ "it either without using the @yarnpkg/pnp package, as the data layout",
+ "is entirely unspecified and WILL change from a version to another."
+ ],
+ "dependencyTreeRoots": [
+ {
+ "name": "muse",
+ "reference": "workspace:."
+ }
+ ],
+ "enableTopLevelFallback": true,
+ "ignorePatternData": "(^(?:\\.yarn\\/sdks(?:\\/(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)|$))$)",
+ "fallbackExclusionList": [
+ ["muse", ["workspace:."]]
+ ],
+ "fallbackPool": [
+ ],
+ "locationBlacklistData": [
+ ],
+ "packageRegistryData": [
+ [null, [
+ [null, {
+ "packageLocation": "./",
+ "packageDependencies": [
+ ["@discordjs/opus", "npm:0.3.2"],
+ ["@types/bluebird", "npm:3.5.32"],
+ ["@types/debug", "npm:4.1.5"],
+ ["@types/fluent-ffmpeg", "npm:2.1.16"],
+ ["@types/fs-capacitor", "npm:2.0.0"],
+ ["@types/node", "npm:14.14.2"],
+ ["@types/node-emoji", "npm:1.8.1"],
+ ["@types/spotify-web-api-node", "npm:4.0.1"],
+ ["@types/validator", "npm:13.1.0"],
+ ["@types/ws", "npm:7.2.7"],
+ ["@typescript-eslint/eslint-plugin", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.5.0"],
+ ["@typescript-eslint/parser", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.5.0"],
+ ["array-shuffle", "npm:1.0.1"],
+ ["debug", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.2.0"],
+ ["delay", "npm:4.4.0"],
+ ["discord.js", "npm:12.4.1"],
+ ["dotenv", "npm:8.2.0"],
+ ["eslint", "npm:7.12.0"],
+ ["eslint-config-xo", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:0.33.1"],
+ ["eslint-config-xo-typescript", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:0.35.0"],
+ ["fluent-ffmpeg", "npm:2.1.2"],
+ ["fs-capacitor", "npm:6.2.0"],
+ ["get-youtube-id", "npm:1.0.1"],
+ ["got", "npm:11.8.0"],
+ ["hasha", "npm:5.2.2"],
+ ["husky", "npm:4.3.0"],
+ ["inversify", "npm:5.0.1"],
+ ["iso8601-duration", "npm:1.2.0"],
+ ["make-dir", "npm:3.1.0"],
+ ["node-emoji", "npm:1.10.0"],
+ ["nodemon", "npm:2.0.6"],
+ ["p-limit", "npm:3.0.2"],
+ ["reflect-metadata", "npm:0.1.13"],
+ ["sequelize", "npm:5.22.3"],
+ ["sequelize-typescript", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:1.1.0"],
+ ["spotify-uri", "npm:2.1.0"],
+ ["spotify-web-api-node", "npm:5.0.0"],
+ ["sqlite3", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:5.0.0"],
+ ["ts-node", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:9.0.0"],
+ ["typescript", "patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698"],
+ ["unique-random-array", "npm:2.0.0"],
+ ["youtube.ts", "npm:0.1.8"],
+ ["ytdl-core", "npm:3.4.2"],
+ ["ytsr", "npm:1.0.4"]
+ ],
+ "linkType": "SOFT",
+ }]
+ ]],
+ ["@babel/code-frame", [
+ ["npm:7.8.3", {
+ "packageLocation": "./.yarn/cache/@babel-code-frame-npm-7.8.3-ea28dc5d9b-0552a3e366.zip/node_modules/@babel/code-frame/",
+ "packageDependencies": [
+ ["@babel/code-frame", "npm:7.8.3"],
+ ["@babel/highlight", "npm:7.8.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@babel/highlight", [
+ ["npm:7.8.3", {
+ "packageLocation": "./.yarn/cache/@babel-highlight-npm-7.8.3-7222e70eb1-ce11281e4e.zip/node_modules/@babel/highlight/",
+ "packageDependencies": [
+ ["@babel/highlight", "npm:7.8.3"],
+ ["chalk", "npm:2.4.2"],
+ ["esutils", "npm:2.0.3"],
+ ["js-tokens", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@discordjs/collection", [
+ ["npm:0.1.6", {
+ "packageLocation": "./.yarn/cache/@discordjs-collection-npm-0.1.6-bad654db9e-da87faf997.zip/node_modules/@discordjs/collection/",
+ "packageDependencies": [
+ ["@discordjs/collection", "npm:0.1.6"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@discordjs/form-data", [
+ ["npm:3.0.1", {
+ "packageLocation": "./.yarn/cache/@discordjs-form-data-npm-3.0.1-d60fa9fc03-2ddf4c9bba.zip/node_modules/@discordjs/form-data/",
+ "packageDependencies": [
+ ["@discordjs/form-data", "npm:3.0.1"],
+ ["asynckit", "npm:0.4.0"],
+ ["combined-stream", "npm:1.0.8"],
+ ["mime-types", "npm:2.1.26"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@discordjs/node-pre-gyp", [
+ ["npm:0.1.0", {
+ "packageLocation": "./.yarn/cache/@discordjs-node-pre-gyp-npm-0.1.0-391d409e2a-1922e8bb7d.zip/node_modules/@discordjs/node-pre-gyp/",
+ "packageDependencies": [
+ ["@discordjs/node-pre-gyp", "npm:0.1.0"],
+ ["detect-libc", "npm:1.0.3"],
+ ["mkdirp", "npm:0.5.5"],
+ ["needle", "npm:2.5.0"],
+ ["nopt", "npm:4.0.3"],
+ ["npm-packlist", "npm:1.4.8"],
+ ["npmlog", "npm:4.1.2"],
+ ["rc", "npm:1.2.8"],
+ ["rimraf", "npm:3.0.2"],
+ ["semver", "npm:7.3.2"],
+ ["tar", "npm:6.0.5"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@discordjs/opus", [
+ ["npm:0.3.2", {
+ "packageLocation": "./.yarn/unplugged/@discordjs-opus-npm-0.3.2-eecbdfae48/node_modules/@discordjs/opus/",
+ "packageDependencies": [
+ ["@discordjs/opus", "npm:0.3.2"],
+ ["@discordjs/node-pre-gyp", "npm:0.1.0"],
+ ["node-addon-api", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@eslint/eslintrc", [
+ ["npm:0.2.0", {
+ "packageLocation": "./.yarn/cache/@eslint-eslintrc-npm-0.2.0-06f16ce431-bdc8346add.zip/node_modules/@eslint/eslintrc/",
+ "packageDependencies": [
+ ["@eslint/eslintrc", "npm:0.2.0"],
+ ["ajv", "npm:6.12.6"],
+ ["debug", "virtual:06f16ce4314489ede1782fd373bd645f3d5af2ac974979fef538e01b3ea8becd0500df8c4dacd06023014cd557e779559cef04d001a22387523c61a0010eec98#npm:4.1.1"],
+ ["espree", "npm:7.3.0"],
+ ["globals", "npm:12.3.0"],
+ ["ignore", "npm:4.0.6"],
+ ["import-fresh", "npm:3.2.1"],
+ ["js-yaml", "npm:3.13.1"],
+ ["lodash", "npm:4.17.20"],
+ ["minimatch", "npm:3.0.4"],
+ ["strip-json-comments", "npm:3.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@nodelib/fs.scandir", [
+ ["npm:2.1.3", {
+ "packageLocation": "./.yarn/cache/@nodelib-fs.scandir-npm-2.1.3-92e0b8f0d5-1f100655dd.zip/node_modules/@nodelib/fs.scandir/",
+ "packageDependencies": [
+ ["@nodelib/fs.scandir", "npm:2.1.3"],
+ ["@nodelib/fs.stat", "npm:2.0.3"],
+ ["run-parallel", "npm:1.1.9"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@nodelib/fs.stat", [
+ ["npm:2.0.3", {
+ "packageLocation": "./.yarn/cache/@nodelib-fs.stat-npm-2.0.3-be9eaa5ef7-1bfdb2f419.zip/node_modules/@nodelib/fs.stat/",
+ "packageDependencies": [
+ ["@nodelib/fs.stat", "npm:2.0.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@nodelib/fs.walk", [
+ ["npm:1.2.4", {
+ "packageLocation": "./.yarn/cache/@nodelib-fs.walk-npm-1.2.4-1ae6c97d00-f4bffba16c.zip/node_modules/@nodelib/fs.walk/",
+ "packageDependencies": [
+ ["@nodelib/fs.walk", "npm:1.2.4"],
+ ["@nodelib/fs.scandir", "npm:2.1.3"],
+ ["fastq", "npm:1.8.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@sindresorhus/is", [
+ ["npm:0.14.0", {
+ "packageLocation": "./.yarn/cache/@sindresorhus-is-npm-0.14.0-9f906ea34b-da26389d6e.zip/node_modules/@sindresorhus/is/",
+ "packageDependencies": [
+ ["@sindresorhus/is", "npm:0.14.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/@sindresorhus-is-npm-4.0.0-5aa71e5397-7022d5037f.zip/node_modules/@sindresorhus/is/",
+ "packageDependencies": [
+ ["@sindresorhus/is", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@szmarczak/http-timer", [
+ ["npm:1.1.2", {
+ "packageLocation": "./.yarn/cache/@szmarczak-http-timer-npm-1.1.2-ea82ca2d55-a46ec85423.zip/node_modules/@szmarczak/http-timer/",
+ "packageDependencies": [
+ ["@szmarczak/http-timer", "npm:1.1.2"],
+ ["defer-to-connect", "npm:1.1.3"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.0.5", {
+ "packageLocation": "./.yarn/cache/@szmarczak-http-timer-npm-4.0.5-03463d10ab-13d8f71dbd.zip/node_modules/@szmarczak/http-timer/",
+ "packageDependencies": [
+ ["@szmarczak/http-timer", "npm:4.0.5"],
+ ["defer-to-connect", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/bluebird", [
+ ["npm:3.5.32", {
+ "packageLocation": "./.yarn/cache/@types-bluebird-npm-3.5.32-6d3aaab928-92c0baae50.zip/node_modules/@types/bluebird/",
+ "packageDependencies": [
+ ["@types/bluebird", "npm:3.5.32"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/cacheable-request", [
+ ["npm:6.0.1", {
+ "packageLocation": "./.yarn/cache/@types-cacheable-request-npm-6.0.1-067bf7714d-3dae802a08.zip/node_modules/@types/cacheable-request/",
+ "packageDependencies": [
+ ["@types/cacheable-request", "npm:6.0.1"],
+ ["@types/http-cache-semantics", "npm:4.0.0"],
+ ["@types/keyv", "npm:3.1.1"],
+ ["@types/node", "npm:13.9.0"],
+ ["@types/responselike", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/color-name", [
+ ["npm:1.1.1", {
+ "packageLocation": "./.yarn/cache/@types-color-name-npm-1.1.1-00b0925070-8311db94a9.zip/node_modules/@types/color-name/",
+ "packageDependencies": [
+ ["@types/color-name", "npm:1.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/debug", [
+ ["npm:4.1.5", {
+ "packageLocation": "./.yarn/cache/@types-debug-npm-4.1.5-3464d6c971-416ad24bc5.zip/node_modules/@types/debug/",
+ "packageDependencies": [
+ ["@types/debug", "npm:4.1.5"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/fluent-ffmpeg", [
+ ["npm:2.1.16", {
+ "packageLocation": "./.yarn/cache/@types-fluent-ffmpeg-npm-2.1.16-50b0b85e70-be59b73093.zip/node_modules/@types/fluent-ffmpeg/",
+ "packageDependencies": [
+ ["@types/fluent-ffmpeg", "npm:2.1.16"],
+ ["@types/node", "npm:13.9.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/fs-capacitor", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/@types-fs-capacitor-npm-2.0.0-4f20eba973-2fed98a117.zip/node_modules/@types/fs-capacitor/",
+ "packageDependencies": [
+ ["@types/fs-capacitor", "npm:2.0.0"],
+ ["@types/node", "npm:13.9.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/http-cache-semantics", [
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/@types-http-cache-semantics-npm-4.0.0-000c9dc8e0-e16fae56d4.zip/node_modules/@types/http-cache-semantics/",
+ "packageDependencies": [
+ ["@types/http-cache-semantics", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/json-schema", [
+ ["npm:7.0.4", {
+ "packageLocation": "./.yarn/cache/@types-json-schema-npm-7.0.4-e9c65098ca-5094037431.zip/node_modules/@types/json-schema/",
+ "packageDependencies": [
+ ["@types/json-schema", "npm:7.0.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/keyv", [
+ ["npm:3.1.1", {
+ "packageLocation": "./.yarn/cache/@types-keyv-npm-3.1.1-779a80f2c7-3aaf557d5b.zip/node_modules/@types/keyv/",
+ "packageDependencies": [
+ ["@types/keyv", "npm:3.1.1"],
+ ["@types/node", "npm:13.9.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/node", [
+ ["npm:13.9.0", {
+ "packageLocation": "./.yarn/cache/@types-node-npm-13.9.0-a623733bf2-54c040abe4.zip/node_modules/@types/node/",
+ "packageDependencies": [
+ ["@types/node", "npm:13.9.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:14.14.2", {
+ "packageLocation": "./.yarn/cache/@types-node-npm-14.14.2-48d579817b-e6ad786008.zip/node_modules/@types/node/",
+ "packageDependencies": [
+ ["@types/node", "npm:14.14.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/node-emoji", [
+ ["npm:1.8.1", {
+ "packageLocation": "./.yarn/cache/@types-node-emoji-npm-1.8.1-285103c84f-66678006be.zip/node_modules/@types/node-emoji/",
+ "packageDependencies": [
+ ["@types/node-emoji", "npm:1.8.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/parse-json", [
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/@types-parse-json-npm-4.0.0-298522afa6-4a8f720afa.zip/node_modules/@types/parse-json/",
+ "packageDependencies": [
+ ["@types/parse-json", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/responselike", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/@types-responselike-npm-1.0.0-85dd08af42-e6e6613c80.zip/node_modules/@types/responselike/",
+ "packageDependencies": [
+ ["@types/responselike", "npm:1.0.0"],
+ ["@types/node", "npm:13.9.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/spotify-api", [
+ ["npm:0.0.2", {
+ "packageLocation": "./.yarn/cache/@types-spotify-api-npm-0.0.2-505c839d66-a57f26b004.zip/node_modules/@types/spotify-api/",
+ "packageDependencies": [
+ ["@types/spotify-api", "npm:0.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/spotify-web-api-node", [
+ ["npm:4.0.1", {
+ "packageLocation": "./.yarn/cache/@types-spotify-web-api-node-npm-4.0.1-4ddeb8136e-85cda4bab5.zip/node_modules/@types/spotify-web-api-node/",
+ "packageDependencies": [
+ ["@types/spotify-web-api-node", "npm:4.0.1"],
+ ["@types/spotify-api", "npm:0.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/validator", [
+ ["npm:13.1.0", {
+ "packageLocation": "./.yarn/cache/@types-validator-npm-13.1.0-3482a99fb6-0a0d0f89d6.zip/node_modules/@types/validator/",
+ "packageDependencies": [
+ ["@types/validator", "npm:13.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@types/ws", [
+ ["npm:7.2.7", {
+ "packageLocation": "./.yarn/cache/@types-ws-npm-7.2.7-f4395e2dd8-9e98599fe5.zip/node_modules/@types/ws/",
+ "packageDependencies": [
+ ["@types/ws", "npm:7.2.7"],
+ ["@types/node", "npm:13.9.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@typescript-eslint/eslint-plugin", [
+ ["virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.5.0", {
+ "packageLocation": "./.yarn/$$virtual/@typescript-eslint-eslint-plugin-virtual-d93c6383b1/0/cache/@typescript-eslint-eslint-plugin-npm-4.5.0-9a054b5467-81d8817007.zip/node_modules/@typescript-eslint/eslint-plugin/",
+ "packageDependencies": [
+ ["@typescript-eslint/eslint-plugin", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.5.0"],
+ ["@types/eslint", null],
+ ["@types/typescript-eslint__parser", null],
+ ["@typescript-eslint/experimental-utils", "virtual:d93c6383b1bdedf90c93794b5dfb0a042e7c03299724b7f292453a71f231a915f8fcb6e3c93ae62d338e089a4f08be8908c286c442393c02082bac2867114b58#npm:4.5.0"],
+ ["@typescript-eslint/parser", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.5.0"],
+ ["@typescript-eslint/scope-manager", "npm:4.5.0"],
+ ["debug", "virtual:06f16ce4314489ede1782fd373bd645f3d5af2ac974979fef538e01b3ea8becd0500df8c4dacd06023014cd557e779559cef04d001a22387523c61a0010eec98#npm:4.1.1"],
+ ["eslint", "npm:7.12.0"],
+ ["functional-red-black-tree", "npm:1.0.1"],
+ ["regexpp", "npm:3.0.0"],
+ ["semver", "npm:7.3.2"],
+ ["tsutils", "virtual:d93c6383b1bdedf90c93794b5dfb0a042e7c03299724b7f292453a71f231a915f8fcb6e3c93ae62d338e089a4f08be8908c286c442393c02082bac2867114b58#npm:3.17.1"],
+ ["typescript", "patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698"]
+ ],
+ "packagePeers": [
+ "@types/eslint",
+ "@types/typescript-eslint__parser",
+ "@typescript-eslint/parser",
+ "eslint",
+ "typescript"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@typescript-eslint/experimental-utils", [
+ ["virtual:d93c6383b1bdedf90c93794b5dfb0a042e7c03299724b7f292453a71f231a915f8fcb6e3c93ae62d338e089a4f08be8908c286c442393c02082bac2867114b58#npm:4.5.0", {
+ "packageLocation": "./.yarn/$$virtual/@typescript-eslint-experimental-utils-virtual-8bbd77b48d/0/cache/@typescript-eslint-experimental-utils-npm-4.5.0-c1ed445fd3-e4cc88e028.zip/node_modules/@typescript-eslint/experimental-utils/",
+ "packageDependencies": [
+ ["@typescript-eslint/experimental-utils", "virtual:d93c6383b1bdedf90c93794b5dfb0a042e7c03299724b7f292453a71f231a915f8fcb6e3c93ae62d338e089a4f08be8908c286c442393c02082bac2867114b58#npm:4.5.0"],
+ ["@types/eslint", null],
+ ["@types/json-schema", "npm:7.0.4"],
+ ["@typescript-eslint/scope-manager", "npm:4.5.0"],
+ ["@typescript-eslint/types", "npm:4.5.0"],
+ ["@typescript-eslint/typescript-estree", "virtual:8bbd77b48dbd569ccf24c4ec4ee8e50ac5bfb1a0e21822fbfc52522dcc3edef94e5c36d9de77044612c6b767c5d6e078f20db0192d6982cfc6ee8976bed3da72#npm:4.5.0"],
+ ["eslint", "npm:7.12.0"],
+ ["eslint-scope", "npm:5.0.0"],
+ ["eslint-utils", "npm:2.0.0"]
+ ],
+ "packagePeers": [
+ "@types/eslint",
+ "eslint"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@typescript-eslint/parser", [
+ ["virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.5.0", {
+ "packageLocation": "./.yarn/$$virtual/@typescript-eslint-parser-virtual-214a1cfd2c/0/cache/@typescript-eslint-parser-npm-4.5.0-b6b13fe406-f2bb84f34d.zip/node_modules/@typescript-eslint/parser/",
+ "packageDependencies": [
+ ["@typescript-eslint/parser", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.5.0"],
+ ["@types/eslint", null],
+ ["@typescript-eslint/scope-manager", "npm:4.5.0"],
+ ["@typescript-eslint/types", "npm:4.5.0"],
+ ["@typescript-eslint/typescript-estree", "virtual:214a1cfd2cf8d27cb15d311578653aa32b0b66510db67277d7ddba77284430198240851d476248fbcd180b701ea2759e4b368cd2b65d616592f75ee7aeecb9f1#npm:4.5.0"],
+ ["debug", "virtual:06f16ce4314489ede1782fd373bd645f3d5af2ac974979fef538e01b3ea8becd0500df8c4dacd06023014cd557e779559cef04d001a22387523c61a0010eec98#npm:4.1.1"],
+ ["eslint", "npm:7.12.0"],
+ ["typescript", "patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698"]
+ ],
+ "packagePeers": [
+ "@types/eslint",
+ "eslint",
+ "typescript"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@typescript-eslint/scope-manager", [
+ ["npm:4.5.0", {
+ "packageLocation": "./.yarn/cache/@typescript-eslint-scope-manager-npm-4.5.0-4869a242f6-35a0f30bed.zip/node_modules/@typescript-eslint/scope-manager/",
+ "packageDependencies": [
+ ["@typescript-eslint/scope-manager", "npm:4.5.0"],
+ ["@typescript-eslint/types", "npm:4.5.0"],
+ ["@typescript-eslint/visitor-keys", "npm:4.5.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@typescript-eslint/types", [
+ ["npm:4.5.0", {
+ "packageLocation": "./.yarn/cache/@typescript-eslint-types-npm-4.5.0-fcb88afe85-f4501f11e5.zip/node_modules/@typescript-eslint/types/",
+ "packageDependencies": [
+ ["@typescript-eslint/types", "npm:4.5.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@typescript-eslint/typescript-estree", [
+ ["virtual:214a1cfd2cf8d27cb15d311578653aa32b0b66510db67277d7ddba77284430198240851d476248fbcd180b701ea2759e4b368cd2b65d616592f75ee7aeecb9f1#npm:4.5.0", {
+ "packageLocation": "./.yarn/$$virtual/@typescript-eslint-typescript-estree-virtual-2e54e00e3e/0/cache/@typescript-eslint-typescript-estree-npm-4.5.0-f8ddd10f6f-4f146c8391.zip/node_modules/@typescript-eslint/typescript-estree/",
+ "packageDependencies": [
+ ["@typescript-eslint/typescript-estree", "virtual:214a1cfd2cf8d27cb15d311578653aa32b0b66510db67277d7ddba77284430198240851d476248fbcd180b701ea2759e4b368cd2b65d616592f75ee7aeecb9f1#npm:4.5.0"],
+ ["@typescript-eslint/types", "npm:4.5.0"],
+ ["@typescript-eslint/visitor-keys", "npm:4.5.0"],
+ ["debug", "virtual:06f16ce4314489ede1782fd373bd645f3d5af2ac974979fef538e01b3ea8becd0500df8c4dacd06023014cd557e779559cef04d001a22387523c61a0010eec98#npm:4.1.1"],
+ ["globby", "npm:11.0.1"],
+ ["is-glob", "npm:4.0.1"],
+ ["lodash", "npm:4.17.15"],
+ ["semver", "npm:7.3.2"],
+ ["tsutils", "virtual:d93c6383b1bdedf90c93794b5dfb0a042e7c03299724b7f292453a71f231a915f8fcb6e3c93ae62d338e089a4f08be8908c286c442393c02082bac2867114b58#npm:3.17.1"],
+ ["typescript", "patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698"]
+ ],
+ "packagePeers": [
+ "typescript"
+ ],
+ "linkType": "HARD",
+ }],
+ ["virtual:8bbd77b48dbd569ccf24c4ec4ee8e50ac5bfb1a0e21822fbfc52522dcc3edef94e5c36d9de77044612c6b767c5d6e078f20db0192d6982cfc6ee8976bed3da72#npm:4.5.0", {
+ "packageLocation": "./.yarn/$$virtual/@typescript-eslint-typescript-estree-virtual-dfbac2f952/0/cache/@typescript-eslint-typescript-estree-npm-4.5.0-f8ddd10f6f-4f146c8391.zip/node_modules/@typescript-eslint/typescript-estree/",
+ "packageDependencies": [
+ ["@typescript-eslint/typescript-estree", "virtual:8bbd77b48dbd569ccf24c4ec4ee8e50ac5bfb1a0e21822fbfc52522dcc3edef94e5c36d9de77044612c6b767c5d6e078f20db0192d6982cfc6ee8976bed3da72#npm:4.5.0"],
+ ["@typescript-eslint/types", "npm:4.5.0"],
+ ["@typescript-eslint/visitor-keys", "npm:4.5.0"],
+ ["debug", "virtual:06f16ce4314489ede1782fd373bd645f3d5af2ac974979fef538e01b3ea8becd0500df8c4dacd06023014cd557e779559cef04d001a22387523c61a0010eec98#npm:4.1.1"],
+ ["globby", "npm:11.0.1"],
+ ["is-glob", "npm:4.0.1"],
+ ["lodash", "npm:4.17.15"],
+ ["semver", "npm:7.3.2"],
+ ["tsutils", "virtual:dfbac2f952a0dcf6b546c6f87008213b68e6d1da66779d6ed0564a7b28aee7bdc059e4c49b4d09a67b853fe0c70d952a5157df5842ad79cd5e093a02ac0282eb#npm:3.17.1"],
+ ["typescript", null]
+ ],
+ "packagePeers": [
+ "typescript"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["@typescript-eslint/visitor-keys", [
+ ["npm:4.5.0", {
+ "packageLocation": "./.yarn/cache/@typescript-eslint-visitor-keys-npm-4.5.0-2eea0534d7-7d7f342dac.zip/node_modules/@typescript-eslint/visitor-keys/",
+ "packageDependencies": [
+ ["@typescript-eslint/visitor-keys", "npm:4.5.0"],
+ ["@typescript-eslint/types", "npm:4.5.0"],
+ ["eslint-visitor-keys", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["abbrev", [
+ ["npm:1.1.1", {
+ "packageLocation": "./.yarn/cache/abbrev-npm-1.1.1-3659247eab-9f9236a3cc.zip/node_modules/abbrev/",
+ "packageDependencies": [
+ ["abbrev", "npm:1.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["abort-controller", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-cc53ad8df9.zip/node_modules/abort-controller/",
+ "packageDependencies": [
+ ["abort-controller", "npm:3.0.0"],
+ ["event-target-shim", "npm:5.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["acorn", [
+ ["npm:7.4.0", {
+ "packageLocation": "./.yarn/cache/acorn-npm-7.4.0-8e5a67d17a-a25b12d9e8.zip/node_modules/acorn/",
+ "packageDependencies": [
+ ["acorn", "npm:7.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["acorn-jsx", [
+ ["virtual:d2b7d87b7d1b24ae28c976e6a4dd1f4502c0b4861c48ac890edb4bef9b304b0f14bb5b927b0e2264534c1a0de7bfcddcb87164733cca942d507282121e821e10#npm:5.2.0", {
+ "packageLocation": "./.yarn/$$virtual/acorn-jsx-virtual-a4e4efa1be/0/cache/acorn-jsx-npm-5.2.0-4c0af33483-1247cc4b32.zip/node_modules/acorn-jsx/",
+ "packageDependencies": [
+ ["acorn-jsx", "virtual:d2b7d87b7d1b24ae28c976e6a4dd1f4502c0b4861c48ac890edb4bef9b304b0f14bb5b927b0e2264534c1a0de7bfcddcb87164733cca942d507282121e821e10#npm:5.2.0"],
+ ["@types/acorn", null],
+ ["acorn", "npm:7.4.0"]
+ ],
+ "packagePeers": [
+ "@types/acorn",
+ "acorn"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ajv", [
+ ["npm:6.12.0", {
+ "packageLocation": "./.yarn/cache/ajv-npm-6.12.0-2c613c5c4b-aed1e0ab1b.zip/node_modules/ajv/",
+ "packageDependencies": [
+ ["ajv", "npm:6.12.0"],
+ ["fast-deep-equal", "npm:3.1.1"],
+ ["fast-json-stable-stringify", "npm:2.1.0"],
+ ["json-schema-traverse", "npm:0.4.1"],
+ ["uri-js", "npm:4.2.2"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:6.12.6", {
+ "packageLocation": "./.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-19a8f3b0a0.zip/node_modules/ajv/",
+ "packageDependencies": [
+ ["ajv", "npm:6.12.6"],
+ ["fast-deep-equal", "npm:3.1.1"],
+ ["fast-json-stable-stringify", "npm:2.1.0"],
+ ["json-schema-traverse", "npm:0.4.1"],
+ ["uri-js", "npm:4.2.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ansi-align", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/ansi-align-npm-3.0.0-2f770647c2-e6bea1d610.zip/node_modules/ansi-align/",
+ "packageDependencies": [
+ ["ansi-align", "npm:3.0.0"],
+ ["string-width", "npm:3.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ansi-colors", [
+ ["npm:4.1.1", {
+ "packageLocation": "./.yarn/cache/ansi-colors-npm-4.1.1-97ad42f223-50d8dfbce2.zip/node_modules/ansi-colors/",
+ "packageDependencies": [
+ ["ansi-colors", "npm:4.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ansi-regex", [
+ ["npm:2.1.1", {
+ "packageLocation": "./.yarn/cache/ansi-regex-npm-2.1.1-ddd24d102b-93a53c923f.zip/node_modules/ansi-regex/",
+ "packageDependencies": [
+ ["ansi-regex", "npm:2.1.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/ansi-regex-npm-3.0.0-be0b845911-2e3c40d429.zip/node_modules/ansi-regex/",
+ "packageDependencies": [
+ ["ansi-regex", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.1.0", {
+ "packageLocation": "./.yarn/cache/ansi-regex-npm-4.1.0-4a7d8413fe-53b6fe447c.zip/node_modules/ansi-regex/",
+ "packageDependencies": [
+ ["ansi-regex", "npm:4.1.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.0.0", {
+ "packageLocation": "./.yarn/cache/ansi-regex-npm-5.0.0-9c076068d9-cbd9b5c9db.zip/node_modules/ansi-regex/",
+ "packageDependencies": [
+ ["ansi-regex", "npm:5.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ansi-styles", [
+ ["npm:3.2.1", {
+ "packageLocation": "./.yarn/cache/ansi-styles-npm-3.2.1-8cb8107983-456e1c23d9.zip/node_modules/ansi-styles/",
+ "packageDependencies": [
+ ["ansi-styles", "npm:3.2.1"],
+ ["color-convert", "npm:1.9.3"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.2.1", {
+ "packageLocation": "./.yarn/cache/ansi-styles-npm-4.2.1-de50ec308d-c8c007d5da.zip/node_modules/ansi-styles/",
+ "packageDependencies": [
+ ["ansi-styles", "npm:4.2.1"],
+ ["@types/color-name", "npm:1.1.1"],
+ ["color-convert", "npm:2.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["any-promise", [
+ ["npm:1.3.0", {
+ "packageLocation": "./.yarn/cache/any-promise-npm-1.3.0-f34eeaa7e7-e829425e4a.zip/node_modules/any-promise/",
+ "packageDependencies": [
+ ["any-promise", "npm:1.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["anymatch", [
+ ["npm:3.1.1", {
+ "packageLocation": "./.yarn/cache/anymatch-npm-3.1.1-7dcfa6178a-cf61bbaf7f.zip/node_modules/anymatch/",
+ "packageDependencies": [
+ ["anymatch", "npm:3.1.1"],
+ ["normalize-path", "npm:3.0.0"],
+ ["picomatch", "npm:2.2.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["aproba", [
+ ["npm:1.2.0", {
+ "packageLocation": "./.yarn/cache/aproba-npm-1.2.0-34129f0778-d4bac3e640.zip/node_modules/aproba/",
+ "packageDependencies": [
+ ["aproba", "npm:1.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["are-we-there-yet", [
+ ["npm:1.1.5", {
+ "packageLocation": "./.yarn/cache/are-we-there-yet-npm-1.1.5-b8418908b0-2d6fdb0ddd.zip/node_modules/are-we-there-yet/",
+ "packageDependencies": [
+ ["are-we-there-yet", "npm:1.1.5"],
+ ["delegates", "npm:1.0.0"],
+ ["readable-stream", "npm:2.3.7"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["arg", [
+ ["npm:4.1.3", {
+ "packageLocation": "./.yarn/cache/arg-npm-4.1.3-1748b966a8-81b3b40b15.zip/node_modules/arg/",
+ "packageDependencies": [
+ ["arg", "npm:4.1.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["argparse", [
+ ["npm:1.0.10", {
+ "packageLocation": "./.yarn/cache/argparse-npm-1.0.10-528934e59d-435adaef5f.zip/node_modules/argparse/",
+ "packageDependencies": [
+ ["argparse", "npm:1.0.10"],
+ ["sprintf-js", "npm:1.0.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["array-shuffle", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/array-shuffle-npm-1.0.1-7daf682215-125702796e.zip/node_modules/array-shuffle/",
+ "packageDependencies": [
+ ["array-shuffle", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["array-union", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/array-union-npm-2.1.0-4e4852b221-93af542eb8.zip/node_modules/array-union/",
+ "packageDependencies": [
+ ["array-union", "npm:2.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["asn1", [
+ ["npm:0.2.4", {
+ "packageLocation": "./.yarn/cache/asn1-npm-0.2.4-219dd49411-5743ace942.zip/node_modules/asn1/",
+ "packageDependencies": [
+ ["asn1", "npm:0.2.4"],
+ ["safer-buffer", "npm:2.1.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["assert-plus", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/assert-plus-npm-1.0.0-cac95ef098-1bda24f673.zip/node_modules/assert-plus/",
+ "packageDependencies": [
+ ["assert-plus", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["astral-regex", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/astral-regex-npm-1.0.0-2df7c41332-08e37f5996.zip/node_modules/astral-regex/",
+ "packageDependencies": [
+ ["astral-regex", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["async", [
+ ["npm:3.2.0", {
+ "packageLocation": "./.yarn/cache/async-npm-3.2.0-b6fd825ddc-5c7913c084.zip/node_modules/async/",
+ "packageDependencies": [
+ ["async", "npm:3.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["asynckit", [
+ ["npm:0.4.0", {
+ "packageLocation": "./.yarn/cache/asynckit-npm-0.4.0-c718858525-a024000b9d.zip/node_modules/asynckit/",
+ "packageDependencies": [
+ ["asynckit", "npm:0.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["aws-sign2", [
+ ["npm:0.7.0", {
+ "packageLocation": "./.yarn/cache/aws-sign2-npm-0.7.0-656c6cb84d-7162b9b8fb.zip/node_modules/aws-sign2/",
+ "packageDependencies": [
+ ["aws-sign2", "npm:0.7.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["aws4", [
+ ["npm:1.9.1", {
+ "packageLocation": "./.yarn/cache/aws4-npm-1.9.1-4163942423-d598226318.zip/node_modules/aws4/",
+ "packageDependencies": [
+ ["aws4", "npm:1.9.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["axios", [
+ ["npm:0.19.2", {
+ "packageLocation": "./.yarn/cache/axios-npm-0.19.2-e4e8599895-bad346deea.zip/node_modules/axios/",
+ "packageDependencies": [
+ ["axios", "npm:0.19.2"],
+ ["follow-redirects", "npm:1.5.10"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["balanced-match", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/balanced-match-npm-1.0.0-951a2ad706-f515a605fe.zip/node_modules/balanced-match/",
+ "packageDependencies": [
+ ["balanced-match", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["bcrypt-pbkdf", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/bcrypt-pbkdf-npm-1.0.2-80db8b16ed-3f57eb99bb.zip/node_modules/bcrypt-pbkdf/",
+ "packageDependencies": [
+ ["bcrypt-pbkdf", "npm:1.0.2"],
+ ["tweetnacl", "npm:0.14.5"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["binary-extensions", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/binary-extensions-npm-2.0.0-8343f65d59-76cc6a33dc.zip/node_modules/binary-extensions/",
+ "packageDependencies": [
+ ["binary-extensions", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["block-stream", [
+ ["npm:0.0.9", {
+ "packageLocation": "./.yarn/cache/block-stream-npm-0.0.9-ce3ced9c02-8018fa57ae.zip/node_modules/block-stream/",
+ "packageDependencies": [
+ ["block-stream", "npm:0.0.9"],
+ ["inherits", "npm:2.0.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["bluebird", [
+ ["npm:3.7.2", {
+ "packageLocation": "./.yarn/cache/bluebird-npm-3.7.2-6a54136ee3-4f2288662f.zip/node_modules/bluebird/",
+ "packageDependencies": [
+ ["bluebird", "npm:3.7.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["boxen", [
+ ["npm:4.2.0", {
+ "packageLocation": "./.yarn/cache/boxen-npm-4.2.0-471e88ddba-667b291d22.zip/node_modules/boxen/",
+ "packageDependencies": [
+ ["boxen", "npm:4.2.0"],
+ ["ansi-align", "npm:3.0.0"],
+ ["camelcase", "npm:5.3.1"],
+ ["chalk", "npm:3.0.0"],
+ ["cli-boxes", "npm:2.2.0"],
+ ["string-width", "npm:4.2.0"],
+ ["term-size", "npm:2.2.0"],
+ ["type-fest", "npm:0.8.1"],
+ ["widest-line", "npm:3.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["brace-expansion", [
+ ["npm:1.1.11", {
+ "packageLocation": "./.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-4c878e25e4.zip/node_modules/brace-expansion/",
+ "packageDependencies": [
+ ["brace-expansion", "npm:1.1.11"],
+ ["balanced-match", "npm:1.0.0"],
+ ["concat-map", "npm:0.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["braces", [
+ ["npm:3.0.2", {
+ "packageLocation": "./.yarn/cache/braces-npm-3.0.2-782240b28a-f3493181c3.zip/node_modules/braces/",
+ "packageDependencies": [
+ ["braces", "npm:3.0.2"],
+ ["fill-range", "npm:7.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["buffer-from", [
+ ["npm:1.1.1", {
+ "packageLocation": "./.yarn/cache/buffer-from-npm-1.1.1-22917b8ed8-540ceb79c4.zip/node_modules/buffer-from/",
+ "packageDependencies": [
+ ["buffer-from", "npm:1.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["cacheable-lookup", [
+ ["npm:5.0.3", {
+ "packageLocation": "./.yarn/cache/cacheable-lookup-npm-5.0.3-8cec59984a-a51e3ddb82.zip/node_modules/cacheable-lookup/",
+ "packageDependencies": [
+ ["cacheable-lookup", "npm:5.0.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["cacheable-request", [
+ ["npm:6.1.0", {
+ "packageLocation": "./.yarn/cache/cacheable-request-npm-6.1.0-684b834873-8b43f66137.zip/node_modules/cacheable-request/",
+ "packageDependencies": [
+ ["cacheable-request", "npm:6.1.0"],
+ ["clone-response", "npm:1.0.2"],
+ ["get-stream", "npm:5.1.0"],
+ ["http-cache-semantics", "npm:4.1.0"],
+ ["keyv", "npm:3.1.0"],
+ ["lowercase-keys", "npm:2.0.0"],
+ ["normalize-url", "npm:4.5.0"],
+ ["responselike", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:7.0.1", {
+ "packageLocation": "./.yarn/cache/cacheable-request-npm-7.0.1-d870be2496-fe0b6f3b8a.zip/node_modules/cacheable-request/",
+ "packageDependencies": [
+ ["cacheable-request", "npm:7.0.1"],
+ ["clone-response", "npm:1.0.2"],
+ ["get-stream", "npm:5.1.0"],
+ ["http-cache-semantics", "npm:4.1.0"],
+ ["keyv", "npm:4.0.0"],
+ ["lowercase-keys", "npm:2.0.0"],
+ ["normalize-url", "npm:4.5.0"],
+ ["responselike", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["callsites", [
+ ["npm:3.1.0", {
+ "packageLocation": "./.yarn/cache/callsites-npm-3.1.0-268f989910-f726bf10d7.zip/node_modules/callsites/",
+ "packageDependencies": [
+ ["callsites", "npm:3.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["camelcase", [
+ ["npm:5.3.1", {
+ "packageLocation": "./.yarn/cache/camelcase-npm-5.3.1-5db8af62c5-6a3350c4ea.zip/node_modules/camelcase/",
+ "packageDependencies": [
+ ["camelcase", "npm:5.3.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["caseless", [
+ ["npm:0.12.0", {
+ "packageLocation": "./.yarn/cache/caseless-npm-0.12.0-e83bc5df83-147f48bff9.zip/node_modules/caseless/",
+ "packageDependencies": [
+ ["caseless", "npm:0.12.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["chalk", [
+ ["npm:2.4.2", {
+ "packageLocation": "./.yarn/cache/chalk-npm-2.4.2-3ea16dd91e-22c7b7b5bc.zip/node_modules/chalk/",
+ "packageDependencies": [
+ ["chalk", "npm:2.4.2"],
+ ["ansi-styles", "npm:3.2.1"],
+ ["escape-string-regexp", "npm:1.0.5"],
+ ["supports-color", "npm:5.5.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/chalk-npm-3.0.0-e813208025-4018b0c812.zip/node_modules/chalk/",
+ "packageDependencies": [
+ ["chalk", "npm:3.0.0"],
+ ["ansi-styles", "npm:4.2.1"],
+ ["supports-color", "npm:7.1.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.1.0", {
+ "packageLocation": "./.yarn/cache/chalk-npm-4.1.0-c746e252ba-f860285b41.zip/node_modules/chalk/",
+ "packageDependencies": [
+ ["chalk", "npm:4.1.0"],
+ ["ansi-styles", "npm:4.2.1"],
+ ["supports-color", "npm:7.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["chokidar", [
+ ["npm:3.3.1", {
+ "packageLocation": "./.yarn/cache/chokidar-npm-3.3.1-98709e3b9f-b4925ff399.zip/node_modules/chokidar/",
+ "packageDependencies": [
+ ["chokidar", "npm:3.3.1"],
+ ["anymatch", "npm:3.1.1"],
+ ["braces", "npm:3.0.2"],
+ ["fsevents", "patch:fsevents@npm%3A2.1.2#builtin<compat/fsevents>::version=2.1.2&hash=127e8e"],
+ ["glob-parent", "npm:5.1.0"],
+ ["is-binary-path", "npm:2.1.0"],
+ ["is-glob", "npm:4.0.1"],
+ ["normalize-path", "npm:3.0.0"],
+ ["readdirp", "npm:3.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["chownr", [
+ ["npm:1.1.4", {
+ "packageLocation": "./.yarn/cache/chownr-npm-1.1.4-5bd400ab08-4a7f1a0b26.zip/node_modules/chownr/",
+ "packageDependencies": [
+ ["chownr", "npm:1.1.4"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/chownr-npm-2.0.0-638f1c9c61-b06ba0bf42.zip/node_modules/chownr/",
+ "packageDependencies": [
+ ["chownr", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ci-info", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/ci-info-npm-2.0.0-78012236a1-553fe83c08.zip/node_modules/ci-info/",
+ "packageDependencies": [
+ ["ci-info", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["cli-boxes", [
+ ["npm:2.2.0", {
+ "packageLocation": "./.yarn/cache/cli-boxes-npm-2.2.0-d10e4d5632-db0db07e69.zip/node_modules/cli-boxes/",
+ "packageDependencies": [
+ ["cli-boxes", "npm:2.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["clone-response", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/clone-response-npm-1.0.2-135ae8239d-71832f9219.zip/node_modules/clone-response/",
+ "packageDependencies": [
+ ["clone-response", "npm:1.0.2"],
+ ["mimic-response", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["cls-bluebird", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/cls-bluebird-npm-2.1.0-1a11680445-f3b31004a9.zip/node_modules/cls-bluebird/",
+ "packageDependencies": [
+ ["cls-bluebird", "npm:2.1.0"],
+ ["is-bluebird", "npm:1.0.2"],
+ ["shimmer", "npm:1.2.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["code-point-at", [
+ ["npm:1.1.0", {
+ "packageLocation": "./.yarn/cache/code-point-at-npm-1.1.0-37de5fe566-7d9837296e.zip/node_modules/code-point-at/",
+ "packageDependencies": [
+ ["code-point-at", "npm:1.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["color-convert", [
+ ["npm:1.9.3", {
+ "packageLocation": "./.yarn/cache/color-convert-npm-1.9.3-1fe690075e-5f244daa3d.zip/node_modules/color-convert/",
+ "packageDependencies": [
+ ["color-convert", "npm:1.9.3"],
+ ["color-name", "npm:1.1.3"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.0.1", {
+ "packageLocation": "./.yarn/cache/color-convert-npm-2.0.1-79730e935b-3d5d8a011a.zip/node_modules/color-convert/",
+ "packageDependencies": [
+ ["color-convert", "npm:2.0.1"],
+ ["color-name", "npm:1.1.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["color-name", [
+ ["npm:1.1.3", {
+ "packageLocation": "./.yarn/cache/color-name-npm-1.1.3-728b7b5d39-d8b91bb90a.zip/node_modules/color-name/",
+ "packageDependencies": [
+ ["color-name", "npm:1.1.3"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:1.1.4", {
+ "packageLocation": "./.yarn/cache/color-name-npm-1.1.4-025792b0ea-3e1c9a4dee.zip/node_modules/color-name/",
+ "packageDependencies": [
+ ["color-name", "npm:1.1.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["combined-stream", [
+ ["npm:1.0.8", {
+ "packageLocation": "./.yarn/cache/combined-stream-npm-1.0.8-dc14d4a63a-5791ce7944.zip/node_modules/combined-stream/",
+ "packageDependencies": [
+ ["combined-stream", "npm:1.0.8"],
+ ["delayed-stream", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["compare-versions", [
+ ["npm:3.6.0", {
+ "packageLocation": "./.yarn/cache/compare-versions-npm-3.6.0-0bb57ed638-0952526450.zip/node_modules/compare-versions/",
+ "packageDependencies": [
+ ["compare-versions", "npm:3.6.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["component-emitter", [
+ ["npm:1.3.0", {
+ "packageLocation": "./.yarn/cache/component-emitter-npm-1.3.0-4b848565b9-fc4edbf101.zip/node_modules/component-emitter/",
+ "packageDependencies": [
+ ["component-emitter", "npm:1.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["concat-map", [
+ ["npm:0.0.1", {
+ "packageLocation": "./.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-554e28d9ee.zip/node_modules/concat-map/",
+ "packageDependencies": [
+ ["concat-map", "npm:0.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["configstore", [
+ ["npm:5.0.1", {
+ "packageLocation": "./.yarn/cache/configstore-npm-5.0.1-739433cdc5-81dd877bf7.zip/node_modules/configstore/",
+ "packageDependencies": [
+ ["configstore", "npm:5.0.1"],
+ ["dot-prop", "npm:5.2.0"],
+ ["graceful-fs", "npm:4.2.3"],
+ ["make-dir", "npm:3.1.0"],
+ ["unique-string", "npm:2.0.0"],
+ ["write-file-atomic", "npm:3.0.3"],
+ ["xdg-basedir", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["confusing-browser-globals", [
+ ["npm:1.0.9", {
+ "packageLocation": "./.yarn/cache/confusing-browser-globals-npm-1.0.9-c5c9ec32d2-319e6d1538.zip/node_modules/confusing-browser-globals/",
+ "packageDependencies": [
+ ["confusing-browser-globals", "npm:1.0.9"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["console-control-strings", [
+ ["npm:1.1.0", {
+ "packageLocation": "./.yarn/cache/console-control-strings-npm-1.1.0-e3160e5275-58a404d951.zip/node_modules/console-control-strings/",
+ "packageDependencies": [
+ ["console-control-strings", "npm:1.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["cookiejar", [
+ ["npm:2.1.2", {
+ "packageLocation": "./.yarn/cache/cookiejar-npm-2.1.2-081d78ab06-4c733c15c1.zip/node_modules/cookiejar/",
+ "packageDependencies": [
+ ["cookiejar", "npm:2.1.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["core-util-is", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/core-util-is-npm-1.0.2-9fc2b94dc3-089015ee3c.zip/node_modules/core-util-is/",
+ "packageDependencies": [
+ ["core-util-is", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["cosmiconfig", [
+ ["npm:7.0.0", {
+ "packageLocation": "./.yarn/cache/cosmiconfig-npm-7.0.0-b9d0d7d156-151fcb9177.zip/node_modules/cosmiconfig/",
+ "packageDependencies": [
+ ["cosmiconfig", "npm:7.0.0"],
+ ["@types/parse-json", "npm:4.0.0"],
+ ["import-fresh", "npm:3.2.1"],
+ ["parse-json", "npm:5.0.0"],
+ ["path-type", "npm:4.0.0"],
+ ["yaml", "npm:1.10.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["cross-spawn", [
+ ["npm:7.0.3", {
+ "packageLocation": "./.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-51f10036f5.zip/node_modules/cross-spawn/",
+ "packageDependencies": [
+ ["cross-spawn", "npm:7.0.3"],
+ ["path-key", "npm:3.1.1"],
+ ["shebang-command", "npm:2.0.0"],
+ ["which", "npm:2.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["crypto-random-string", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/crypto-random-string-npm-2.0.0-8ab47992ef-7bc19f6caf.zip/node_modules/crypto-random-string/",
+ "packageDependencies": [
+ ["crypto-random-string", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["dashdash", [
+ ["npm:1.14.1", {
+ "packageLocation": "./.yarn/cache/dashdash-npm-1.14.1-be8f10a286-5959409ee4.zip/node_modules/dashdash/",
+ "packageDependencies": [
+ ["dashdash", "npm:1.14.1"],
+ ["assert-plus", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["debug", [
+ ["virtual:06f16ce4314489ede1782fd373bd645f3d5af2ac974979fef538e01b3ea8becd0500df8c4dacd06023014cd557e779559cef04d001a22387523c61a0010eec98#npm:4.1.1", {
+ "packageLocation": "./.yarn/$$virtual/debug-virtual-aedea5945d/0/cache/debug-npm-4.1.1-540248b3aa-3601a6ce96.zip/node_modules/debug/",
+ "packageDependencies": [
+ ["debug", "virtual:06f16ce4314489ede1782fd373bd645f3d5af2ac974979fef538e01b3ea8becd0500df8c4dacd06023014cd557e779559cef04d001a22387523c61a0010eec98#npm:4.1.1"],
+ ["ms", "npm:2.1.2"],
+ ["supports-color", null]
+ ],
+ "packagePeers": [
+ "supports-color"
+ ],
+ "linkType": "HARD",
+ }],
+ ["virtual:19bdc06f5d3c90629031fab8e37016d08b1d7b860c9915fc4ce62c7963d6a64b4507a5933a4eb45910d3c8122f83d95ab398973b0169b75ae0ffa07a6d4f756f#npm:3.2.6", {
+ "packageLocation": "./.yarn/$$virtual/debug-virtual-74dc27a068/0/cache/debug-npm-3.2.6-6214e40f12-619feb53b1.zip/node_modules/debug/",
+ "packageDependencies": [
+ ["debug", "virtual:19bdc06f5d3c90629031fab8e37016d08b1d7b860c9915fc4ce62c7963d6a64b4507a5933a4eb45910d3c8122f83d95ab398973b0169b75ae0ffa07a6d4f756f#npm:3.2.6"],
+ ["ms", "npm:2.1.2"],
+ ["supports-color", null]
+ ],
+ "packagePeers": [
+ "supports-color"
+ ],
+ "linkType": "HARD",
+ }],
+ ["virtual:533efccfd94682ecd466a58a5f392b34e0de4de31de9a671dc1fdefb92cdeea2750e4cdb6545c5f712ce24980c3d89f1ed4a11fbbcb3f8d8c94c44ea70d21f60#npm:3.2.6", {
+ "packageLocation": "./.yarn/$$virtual/debug-virtual-42b8af1966/0/cache/debug-npm-3.2.6-6214e40f12-619feb53b1.zip/node_modules/debug/",
+ "packageDependencies": [
+ ["debug", "virtual:533efccfd94682ecd466a58a5f392b34e0de4de31de9a671dc1fdefb92cdeea2750e4cdb6545c5f712ce24980c3d89f1ed4a11fbbcb3f8d8c94c44ea70d21f60#npm:3.2.6"],
+ ["ms", "npm:2.1.2"],
+ ["supports-color", "npm:5.5.0"]
+ ],
+ "packagePeers": [
+ "supports-color"
+ ],
+ "linkType": "HARD",
+ }],
+ ["virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.2.0", {
+ "packageLocation": "./.yarn/$$virtual/debug-virtual-1a94076755/0/cache/debug-npm-4.2.0-9392baba7e-dcfb8ede26.zip/node_modules/debug/",
+ "packageDependencies": [
+ ["debug", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.2.0"],
+ ["ms", "npm:2.1.2"],
+ ["supports-color", null]
+ ],
+ "packagePeers": [
+ "supports-color"
+ ],
+ "linkType": "HARD",
+ }],
+ ["virtual:bde6f435769d1a96c3f371d2e8a88314847816fb841f758b3628da60329c36f988ca42f6984dc53bb31dd306522878e1e5d568caeca7af42e4f19b238d6261b3#npm:3.1.0", {
+ "packageLocation": "./.yarn/$$virtual/debug-virtual-f2284580f9/0/cache/debug-npm-3.1.0-9f0accb99b-1295acd5e0.zip/node_modules/debug/",
+ "packageDependencies": [
+ ["debug", "virtual:bde6f435769d1a96c3f371d2e8a88314847816fb841f758b3628da60329c36f988ca42f6984dc53bb31dd306522878e1e5d568caeca7af42e4f19b238d6261b3#npm:3.1.0"],
+ ["ms", "npm:2.0.0"],
+ ["supports-color", null]
+ ],
+ "packagePeers": [
+ "supports-color"
+ ],
+ "linkType": "HARD",
+ }],
+ ["virtual:ce5f7e2bb1b7f4095649047ca6318b6ca89dc972e9361c95030a080bc15dedfcd36c6ad1bb01a681d051a8e1766899039d1a9ddceeff9d2a2c0650a4aeda303b#npm:2.6.9", {
+ "packageLocation": "./.yarn/$$virtual/debug-virtual-dcbaca40a1/0/cache/debug-npm-2.6.9-7d4cb597dc-559f44f98c.zip/node_modules/debug/",
+ "packageDependencies": [
+ ["debug", "virtual:ce5f7e2bb1b7f4095649047ca6318b6ca89dc972e9361c95030a080bc15dedfcd36c6ad1bb01a681d051a8e1766899039d1a9ddceeff9d2a2c0650a4aeda303b#npm:2.6.9"],
+ ["ms", "npm:2.0.0"],
+ ["supports-color", null]
+ ],
+ "packagePeers": [
+ "supports-color"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["decompress-response", [
+ ["npm:3.3.0", {
+ "packageLocation": "./.yarn/cache/decompress-response-npm-3.3.0-6e7b6375c3-93b0dcc8f0.zip/node_modules/decompress-response/",
+ "packageDependencies": [
+ ["decompress-response", "npm:3.3.0"],
+ ["mimic-response", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:6.0.0", {
+ "packageLocation": "./.yarn/cache/decompress-response-npm-6.0.0-359de2878c-bb8b8c42be.zip/node_modules/decompress-response/",
+ "packageDependencies": [
+ ["decompress-response", "npm:6.0.0"],
+ ["mimic-response", "npm:3.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["deep-extend", [
+ ["npm:0.6.0", {
+ "packageLocation": "./.yarn/cache/deep-extend-npm-0.6.0-e182924219-856d7f52db.zip/node_modules/deep-extend/",
+ "packageDependencies": [
+ ["deep-extend", "npm:0.6.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["deep-is", [
+ ["npm:0.1.3", {
+ "packageLocation": "./.yarn/cache/deep-is-npm-0.1.3-0941784645-3de58f86af.zip/node_modules/deep-is/",
+ "packageDependencies": [
+ ["deep-is", "npm:0.1.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["defer-to-connect", [
+ ["npm:1.1.3", {
+ "packageLocation": "./.yarn/cache/defer-to-connect-npm-1.1.3-5887885147-d8632cafae.zip/node_modules/defer-to-connect/",
+ "packageDependencies": [
+ ["defer-to-connect", "npm:1.1.3"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/defer-to-connect-npm-2.0.0-ef0ce813c8-0453938bfc.zip/node_modules/defer-to-connect/",
+ "packageDependencies": [
+ ["defer-to-connect", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["delay", [
+ ["npm:4.4.0", {
+ "packageLocation": "./.yarn/cache/delay-npm-4.4.0-a8ada74c33-cb54b19a68.zip/node_modules/delay/",
+ "packageDependencies": [
+ ["delay", "npm:4.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["delayed-stream", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/delayed-stream-npm-1.0.0-c5a4c4cc02-d9dfb0a7c7.zip/node_modules/delayed-stream/",
+ "packageDependencies": [
+ ["delayed-stream", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["delegates", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/delegates-npm-1.0.0-9b1942d75f-7459e34d29.zip/node_modules/delegates/",
+ "packageDependencies": [
+ ["delegates", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["detect-libc", [
+ ["npm:1.0.3", {
+ "packageLocation": "./.yarn/cache/detect-libc-npm-1.0.3-c30ac344d4-6cec442139.zip/node_modules/detect-libc/",
+ "packageDependencies": [
+ ["detect-libc", "npm:1.0.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["diff", [
+ ["npm:4.0.2", {
+ "packageLocation": "./.yarn/cache/diff-npm-4.0.2-73133c7102-81b5cd7ddd.zip/node_modules/diff/",
+ "packageDependencies": [
+ ["diff", "npm:4.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["dir-glob", [
+ ["npm:3.0.1", {
+ "packageLocation": "./.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-687fa3bd60.zip/node_modules/dir-glob/",
+ "packageDependencies": [
+ ["dir-glob", "npm:3.0.1"],
+ ["path-type", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["discord.js", [
+ ["npm:12.4.1", {
+ "packageLocation": "./.yarn/cache/discord.js-npm-12.4.1-92101433af-bf46264835.zip/node_modules/discord.js/",
+ "packageDependencies": [
+ ["discord.js", "npm:12.4.1"],
+ ["@discordjs/collection", "npm:0.1.6"],
+ ["@discordjs/form-data", "npm:3.0.1"],
+ ["abort-controller", "npm:3.0.0"],
+ ["node-fetch", "npm:2.6.1"],
+ ["prism-media", "virtual:92101433af3ad9086bd309efc58b49a2a279d7d9ae712eb40f87f5319a8a118dfed7413a86f4436ecf8640ac4fa5e05f64856bd8706fdb6dd1f22c5ddb2ade75#npm:1.2.2"],
+ ["setimmediate", "npm:1.0.5"],
+ ["tweetnacl", "npm:1.0.3"],
+ ["ws", "virtual:92101433af3ad9086bd309efc58b49a2a279d7d9ae712eb40f87f5319a8a118dfed7413a86f4436ecf8640ac4fa5e05f64856bd8706fdb6dd1f22c5ddb2ade75#npm:7.3.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["doctrine", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/doctrine-npm-3.0.0-c6f1615f04-2eae469bd2.zip/node_modules/doctrine/",
+ "packageDependencies": [
+ ["doctrine", "npm:3.0.0"],
+ ["esutils", "npm:2.0.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["dot-prop", [
+ ["npm:5.2.0", {
+ "packageLocation": "./.yarn/cache/dot-prop-npm-5.2.0-195360fa83-d2f62e0b5e.zip/node_modules/dot-prop/",
+ "packageDependencies": [
+ ["dot-prop", "npm:5.2.0"],
+ ["is-obj", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["dotenv", [
+ ["npm:8.2.0", {
+ "packageLocation": "./.yarn/cache/dotenv-npm-8.2.0-6b21df4d37-16cb89cbd7.zip/node_modules/dotenv/",
+ "packageDependencies": [
+ ["dotenv", "npm:8.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["dottie", [
+ ["npm:2.0.2", {
+ "packageLocation": "./.yarn/cache/dottie-npm-2.0.2-ef16765a8f-91e8553058.zip/node_modules/dottie/",
+ "packageDependencies": [
+ ["dottie", "npm:2.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["duplexer3", [
+ ["npm:0.1.4", {
+ "packageLocation": "./.yarn/cache/duplexer3-npm-0.1.4-361a33d994-2a4ae463aa.zip/node_modules/duplexer3/",
+ "packageDependencies": [
+ ["duplexer3", "npm:0.1.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ecc-jsbn", [
+ ["npm:0.1.2", {
+ "packageLocation": "./.yarn/cache/ecc-jsbn-npm-0.1.2-85b7a7be89-5b4dd05f24.zip/node_modules/ecc-jsbn/",
+ "packageDependencies": [
+ ["ecc-jsbn", "npm:0.1.2"],
+ ["jsbn", "npm:0.1.1"],
+ ["safer-buffer", "npm:2.1.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["emoji-regex", [
+ ["npm:7.0.3", {
+ "packageLocation": "./.yarn/cache/emoji-regex-npm-7.0.3-cfe9479bb3-e3a504cf52.zip/node_modules/emoji-regex/",
+ "packageDependencies": [
+ ["emoji-regex", "npm:7.0.3"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:8.0.0", {
+ "packageLocation": "./.yarn/cache/emoji-regex-npm-8.0.0-213764015c-87cf3f89ef.zip/node_modules/emoji-regex/",
+ "packageDependencies": [
+ ["emoji-regex", "npm:8.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["end-of-stream", [
+ ["npm:1.4.4", {
+ "packageLocation": "./.yarn/cache/end-of-stream-npm-1.4.4-497fc6dee1-7da60e458b.zip/node_modules/end-of-stream/",
+ "packageDependencies": [
+ ["end-of-stream", "npm:1.4.4"],
+ ["once", "npm:1.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["enquirer", [
+ ["npm:2.3.6", {
+ "packageLocation": "./.yarn/cache/enquirer-npm-2.3.6-7899175762-e249bb97bf.zip/node_modules/enquirer/",
+ "packageDependencies": [
+ ["enquirer", "npm:2.3.6"],
+ ["ansi-colors", "npm:4.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["env-paths", [
+ ["npm:2.2.0", {
+ "packageLocation": "./.yarn/cache/env-paths-npm-2.2.0-ac4ed99068-09de4fd1c0.zip/node_modules/env-paths/",
+ "packageDependencies": [
+ ["env-paths", "npm:2.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["error-ex", [
+ ["npm:1.3.2", {
+ "packageLocation": "./.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-6c6c918742.zip/node_modules/error-ex/",
+ "packageDependencies": [
+ ["error-ex", "npm:1.3.2"],
+ ["is-arrayish", "npm:0.2.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["escape-goat", [
+ ["npm:2.1.1", {
+ "packageLocation": "./.yarn/cache/escape-goat-npm-2.1.1-2e437cf3fe-8270a80ca5.zip/node_modules/escape-goat/",
+ "packageDependencies": [
+ ["escape-goat", "npm:2.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["escape-string-regexp", [
+ ["npm:1.0.5", {
+ "packageLocation": "./.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-f9484b8b4c.zip/node_modules/escape-string-regexp/",
+ "packageDependencies": [
+ ["escape-string-regexp", "npm:1.0.5"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["eslint", [
+ ["npm:7.12.0", {
+ "packageLocation": "./.yarn/cache/eslint-npm-7.12.0-2e4c3a87d5-22f86c0eba.zip/node_modules/eslint/",
+ "packageDependencies": [
+ ["eslint", "npm:7.12.0"],
+ ["@babel/code-frame", "npm:7.8.3"],
+ ["@eslint/eslintrc", "npm:0.2.0"],
+ ["ajv", "npm:6.12.0"],
+ ["chalk", "npm:4.1.0"],
+ ["cross-spawn", "npm:7.0.3"],
+ ["debug", "virtual:06f16ce4314489ede1782fd373bd645f3d5af2ac974979fef538e01b3ea8becd0500df8c4dacd06023014cd557e779559cef04d001a22387523c61a0010eec98#npm:4.1.1"],
+ ["doctrine", "npm:3.0.0"],
+ ["enquirer", "npm:2.3.6"],
+ ["eslint-scope", "npm:5.1.1"],
+ ["eslint-utils", "npm:2.1.0"],
+ ["eslint-visitor-keys", "npm:2.0.0"],
+ ["espree", "npm:7.3.0"],
+ ["esquery", "npm:1.3.1"],
+ ["esutils", "npm:2.0.3"],
+ ["file-entry-cache", "npm:5.0.1"],
+ ["functional-red-black-tree", "npm:1.0.1"],
+ ["glob-parent", "npm:5.1.0"],
+ ["globals", "npm:12.3.0"],
+ ["ignore", "npm:4.0.6"],
+ ["import-fresh", "npm:3.2.1"],
+ ["imurmurhash", "npm:0.1.4"],
+ ["is-glob", "npm:4.0.1"],
+ ["js-yaml", "npm:3.13.1"],
+ ["json-stable-stringify-without-jsonify", "npm:1.0.1"],
+ ["levn", "npm:0.4.1"],
+ ["lodash", "npm:4.17.20"],
+ ["minimatch", "npm:3.0.4"],
+ ["natural-compare", "npm:1.4.0"],
+ ["optionator", "npm:0.9.1"],
+ ["progress", "npm:2.0.3"],
+ ["regexpp", "npm:3.1.0"],
+ ["semver", "npm:7.3.2"],
+ ["strip-ansi", "npm:6.0.0"],
+ ["strip-json-comments", "npm:3.1.1"],
+ ["table", "npm:5.4.6"],
+ ["text-table", "npm:0.2.0"],
+ ["v8-compile-cache", "npm:2.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["eslint-config-xo", [
+ ["virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:0.33.1", {
+ "packageLocation": "./.yarn/$$virtual/eslint-config-xo-virtual-63b8a5ca2a/0/cache/eslint-config-xo-npm-0.33.1-15576d1fcf-fe417ecfb3.zip/node_modules/eslint-config-xo/",
+ "packageDependencies": [
+ ["eslint-config-xo", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:0.33.1"],
+ ["@types/eslint", null],
+ ["confusing-browser-globals", "npm:1.0.9"],
+ ["eslint", "npm:7.12.0"]
+ ],
+ "packagePeers": [
+ "@types/eslint",
+ "eslint"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["eslint-config-xo-typescript", [
+ ["virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:0.35.0", {
+ "packageLocation": "./.yarn/$$virtual/eslint-config-xo-typescript-virtual-7f74849808/0/cache/eslint-config-xo-typescript-npm-0.35.0-76195c98c7-558f27204e.zip/node_modules/eslint-config-xo-typescript/",
+ "packageDependencies": [
+ ["eslint-config-xo-typescript", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:0.35.0"],
+ ["@types/eslint", null],
+ ["@types/typescript", null],
+ ["@types/typescript-eslint__eslint-plugin", null],
+ ["@typescript-eslint/eslint-plugin", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.5.0"],
+ ["eslint", "npm:7.12.0"],
+ ["typescript", "patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698"]
+ ],
+ "packagePeers": [
+ "@types/eslint",
+ "@types/typescript-eslint__eslint-plugin",
+ "@types/typescript",
+ "@typescript-eslint/eslint-plugin",
+ "eslint",
+ "typescript"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["eslint-scope", [
+ ["npm:5.0.0", {
+ "packageLocation": "./.yarn/cache/eslint-scope-npm-5.0.0-16bd164da6-296e85c180.zip/node_modules/eslint-scope/",
+ "packageDependencies": [
+ ["eslint-scope", "npm:5.0.0"],
+ ["esrecurse", "npm:4.2.1"],
+ ["estraverse", "npm:4.3.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.1.1", {
+ "packageLocation": "./.yarn/cache/eslint-scope-npm-5.1.1-71fe59b18a-79465cf508.zip/node_modules/eslint-scope/",
+ "packageDependencies": [
+ ["eslint-scope", "npm:5.1.1"],
+ ["esrecurse", "npm:4.3.0"],
+ ["estraverse", "npm:4.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["eslint-utils", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/eslint-utils-npm-2.0.0-63c900b5d2-37962274e6.zip/node_modules/eslint-utils/",
+ "packageDependencies": [
+ ["eslint-utils", "npm:2.0.0"],
+ ["eslint-visitor-keys", "npm:1.1.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/eslint-utils-npm-2.1.0-a3a7ebf4fa-a43892372a.zip/node_modules/eslint-utils/",
+ "packageDependencies": [
+ ["eslint-utils", "npm:2.1.0"],
+ ["eslint-visitor-keys", "npm:1.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["eslint-visitor-keys", [
+ ["npm:1.1.0", {
+ "packageLocation": "./.yarn/cache/eslint-visitor-keys-npm-1.1.0-58aec922ec-4bcd3d91e6.zip/node_modules/eslint-visitor-keys/",
+ "packageDependencies": [
+ ["eslint-visitor-keys", "npm:1.1.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:1.3.0", {
+ "packageLocation": "./.yarn/cache/eslint-visitor-keys-npm-1.3.0-c07780a0fb-58ab7a0107.zip/node_modules/eslint-visitor-keys/",
+ "packageDependencies": [
+ ["eslint-visitor-keys", "npm:1.3.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/eslint-visitor-keys-npm-2.0.0-5c9523822c-429dabdcab.zip/node_modules/eslint-visitor-keys/",
+ "packageDependencies": [
+ ["eslint-visitor-keys", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["espree", [
+ ["npm:7.3.0", {
+ "packageLocation": "./.yarn/cache/espree-npm-7.3.0-d2b7d87b7d-dd2543c293.zip/node_modules/espree/",
+ "packageDependencies": [
+ ["espree", "npm:7.3.0"],
+ ["acorn", "npm:7.4.0"],
+ ["acorn-jsx", "virtual:d2b7d87b7d1b24ae28c976e6a4dd1f4502c0b4861c48ac890edb4bef9b304b0f14bb5b927b0e2264534c1a0de7bfcddcb87164733cca942d507282121e821e10#npm:5.2.0"],
+ ["eslint-visitor-keys", "npm:1.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["esprima", [
+ ["npm:4.0.1", {
+ "packageLocation": "./.yarn/cache/esprima-npm-4.0.1-1084e98778-5df45a3d9c.zip/node_modules/esprima/",
+ "packageDependencies": [
+ ["esprima", "npm:4.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["esquery", [
+ ["npm:1.3.1", {
+ "packageLocation": "./.yarn/cache/esquery-npm-1.3.1-2ba3c93f30-0aac7572bc.zip/node_modules/esquery/",
+ "packageDependencies": [
+ ["esquery", "npm:1.3.1"],
+ ["estraverse", "npm:5.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["esrecurse", [
+ ["npm:4.2.1", {
+ "packageLocation": "./.yarn/cache/esrecurse-npm-4.2.1-9ebee4c3b1-9acfa28772.zip/node_modules/esrecurse/",
+ "packageDependencies": [
+ ["esrecurse", "npm:4.2.1"],
+ ["estraverse", "npm:4.3.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.3.0", {
+ "packageLocation": "./.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-2c96302dd5.zip/node_modules/esrecurse/",
+ "packageDependencies": [
+ ["esrecurse", "npm:4.3.0"],
+ ["estraverse", "npm:5.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["estraverse", [
+ ["npm:4.3.0", {
+ "packageLocation": "./.yarn/cache/estraverse-npm-4.3.0-920a32f3c6-1e4c627da9.zip/node_modules/estraverse/",
+ "packageDependencies": [
+ ["estraverse", "npm:4.3.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.2.0", {
+ "packageLocation": "./.yarn/cache/estraverse-npm-5.2.0-b2e8e36350-7dc1b027ae.zip/node_modules/estraverse/",
+ "packageDependencies": [
+ ["estraverse", "npm:5.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["esutils", [
+ ["npm:2.0.3", {
+ "packageLocation": "./.yarn/cache/esutils-npm-2.0.3-f865beafd5-590b045331.zip/node_modules/esutils/",
+ "packageDependencies": [
+ ["esutils", "npm:2.0.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["event-target-shim", [
+ ["npm:5.0.1", {
+ "packageLocation": "./.yarn/cache/event-target-shim-npm-5.0.1-cb48709025-d176477a31.zip/node_modules/event-target-shim/",
+ "packageDependencies": [
+ ["event-target-shim", "npm:5.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["extend", [
+ ["npm:3.0.2", {
+ "packageLocation": "./.yarn/cache/extend-npm-3.0.2-e1ca07ac54-1406da1f0c.zip/node_modules/extend/",
+ "packageDependencies": [
+ ["extend", "npm:3.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["extsprintf", [
+ ["npm:1.3.0", {
+ "packageLocation": "./.yarn/cache/extsprintf-npm-1.3.0-61a92b324c-892efd56aa.zip/node_modules/extsprintf/",
+ "packageDependencies": [
+ ["extsprintf", "npm:1.3.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:1.4.0", {
+ "packageLocation": "./.yarn/cache/extsprintf-npm-1.4.0-2b015bcaab-092e011574.zip/node_modules/extsprintf/",
+ "packageDependencies": [
+ ["extsprintf", "npm:1.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fast-deep-equal", [
+ ["npm:3.1.1", {
+ "packageLocation": "./.yarn/cache/fast-deep-equal-npm-3.1.1-cbd83be021-38fe57c5ea.zip/node_modules/fast-deep-equal/",
+ "packageDependencies": [
+ ["fast-deep-equal", "npm:3.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fast-glob", [
+ ["npm:3.2.4", {
+ "packageLocation": "./.yarn/cache/fast-glob-npm-3.2.4-be5d1d4c86-18f9eca898.zip/node_modules/fast-glob/",
+ "packageDependencies": [
+ ["fast-glob", "npm:3.2.4"],
+ ["@nodelib/fs.stat", "npm:2.0.3"],
+ ["@nodelib/fs.walk", "npm:1.2.4"],
+ ["glob-parent", "npm:5.1.1"],
+ ["merge2", "npm:1.4.1"],
+ ["micromatch", "npm:4.0.2"],
+ ["picomatch", "npm:2.2.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fast-json-stable-stringify", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-7df3fabfe4.zip/node_modules/fast-json-stable-stringify/",
+ "packageDependencies": [
+ ["fast-json-stable-stringify", "npm:2.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fast-levenshtein", [
+ ["npm:2.0.6", {
+ "packageLocation": "./.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-a2d03af308.zip/node_modules/fast-levenshtein/",
+ "packageDependencies": [
+ ["fast-levenshtein", "npm:2.0.6"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fast-safe-stringify", [
+ ["npm:2.0.7", {
+ "packageLocation": "./.yarn/cache/fast-safe-stringify-npm-2.0.7-4c71091538-7bd2254326.zip/node_modules/fast-safe-stringify/",
+ "packageDependencies": [
+ ["fast-safe-stringify", "npm:2.0.7"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fastq", [
+ ["npm:1.8.0", {
+ "packageLocation": "./.yarn/cache/fastq-npm-1.8.0-4c0923de4a-77d71545ba.zip/node_modules/fastq/",
+ "packageDependencies": [
+ ["fastq", "npm:1.8.0"],
+ ["reusify", "npm:1.0.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["file-entry-cache", [
+ ["npm:5.0.1", {
+ "packageLocation": "./.yarn/cache/file-entry-cache-npm-5.0.1-7212af17f3-7140588bec.zip/node_modules/file-entry-cache/",
+ "packageDependencies": [
+ ["file-entry-cache", "npm:5.0.1"],
+ ["flat-cache", "npm:2.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fill-range", [
+ ["npm:7.0.1", {
+ "packageLocation": "./.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-efca43d59b.zip/node_modules/fill-range/",
+ "packageDependencies": [
+ ["fill-range", "npm:7.0.1"],
+ ["to-regex-range", "npm:5.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["find-up", [
+ ["npm:4.1.0", {
+ "packageLocation": "./.yarn/cache/find-up-npm-4.1.0-c3ccf8d855-d612d28e02.zip/node_modules/find-up/",
+ "packageDependencies": [
+ ["find-up", "npm:4.1.0"],
+ ["locate-path", "npm:5.0.0"],
+ ["path-exists", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["find-versions", [
+ ["npm:3.2.0", {
+ "packageLocation": "./.yarn/cache/find-versions-npm-3.2.0-2a87d094e9-2ddc16b426.zip/node_modules/find-versions/",
+ "packageDependencies": [
+ ["find-versions", "npm:3.2.0"],
+ ["semver-regex", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["flat-cache", [
+ ["npm:2.0.1", {
+ "packageLocation": "./.yarn/cache/flat-cache-npm-2.0.1-abf037b0b9-a36ba40755.zip/node_modules/flat-cache/",
+ "packageDependencies": [
+ ["flat-cache", "npm:2.0.1"],
+ ["flatted", "npm:2.0.1"],
+ ["rimraf", "npm:2.6.3"],
+ ["write", "npm:1.0.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["flatted", [
+ ["npm:2.0.1", {
+ "packageLocation": "./.yarn/cache/flatted-npm-2.0.1-a100b7c783-dd5140cc40.zip/node_modules/flatted/",
+ "packageDependencies": [
+ ["flatted", "npm:2.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fluent-ffmpeg", [
+ ["npm:2.1.2", {
+ "packageLocation": "./.yarn/cache/fluent-ffmpeg-npm-2.1.2-692c218f68-c86a0e4f9f.zip/node_modules/fluent-ffmpeg/",
+ "packageDependencies": [
+ ["fluent-ffmpeg", "npm:2.1.2"],
+ ["async", "npm:3.2.0"],
+ ["which", "npm:1.3.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["follow-redirects", [
+ ["npm:1.5.10", {
+ "packageLocation": "./.yarn/cache/follow-redirects-npm-1.5.10-bde6f43576-6e58e02c31.zip/node_modules/follow-redirects/",
+ "packageDependencies": [
+ ["follow-redirects", "npm:1.5.10"],
+ ["debug", "virtual:bde6f435769d1a96c3f371d2e8a88314847816fb841f758b3628da60329c36f988ca42f6984dc53bb31dd306522878e1e5d568caeca7af42e4f19b238d6261b3#npm:3.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["forever-agent", [
+ ["npm:0.6.1", {
+ "packageLocation": "./.yarn/cache/forever-agent-npm-0.6.1-01dae53bf9-9cc0054dd4.zip/node_modules/forever-agent/",
+ "packageDependencies": [
+ ["forever-agent", "npm:0.6.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["form-data", [
+ ["npm:2.3.3", {
+ "packageLocation": "./.yarn/cache/form-data-npm-2.3.3-c016cc11c0-862e686b10.zip/node_modules/form-data/",
+ "packageDependencies": [
+ ["form-data", "npm:2.3.3"],
+ ["asynckit", "npm:0.4.0"],
+ ["combined-stream", "npm:1.0.8"],
+ ["mime-types", "npm:2.1.26"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/form-data-npm-3.0.0-b01f488350-1af88217b4.zip/node_modules/form-data/",
+ "packageDependencies": [
+ ["form-data", "npm:3.0.0"],
+ ["asynckit", "npm:0.4.0"],
+ ["combined-stream", "npm:1.0.8"],
+ ["mime-types", "npm:2.1.26"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["formidable", [
+ ["npm:1.2.2", {
+ "packageLocation": "./.yarn/cache/formidable-npm-1.2.2-0f629105a1-9fe5ef38d5.zip/node_modules/formidable/",
+ "packageDependencies": [
+ ["formidable", "npm:1.2.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fs-capacitor", [
+ ["npm:6.2.0", {
+ "packageLocation": "./.yarn/cache/fs-capacitor-npm-6.2.0-9582572fc3-015a34427d.zip/node_modules/fs-capacitor/",
+ "packageDependencies": [
+ ["fs-capacitor", "npm:6.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fs-minipass", [
+ ["npm:1.2.7", {
+ "packageLocation": "./.yarn/cache/fs-minipass-npm-1.2.7-0e18342ce1-eb59a93065.zip/node_modules/fs-minipass/",
+ "packageDependencies": [
+ ["fs-minipass", "npm:1.2.7"],
+ ["minipass", "npm:2.9.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-e14a490658.zip/node_modules/fs-minipass/",
+ "packageDependencies": [
+ ["fs-minipass", "npm:2.1.0"],
+ ["minipass", "npm:3.1.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fs.realpath", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/fs.realpath-npm-1.0.0-c8f05d8126-698a91b169.zip/node_modules/fs.realpath/",
+ "packageDependencies": [
+ ["fs.realpath", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fsevents", [
+ ["patch:fsevents@npm%3A2.1.2#builtin<compat/fsevents>::version=2.1.2&hash=127e8e", {
+ "packageLocation": "./.yarn/unplugged/fsevents-patch-ce132431d1/node_modules/fsevents/",
+ "packageDependencies": [
+ ["fsevents", "patch:fsevents@npm%3A2.1.2#builtin<compat/fsevents>::version=2.1.2&hash=127e8e"],
+ ["node-gyp", "npm:7.1.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["fstream", [
+ ["npm:1.0.12", {
+ "packageLocation": "./.yarn/cache/fstream-npm-1.0.12-db27e8a713-61c76d2c8d.zip/node_modules/fstream/",
+ "packageDependencies": [
+ ["fstream", "npm:1.0.12"],
+ ["graceful-fs", "npm:4.2.3"],
+ ["inherits", "npm:2.0.4"],
+ ["mkdirp", "npm:0.5.5"],
+ ["rimraf", "npm:2.7.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["functional-red-black-tree", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/functional-red-black-tree-npm-1.0.1-ccfe924dcd-477ecaf62d.zip/node_modules/functional-red-black-tree/",
+ "packageDependencies": [
+ ["functional-red-black-tree", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["gauge", [
+ ["npm:2.7.4", {
+ "packageLocation": "./.yarn/cache/gauge-npm-2.7.4-2189a73529-b136dbeb8e.zip/node_modules/gauge/",
+ "packageDependencies": [
+ ["gauge", "npm:2.7.4"],
+ ["aproba", "npm:1.2.0"],
+ ["console-control-strings", "npm:1.1.0"],
+ ["has-unicode", "npm:2.0.1"],
+ ["object-assign", "npm:4.1.1"],
+ ["signal-exit", "npm:3.0.2"],
+ ["string-width", "npm:1.0.2"],
+ ["strip-ansi", "npm:3.0.1"],
+ ["wide-align", "npm:1.1.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["get-stream", [
+ ["npm:4.1.0", {
+ "packageLocation": "./.yarn/cache/get-stream-npm-4.1.0-314d430a5d-f41bb3c74d.zip/node_modules/get-stream/",
+ "packageDependencies": [
+ ["get-stream", "npm:4.1.0"],
+ ["pump", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.1.0", {
+ "packageLocation": "./.yarn/cache/get-stream-npm-5.1.0-29a3aa3558-599dad0b6b.zip/node_modules/get-stream/",
+ "packageDependencies": [
+ ["get-stream", "npm:5.1.0"],
+ ["pump", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["get-youtube-id", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/get-youtube-id-npm-1.0.1-df12f04a6c-705f99e1d5.zip/node_modules/get-youtube-id/",
+ "packageDependencies": [
+ ["get-youtube-id", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["getpass", [
+ ["npm:0.1.7", {
+ "packageLocation": "./.yarn/cache/getpass-npm-0.1.7-519164a3be-2650725bc6.zip/node_modules/getpass/",
+ "packageDependencies": [
+ ["getpass", "npm:0.1.7"],
+ ["assert-plus", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["glob", [
+ ["npm:7.1.2", {
+ "packageLocation": "./.yarn/cache/glob-npm-7.1.2-bc8e861435-eeb466da84.zip/node_modules/glob/",
+ "packageDependencies": [
+ ["glob", "npm:7.1.2"],
+ ["fs.realpath", "npm:1.0.0"],
+ ["inflight", "npm:1.0.6"],
+ ["inherits", "npm:2.0.4"],
+ ["minimatch", "npm:3.0.4"],
+ ["once", "npm:1.4.0"],
+ ["path-is-absolute", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:7.1.6", {
+ "packageLocation": "./.yarn/cache/glob-npm-7.1.6-1ce3a5189a-789977b524.zip/node_modules/glob/",
+ "packageDependencies": [
+ ["glob", "npm:7.1.6"],
+ ["fs.realpath", "npm:1.0.0"],
+ ["inflight", "npm:1.0.6"],
+ ["inherits", "npm:2.0.4"],
+ ["minimatch", "npm:3.0.4"],
+ ["once", "npm:1.4.0"],
+ ["path-is-absolute", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["glob-parent", [
+ ["npm:5.1.0", {
+ "packageLocation": "./.yarn/cache/glob-parent-npm-5.1.0-8e781a1aff-da8fb21548.zip/node_modules/glob-parent/",
+ "packageDependencies": [
+ ["glob-parent", "npm:5.1.0"],
+ ["is-glob", "npm:4.0.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.1.1", {
+ "packageLocation": "./.yarn/cache/glob-parent-npm-5.1.1-57b061cd88-2af6e196fb.zip/node_modules/glob-parent/",
+ "packageDependencies": [
+ ["glob-parent", "npm:5.1.1"],
+ ["is-glob", "npm:4.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["global-dirs", [
+ ["npm:2.0.1", {
+ "packageLocation": "./.yarn/cache/global-dirs-npm-2.0.1-db647d4aca-8dfdc04e84.zip/node_modules/global-dirs/",
+ "packageDependencies": [
+ ["global-dirs", "npm:2.0.1"],
+ ["ini", "npm:1.3.5"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["globals", [
+ ["npm:12.3.0", {
+ "packageLocation": "./.yarn/cache/globals-npm-12.3.0-b784106451-9df75e1f0e.zip/node_modules/globals/",
+ "packageDependencies": [
+ ["globals", "npm:12.3.0"],
+ ["type-fest", "npm:0.8.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["globby", [
+ ["npm:11.0.1", {
+ "packageLocation": "./.yarn/cache/globby-npm-11.0.1-b32c0f1cff-e7239e9e46.zip/node_modules/globby/",
+ "packageDependencies": [
+ ["globby", "npm:11.0.1"],
+ ["array-union", "npm:2.1.0"],
+ ["dir-glob", "npm:3.0.1"],
+ ["fast-glob", "npm:3.2.4"],
+ ["ignore", "npm:5.1.8"],
+ ["merge2", "npm:1.4.1"],
+ ["slash", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["got", [
+ ["npm:11.8.0", {
+ "packageLocation": "./.yarn/cache/got-npm-11.8.0-f85797ae8b-9ad3dddd72.zip/node_modules/got/",
+ "packageDependencies": [
+ ["got", "npm:11.8.0"],
+ ["@sindresorhus/is", "npm:4.0.0"],
+ ["@szmarczak/http-timer", "npm:4.0.5"],
+ ["@types/cacheable-request", "npm:6.0.1"],
+ ["@types/responselike", "npm:1.0.0"],
+ ["cacheable-lookup", "npm:5.0.3"],
+ ["cacheable-request", "npm:7.0.1"],
+ ["decompress-response", "npm:6.0.0"],
+ ["http2-wrapper", "npm:1.0.0-beta.5.2"],
+ ["lowercase-keys", "npm:2.0.0"],
+ ["p-cancelable", "npm:2.0.0"],
+ ["responselike", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:9.6.0", {
+ "packageLocation": "./.yarn/cache/got-npm-9.6.0-80edc15fd0-4cfb862eb7.zip/node_modules/got/",
+ "packageDependencies": [
+ ["got", "npm:9.6.0"],
+ ["@sindresorhus/is", "npm:0.14.0"],
+ ["@szmarczak/http-timer", "npm:1.1.2"],
+ ["@types/keyv", "npm:3.1.1"],
+ ["@types/responselike", "npm:1.0.0"],
+ ["cacheable-request", "npm:6.1.0"],
+ ["decompress-response", "npm:3.3.0"],
+ ["duplexer3", "npm:0.1.4"],
+ ["get-stream", "npm:4.1.0"],
+ ["lowercase-keys", "npm:1.0.1"],
+ ["mimic-response", "npm:1.0.1"],
+ ["p-cancelable", "npm:1.1.0"],
+ ["to-readable-stream", "npm:1.0.0"],
+ ["url-parse-lax", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["graceful-fs", [
+ ["npm:4.2.3", {
+ "packageLocation": "./.yarn/cache/graceful-fs-npm-4.2.3-05a65851d1-67b7e3f6a6.zip/node_modules/graceful-fs/",
+ "packageDependencies": [
+ ["graceful-fs", "npm:4.2.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["har-schema", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/har-schema-npm-2.0.0-3a318c0ca5-e27ac33a96.zip/node_modules/har-schema/",
+ "packageDependencies": [
+ ["har-schema", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["har-validator", [
+ ["npm:5.1.3", {
+ "packageLocation": "./.yarn/cache/har-validator-npm-5.1.3-f192d43c41-64cb2294c1.zip/node_modules/har-validator/",
+ "packageDependencies": [
+ ["har-validator", "npm:5.1.3"],
+ ["ajv", "npm:6.12.0"],
+ ["har-schema", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["has-flag", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/has-flag-npm-3.0.0-16ac11fe05-63aade480d.zip/node_modules/has-flag/",
+ "packageDependencies": [
+ ["has-flag", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/has-flag-npm-4.0.0-32af9f0536-2e5391139d.zip/node_modules/has-flag/",
+ "packageDependencies": [
+ ["has-flag", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["has-unicode", [
+ ["npm:2.0.1", {
+ "packageLocation": "./.yarn/cache/has-unicode-npm-2.0.1-893adb4747-ed3719f95c.zip/node_modules/has-unicode/",
+ "packageDependencies": [
+ ["has-unicode", "npm:2.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["has-yarn", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/has-yarn-npm-2.1.0-b73f6750d9-105682f263.zip/node_modules/has-yarn/",
+ "packageDependencies": [
+ ["has-yarn", "npm:2.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["hasha", [
+ ["npm:5.2.2", {
+ "packageLocation": "./.yarn/cache/hasha-npm-5.2.2-d171116d12-50adf6a312.zip/node_modules/hasha/",
+ "packageDependencies": [
+ ["hasha", "npm:5.2.2"],
+ ["is-stream", "npm:2.0.0"],
+ ["type-fest", "npm:0.8.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["html-entities", [
+ ["npm:1.3.1", {
+ "packageLocation": "./.yarn/cache/html-entities-npm-1.3.1-5f280346c8-53d37e5161.zip/node_modules/html-entities/",
+ "packageDependencies": [
+ ["html-entities", "npm:1.3.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["http-cache-semantics", [
+ ["npm:4.1.0", {
+ "packageLocation": "./.yarn/cache/http-cache-semantics-npm-4.1.0-860520a31f-451df9784a.zip/node_modules/http-cache-semantics/",
+ "packageDependencies": [
+ ["http-cache-semantics", "npm:4.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["http-signature", [
+ ["npm:1.2.0", {
+ "packageLocation": "./.yarn/cache/http-signature-npm-1.2.0-ee92426f34-d28227eed3.zip/node_modules/http-signature/",
+ "packageDependencies": [
+ ["http-signature", "npm:1.2.0"],
+ ["assert-plus", "npm:1.0.0"],
+ ["jsprim", "npm:1.4.1"],
+ ["sshpk", "npm:1.16.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["http2-wrapper", [
+ ["npm:1.0.0-beta.5.2", {
+ "packageLocation": "./.yarn/cache/http2-wrapper-npm-1.0.0-beta.5.2-3ea360ab61-74db457c83.zip/node_modules/http2-wrapper/",
+ "packageDependencies": [
+ ["http2-wrapper", "npm:1.0.0-beta.5.2"],
+ ["quick-lru", "npm:5.1.1"],
+ ["resolve-alpn", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["husky", [
+ ["npm:4.3.0", {
+ "packageLocation": "./.yarn/unplugged/husky-npm-4.3.0-b6c2d49d0e/node_modules/husky/",
+ "packageDependencies": [
+ ["husky", "npm:4.3.0"],
+ ["chalk", "npm:4.1.0"],
+ ["ci-info", "npm:2.0.0"],
+ ["compare-versions", "npm:3.6.0"],
+ ["cosmiconfig", "npm:7.0.0"],
+ ["find-versions", "npm:3.2.0"],
+ ["opencollective-postinstall", "npm:2.0.2"],
+ ["pkg-dir", "npm:4.2.0"],
+ ["please-upgrade-node", "npm:3.2.0"],
+ ["slash", "npm:3.0.0"],
+ ["which-pm-runs", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["iconv-lite", [
+ ["npm:0.4.24", {
+ "packageLocation": "./.yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-a9b9521066.zip/node_modules/iconv-lite/",
+ "packageDependencies": [
+ ["iconv-lite", "npm:0.4.24"],
+ ["safer-buffer", "npm:2.1.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ignore", [
+ ["npm:4.0.6", {
+ "packageLocation": "./.yarn/cache/ignore-npm-4.0.6-66c0d6543e-8f7b7f7c26.zip/node_modules/ignore/",
+ "packageDependencies": [
+ ["ignore", "npm:4.0.6"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.1.8", {
+ "packageLocation": "./.yarn/cache/ignore-npm-5.1.8-aa9a49ada4-b08e3d5b5d.zip/node_modules/ignore/",
+ "packageDependencies": [
+ ["ignore", "npm:5.1.8"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ignore-by-default", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/ignore-by-default-npm-1.0.1-78ea10bc54-c5c70afd7c.zip/node_modules/ignore-by-default/",
+ "packageDependencies": [
+ ["ignore-by-default", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ignore-walk", [
+ ["npm:3.0.3", {
+ "packageLocation": "./.yarn/cache/ignore-walk-npm-3.0.3-7d7a6bd656-08394ce8c4.zip/node_modules/ignore-walk/",
+ "packageDependencies": [
+ ["ignore-walk", "npm:3.0.3"],
+ ["minimatch", "npm:3.0.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["import-fresh", [
+ ["npm:3.2.1", {
+ "packageLocation": "./.yarn/cache/import-fresh-npm-3.2.1-b4f6711244-5ace950631.zip/node_modules/import-fresh/",
+ "packageDependencies": [
+ ["import-fresh", "npm:3.2.1"],
+ ["parent-module", "npm:1.0.1"],
+ ["resolve-from", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["import-lazy", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/import-lazy-npm-2.1.0-b128ce6959-4907a2ddbe.zip/node_modules/import-lazy/",
+ "packageDependencies": [
+ ["import-lazy", "npm:2.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["imurmurhash", [
+ ["npm:0.1.4", {
+ "packageLocation": "./.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-34d414d789.zip/node_modules/imurmurhash/",
+ "packageDependencies": [
+ ["imurmurhash", "npm:0.1.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["inflection", [
+ ["npm:1.12.0", {
+ "packageLocation": "./.yarn/cache/inflection-npm-1.12.0-528e724bc4-b08d8b92fc.zip/node_modules/inflection/",
+ "packageDependencies": [
+ ["inflection", "npm:1.12.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["inflight", [
+ ["npm:1.0.6", {
+ "packageLocation": "./.yarn/cache/inflight-npm-1.0.6-ccedb4b908-17c53fc42c.zip/node_modules/inflight/",
+ "packageDependencies": [
+ ["inflight", "npm:1.0.6"],
+ ["once", "npm:1.4.0"],
+ ["wrappy", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["inherits", [
+ ["npm:2.0.4", {
+ "packageLocation": "./.yarn/cache/inherits-npm-2.0.4-c66b3957a0-98426da247.zip/node_modules/inherits/",
+ "packageDependencies": [
+ ["inherits", "npm:2.0.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ini", [
+ ["npm:1.3.5", {
+ "packageLocation": "./.yarn/cache/ini-npm-1.3.5-c4f62924bc-304a78d1e0.zip/node_modules/ini/",
+ "packageDependencies": [
+ ["ini", "npm:1.3.5"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["inversify", [
+ ["npm:5.0.1", {
+ "packageLocation": "./.yarn/cache/inversify-npm-5.0.1-6f6ad10d83-f06e76e4dd.zip/node_modules/inversify/",
+ "packageDependencies": [
+ ["inversify", "npm:5.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-arrayish", [
+ ["npm:0.2.1", {
+ "packageLocation": "./.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-fc2bbe14db.zip/node_modules/is-arrayish/",
+ "packageDependencies": [
+ ["is-arrayish", "npm:0.2.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-binary-path", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/is-binary-path-npm-2.1.0-e61d46f557-49a1446a3c.zip/node_modules/is-binary-path/",
+ "packageDependencies": [
+ ["is-binary-path", "npm:2.1.0"],
+ ["binary-extensions", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-bluebird", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/is-bluebird-npm-1.0.2-5cb8e3b80c-88981b25d8.zip/node_modules/is-bluebird/",
+ "packageDependencies": [
+ ["is-bluebird", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-ci", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/is-ci-npm-2.0.0-8662a0f445-09083018ed.zip/node_modules/is-ci/",
+ "packageDependencies": [
+ ["is-ci", "npm:2.0.0"],
+ ["ci-info", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-extglob", [
+ ["npm:2.1.1", {
+ "packageLocation": "./.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-ca623e2c56.zip/node_modules/is-extglob/",
+ "packageDependencies": [
+ ["is-extglob", "npm:2.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-fullwidth-code-point", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/is-fullwidth-code-point-npm-1.0.0-0e436ba1ef-fc3d51ef08.zip/node_modules/is-fullwidth-code-point/",
+ "packageDependencies": [
+ ["is-fullwidth-code-point", "npm:1.0.0"],
+ ["number-is-nan", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/is-fullwidth-code-point-npm-2.0.0-507f56ec71-e1e5284f84.zip/node_modules/is-fullwidth-code-point/",
+ "packageDependencies": [
+ ["is-fullwidth-code-point", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-a01a19ecac.zip/node_modules/is-fullwidth-code-point/",
+ "packageDependencies": [
+ ["is-fullwidth-code-point", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-glob", [
+ ["npm:4.0.1", {
+ "packageLocation": "./.yarn/cache/is-glob-npm-4.0.1-341760116f-98cd4f715f.zip/node_modules/is-glob/",
+ "packageDependencies": [
+ ["is-glob", "npm:4.0.1"],
+ ["is-extglob", "npm:2.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-installed-globally", [
+ ["npm:0.3.2", {
+ "packageLocation": "./.yarn/cache/is-installed-globally-npm-0.3.2-a593acf078-10fc4fb09f.zip/node_modules/is-installed-globally/",
+ "packageDependencies": [
+ ["is-installed-globally", "npm:0.3.2"],
+ ["global-dirs", "npm:2.0.1"],
+ ["is-path-inside", "npm:3.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-npm", [
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/is-npm-npm-4.0.0-86d312340b-94ab2edae3.zip/node_modules/is-npm/",
+ "packageDependencies": [
+ ["is-npm", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-number", [
+ ["npm:7.0.0", {
+ "packageLocation": "./.yarn/cache/is-number-npm-7.0.0-060086935c-eec6e506c6.zip/node_modules/is-number/",
+ "packageDependencies": [
+ ["is-number", "npm:7.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-obj", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/is-obj-npm-2.0.0-3d95e053f4-ffa67ed5df.zip/node_modules/is-obj/",
+ "packageDependencies": [
+ ["is-obj", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-path-inside", [
+ ["npm:3.0.2", {
+ "packageLocation": "./.yarn/cache/is-path-inside-npm-3.0.2-e675e113cb-709ba85a71.zip/node_modules/is-path-inside/",
+ "packageDependencies": [
+ ["is-path-inside", "npm:3.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-stream", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/is-stream-npm-2.0.0-1401f82ad7-f92ba04a8b.zip/node_modules/is-stream/",
+ "packageDependencies": [
+ ["is-stream", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-typedarray", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/is-typedarray-npm-1.0.0-bbd99de5b6-4e21156e73.zip/node_modules/is-typedarray/",
+ "packageDependencies": [
+ ["is-typedarray", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["is-yarn-global", [
+ ["npm:0.3.0", {
+ "packageLocation": "./.yarn/cache/is-yarn-global-npm-0.3.0-18cad00879-5a66f706f2.zip/node_modules/is-yarn-global/",
+ "packageDependencies": [
+ ["is-yarn-global", "npm:0.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["isarray", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/isarray-npm-1.0.0-db4f547720-b0ff31a290.zip/node_modules/isarray/",
+ "packageDependencies": [
+ ["isarray", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["isexe", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/isexe-npm-2.0.0-b58870bd2e-7b437980bb.zip/node_modules/isexe/",
+ "packageDependencies": [
+ ["isexe", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["iso8601-duration", [
+ ["npm:1.2.0", {
+ "packageLocation": "./.yarn/cache/iso8601-duration-npm-1.2.0-48a7ff3ffa-dc83921492.zip/node_modules/iso8601-duration/",
+ "packageDependencies": [
+ ["iso8601-duration", "npm:1.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["isstream", [
+ ["npm:0.1.2", {
+ "packageLocation": "./.yarn/cache/isstream-npm-0.1.2-8581c75385-8e6e5c4cf1.zip/node_modules/isstream/",
+ "packageDependencies": [
+ ["isstream", "npm:0.1.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["js-tokens", [
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-1fc4e4667a.zip/node_modules/js-tokens/",
+ "packageDependencies": [
+ ["js-tokens", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["js-yaml", [
+ ["npm:3.13.1", {
+ "packageLocation": "./.yarn/cache/js-yaml-npm-3.13.1-3a28ff3b75-277157fdf2.zip/node_modules/js-yaml/",
+ "packageDependencies": [
+ ["js-yaml", "npm:3.13.1"],
+ ["argparse", "npm:1.0.10"],
+ ["esprima", "npm:4.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["jsbn", [
+ ["npm:0.1.1", {
+ "packageLocation": "./.yarn/cache/jsbn-npm-0.1.1-0eb7132404-b530d48a64.zip/node_modules/jsbn/",
+ "packageDependencies": [
+ ["jsbn", "npm:0.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["json-buffer", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/json-buffer-npm-3.0.0-21c267a314-09b53ecc8f.zip/node_modules/json-buffer/",
+ "packageDependencies": [
+ ["json-buffer", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.0.1", {
+ "packageLocation": "./.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-78011309cb.zip/node_modules/json-buffer/",
+ "packageDependencies": [
+ ["json-buffer", "npm:3.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["json-parse-better-errors", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/json-parse-better-errors-npm-1.0.2-7f37637d19-b4c4f0e43b.zip/node_modules/json-parse-better-errors/",
+ "packageDependencies": [
+ ["json-parse-better-errors", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["json-schema", [
+ ["npm:0.2.3", {
+ "packageLocation": "./.yarn/cache/json-schema-npm-0.2.3-018ee3dfc9-d382ea841f.zip/node_modules/json-schema/",
+ "packageDependencies": [
+ ["json-schema", "npm:0.2.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["json-schema-traverse", [
+ ["npm:0.4.1", {
+ "packageLocation": "./.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-6f71bddba3.zip/node_modules/json-schema-traverse/",
+ "packageDependencies": [
+ ["json-schema-traverse", "npm:0.4.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["json-stable-stringify-without-jsonify", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-a01b6c6541.zip/node_modules/json-stable-stringify-without-jsonify/",
+ "packageDependencies": [
+ ["json-stable-stringify-without-jsonify", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["json-stringify-safe", [
+ ["npm:5.0.1", {
+ "packageLocation": "./.yarn/cache/json-stringify-safe-npm-5.0.1-064ddd6ab4-261dfb8eb3.zip/node_modules/json-stringify-safe/",
+ "packageDependencies": [
+ ["json-stringify-safe", "npm:5.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["jsprim", [
+ ["npm:1.4.1", {
+ "packageLocation": "./.yarn/cache/jsprim-npm-1.4.1-948d2c9ec3-ee0177b7ef.zip/node_modules/jsprim/",
+ "packageDependencies": [
+ ["jsprim", "npm:1.4.1"],
+ ["assert-plus", "npm:1.0.0"],
+ ["extsprintf", "npm:1.3.0"],
+ ["json-schema", "npm:0.2.3"],
+ ["verror", "npm:1.10.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["keyv", [
+ ["npm:3.1.0", {
+ "packageLocation": "./.yarn/cache/keyv-npm-3.1.0-81c9ff4454-6bf032ee50.zip/node_modules/keyv/",
+ "packageDependencies": [
+ ["keyv", "npm:3.1.0"],
+ ["json-buffer", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/keyv-npm-4.0.0-941f620aa2-cd446a9a97.zip/node_modules/keyv/",
+ "packageDependencies": [
+ ["keyv", "npm:4.0.0"],
+ ["json-buffer", "npm:3.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["latest-version", [
+ ["npm:5.1.0", {
+ "packageLocation": "./.yarn/cache/latest-version-npm-5.1.0-ddb9b0eb39-63c1f22435.zip/node_modules/latest-version/",
+ "packageDependencies": [
+ ["latest-version", "npm:5.1.0"],
+ ["package-json", "npm:6.5.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["levn", [
+ ["npm:0.4.1", {
+ "packageLocation": "./.yarn/cache/levn-npm-0.4.1-d183b2d7bb-2f6ddfb0b9.zip/node_modules/levn/",
+ "packageDependencies": [
+ ["levn", "npm:0.4.1"],
+ ["prelude-ls", "npm:1.2.1"],
+ ["type-check", "npm:0.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["lines-and-columns", [
+ ["npm:1.1.6", {
+ "packageLocation": "./.yarn/cache/lines-and-columns-npm-1.1.6-23e74fab67-798b80ed7a.zip/node_modules/lines-and-columns/",
+ "packageDependencies": [
+ ["lines-and-columns", "npm:1.1.6"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["locate-path", [
+ ["npm:5.0.0", {
+ "packageLocation": "./.yarn/cache/locate-path-npm-5.0.0-46580c43e4-c58f49d45c.zip/node_modules/locate-path/",
+ "packageDependencies": [
+ ["locate-path", "npm:5.0.0"],
+ ["p-locate", "npm:4.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["lodash", [
+ ["npm:4.17.15", {
+ "packageLocation": "./.yarn/cache/lodash-npm-4.17.15-566d9324f7-aec3fbb757.zip/node_modules/lodash/",
+ "packageDependencies": [
+ ["lodash", "npm:4.17.15"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.17.20", {
+ "packageLocation": "./.yarn/cache/lodash-npm-4.17.20-c0db62021c-c62101d250.zip/node_modules/lodash/",
+ "packageDependencies": [
+ ["lodash", "npm:4.17.20"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["lodash.toarray", [
+ ["npm:4.4.0", {
+ "packageLocation": "./.yarn/cache/lodash.toarray-npm-4.4.0-e7e700a242-f2b8de1812.zip/node_modules/lodash.toarray/",
+ "packageDependencies": [
+ ["lodash.toarray", "npm:4.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["lowercase-keys", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/lowercase-keys-npm-1.0.1-0979e653b8-ac9d79c47d.zip/node_modules/lowercase-keys/",
+ "packageDependencies": [
+ ["lowercase-keys", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/lowercase-keys-npm-2.0.0-1876065a32-4da67f4186.zip/node_modules/lowercase-keys/",
+ "packageDependencies": [
+ ["lowercase-keys", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["m3u8stream", [
+ ["npm:0.7.1", {
+ "packageLocation": "./.yarn/cache/m3u8stream-npm-0.7.1-6ac8687179-97b8b9a004.zip/node_modules/m3u8stream/",
+ "packageDependencies": [
+ ["m3u8stream", "npm:0.7.1"],
+ ["miniget", "npm:1.7.0"],
+ ["sax", "npm:1.2.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["make-dir", [
+ ["npm:3.1.0", {
+ "packageLocation": "./.yarn/cache/make-dir-npm-3.1.0-d1d7505142-54b6f186c2.zip/node_modules/make-dir/",
+ "packageDependencies": [
+ ["make-dir", "npm:3.1.0"],
+ ["semver", "npm:6.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["make-error", [
+ ["npm:1.3.6", {
+ "packageLocation": "./.yarn/cache/make-error-npm-1.3.6-ccb85d9458-2c780bab84.zip/node_modules/make-error/",
+ "packageDependencies": [
+ ["make-error", "npm:1.3.6"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["merge2", [
+ ["npm:1.4.1", {
+ "packageLocation": "./.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7ad40d8b14.zip/node_modules/merge2/",
+ "packageDependencies": [
+ ["merge2", "npm:1.4.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["methods", [
+ ["npm:1.1.2", {
+ "packageLocation": "./.yarn/cache/methods-npm-1.1.2-92f6fdb39b-450e4ea0fd.zip/node_modules/methods/",
+ "packageDependencies": [
+ ["methods", "npm:1.1.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["micromatch", [
+ ["npm:4.0.2", {
+ "packageLocation": "./.yarn/cache/micromatch-npm-4.0.2-f059c00e51-0cb0e11d64.zip/node_modules/micromatch/",
+ "packageDependencies": [
+ ["micromatch", "npm:4.0.2"],
+ ["braces", "npm:3.0.2"],
+ ["picomatch", "npm:2.2.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["mime", [
+ ["npm:2.4.6", {
+ "packageLocation": "./.yarn/cache/mime-npm-2.4.6-253594ac3f-319ec38588.zip/node_modules/mime/",
+ "packageDependencies": [
+ ["mime", "npm:2.4.6"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["mime-db", [
+ ["npm:1.43.0", {
+ "packageLocation": "./.yarn/cache/mime-db-npm-1.43.0-b0bbde9132-756d8ac9ea.zip/node_modules/mime-db/",
+ "packageDependencies": [
+ ["mime-db", "npm:1.43.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["mime-types", [
+ ["npm:2.1.26", {
+ "packageLocation": "./.yarn/cache/mime-types-npm-2.1.26-6c5c824f25-6ab045d65e.zip/node_modules/mime-types/",
+ "packageDependencies": [
+ ["mime-types", "npm:2.1.26"],
+ ["mime-db", "npm:1.43.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["mimic-response", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/mimic-response-npm-1.0.1-f6f85dde84-64b43c717e.zip/node_modules/mimic-response/",
+ "packageDependencies": [
+ ["mimic-response", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.1.0", {
+ "packageLocation": "./.yarn/cache/mimic-response-npm-3.1.0-a4a24b4e96-cfbf19f66d.zip/node_modules/mimic-response/",
+ "packageDependencies": [
+ ["mimic-response", "npm:3.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["miniget", [
+ ["npm:1.7.0", {
+ "packageLocation": "./.yarn/cache/miniget-npm-1.7.0-2eb2b17915-44d587d1b3.zip/node_modules/miniget/",
+ "packageDependencies": [
+ ["miniget", "npm:1.7.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.0.1", {
+ "packageLocation": "./.yarn/cache/miniget-npm-2.0.1-e31aa82607-d515ae5fcc.zip/node_modules/miniget/",
+ "packageDependencies": [
+ ["miniget", "npm:2.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["minimatch", [
+ ["npm:3.0.4", {
+ "packageLocation": "./.yarn/cache/minimatch-npm-3.0.4-6e76f51c23-47eab92639.zip/node_modules/minimatch/",
+ "packageDependencies": [
+ ["minimatch", "npm:3.0.4"],
+ ["brace-expansion", "npm:1.1.11"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["minimist", [
+ ["npm:0.0.8", {
+ "packageLocation": "./.yarn/cache/minimist-npm-0.0.8-8139f8b2f5-d71c4684bc.zip/node_modules/minimist/",
+ "packageDependencies": [
+ ["minimist", "npm:0.0.8"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:1.2.0", {
+ "packageLocation": "./.yarn/cache/minimist-npm-1.2.0-214f53c090-80a1a219c0.zip/node_modules/minimist/",
+ "packageDependencies": [
+ ["minimist", "npm:1.2.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:1.2.5", {
+ "packageLocation": "./.yarn/cache/minimist-npm-1.2.5-ced0e1f617-b77b859014.zip/node_modules/minimist/",
+ "packageDependencies": [
+ ["minimist", "npm:1.2.5"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["minipass", [
+ ["npm:2.9.0", {
+ "packageLocation": "./.yarn/cache/minipass-npm-2.9.0-6335fbe4af-57a49f9523.zip/node_modules/minipass/",
+ "packageDependencies": [
+ ["minipass", "npm:2.9.0"],
+ ["safe-buffer", "npm:5.2.0"],
+ ["yallist", "npm:3.1.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.1.3", {
+ "packageLocation": "./.yarn/cache/minipass-npm-3.1.3-af723e33f3-d12b95a845.zip/node_modules/minipass/",
+ "packageDependencies": [
+ ["minipass", "npm:3.1.3"],
+ ["yallist", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["minizlib", [
+ ["npm:1.3.3", {
+ "packageLocation": "./.yarn/cache/minizlib-npm-1.3.3-b590e5bfb8-8d12782dd9.zip/node_modules/minizlib/",
+ "packageDependencies": [
+ ["minizlib", "npm:1.3.3"],
+ ["minipass", "npm:2.9.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.1.2", {
+ "packageLocation": "./.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-5a45b57b34.zip/node_modules/minizlib/",
+ "packageDependencies": [
+ ["minizlib", "npm:2.1.2"],
+ ["minipass", "npm:3.1.3"],
+ ["yallist", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["mkdirp", [
+ ["npm:0.5.1", {
+ "packageLocation": "./.yarn/cache/mkdirp-npm-0.5.1-33a164c39d-8ef65f4f0c.zip/node_modules/mkdirp/",
+ "packageDependencies": [
+ ["mkdirp", "npm:0.5.1"],
+ ["minimist", "npm:0.0.8"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:0.5.5", {
+ "packageLocation": "./.yarn/cache/mkdirp-npm-0.5.5-6bc76534fc-9dd9792e89.zip/node_modules/mkdirp/",
+ "packageDependencies": [
+ ["mkdirp", "npm:0.5.5"],
+ ["minimist", "npm:1.2.5"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:1.0.4", {
+ "packageLocation": "./.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1aa3a6a2d7.zip/node_modules/mkdirp/",
+ "packageDependencies": [
+ ["mkdirp", "npm:1.0.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["moment", [
+ ["npm:2.24.0", {
+ "packageLocation": "./.yarn/cache/moment-npm-2.24.0-d95decfdfe-983617bc51.zip/node_modules/moment/",
+ "packageDependencies": [
+ ["moment", "npm:2.24.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["moment-timezone", [
+ ["npm:0.5.28", {
+ "packageLocation": "./.yarn/cache/moment-timezone-npm-0.5.28-c5767fa7a0-13f33e9975.zip/node_modules/moment-timezone/",
+ "packageDependencies": [
+ ["moment-timezone", "npm:0.5.28"],
+ ["moment", "npm:2.24.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ms", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/ms-npm-2.0.0-9e1101a471-1a230340cc.zip/node_modules/ms/",
+ "packageDependencies": [
+ ["ms", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.1.2", {
+ "packageLocation": "./.yarn/cache/ms-npm-2.1.2-ec0c1512ff-9b65fb709b.zip/node_modules/ms/",
+ "packageDependencies": [
+ ["ms", "npm:2.1.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["muse", [
+ ["workspace:.", {
+ "packageLocation": "./",
+ "packageDependencies": [
+ ["muse", "workspace:."],
+ ["@discordjs/opus", "npm:0.3.2"],
+ ["@types/bluebird", "npm:3.5.32"],
+ ["@types/debug", "npm:4.1.5"],
+ ["@types/fluent-ffmpeg", "npm:2.1.16"],
+ ["@types/fs-capacitor", "npm:2.0.0"],
+ ["@types/node", "npm:14.14.2"],
+ ["@types/node-emoji", "npm:1.8.1"],
+ ["@types/spotify-web-api-node", "npm:4.0.1"],
+ ["@types/validator", "npm:13.1.0"],
+ ["@types/ws", "npm:7.2.7"],
+ ["@typescript-eslint/eslint-plugin", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.5.0"],
+ ["@typescript-eslint/parser", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.5.0"],
+ ["array-shuffle", "npm:1.0.1"],
+ ["debug", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:4.2.0"],
+ ["delay", "npm:4.4.0"],
+ ["discord.js", "npm:12.4.1"],
+ ["dotenv", "npm:8.2.0"],
+ ["eslint", "npm:7.12.0"],
+ ["eslint-config-xo", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:0.33.1"],
+ ["eslint-config-xo-typescript", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:0.35.0"],
+ ["fluent-ffmpeg", "npm:2.1.2"],
+ ["fs-capacitor", "npm:6.2.0"],
+ ["get-youtube-id", "npm:1.0.1"],
+ ["got", "npm:11.8.0"],
+ ["hasha", "npm:5.2.2"],
+ ["husky", "npm:4.3.0"],
+ ["inversify", "npm:5.0.1"],
+ ["iso8601-duration", "npm:1.2.0"],
+ ["make-dir", "npm:3.1.0"],
+ ["node-emoji", "npm:1.10.0"],
+ ["nodemon", "npm:2.0.6"],
+ ["p-limit", "npm:3.0.2"],
+ ["reflect-metadata", "npm:0.1.13"],
+ ["sequelize", "npm:5.22.3"],
+ ["sequelize-typescript", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:1.1.0"],
+ ["spotify-uri", "npm:2.1.0"],
+ ["spotify-web-api-node", "npm:5.0.0"],
+ ["sqlite3", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:5.0.0"],
+ ["ts-node", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:9.0.0"],
+ ["typescript", "patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698"],
+ ["unique-random-array", "npm:2.0.0"],
+ ["youtube.ts", "npm:0.1.8"],
+ ["ytdl-core", "npm:3.4.2"],
+ ["ytsr", "npm:1.0.4"]
+ ],
+ "linkType": "SOFT",
+ }]
+ ]],
+ ["natural-compare", [
+ ["npm:1.4.0", {
+ "packageLocation": "./.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-2daf93d9bb.zip/node_modules/natural-compare/",
+ "packageDependencies": [
+ ["natural-compare", "npm:1.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["needle", [
+ ["npm:2.3.3", {
+ "packageLocation": "./.yarn/cache/needle-npm-2.3.3-43b7f505a7-4e547b507e.zip/node_modules/needle/",
+ "packageDependencies": [
+ ["needle", "npm:2.3.3"],
+ ["debug", "virtual:19bdc06f5d3c90629031fab8e37016d08b1d7b860c9915fc4ce62c7963d6a64b4507a5933a4eb45910d3c8122f83d95ab398973b0169b75ae0ffa07a6d4f756f#npm:3.2.6"],
+ ["iconv-lite", "npm:0.4.24"],
+ ["sax", "npm:1.2.4"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.5.0", {
+ "packageLocation": "./.yarn/cache/needle-npm-2.5.0-19bdc06f5d-b50cef343e.zip/node_modules/needle/",
+ "packageDependencies": [
+ ["needle", "npm:2.5.0"],
+ ["debug", "virtual:19bdc06f5d3c90629031fab8e37016d08b1d7b860c9915fc4ce62c7963d6a64b4507a5933a4eb45910d3c8122f83d95ab398973b0169b75ae0ffa07a6d4f756f#npm:3.2.6"],
+ ["iconv-lite", "npm:0.4.24"],
+ ["sax", "npm:1.2.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["node-addon-api", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/unplugged/node-addon-api-npm-2.0.0-0d40258cdb/node_modules/node-addon-api/",
+ "packageDependencies": [
+ ["node-addon-api", "npm:2.0.0"],
+ ["node-gyp", "npm:7.1.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["node-emoji", [
+ ["npm:1.10.0", {
+ "packageLocation": "./.yarn/cache/node-emoji-npm-1.10.0-3bbb4a73cd-9c73cd0af0.zip/node_modules/node-emoji/",
+ "packageDependencies": [
+ ["node-emoji", "npm:1.10.0"],
+ ["lodash.toarray", "npm:4.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["node-fetch", [
+ ["npm:2.6.1", {
+ "packageLocation": "./.yarn/cache/node-fetch-npm-2.6.1-46c670dbc1-cbb171635e.zip/node_modules/node-fetch/",
+ "packageDependencies": [
+ ["node-fetch", "npm:2.6.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["node-gyp", [
+ ["npm:3.8.0", {
+ "packageLocation": "./.yarn/unplugged/node-gyp-npm-3.8.0-34b3928909/node_modules/node-gyp/",
+ "packageDependencies": [
+ ["node-gyp", "npm:3.8.0"],
+ ["fstream", "npm:1.0.12"],
+ ["glob", "npm:7.1.6"],
+ ["graceful-fs", "npm:4.2.3"],
+ ["mkdirp", "npm:0.5.1"],
+ ["nopt", "npm:3.0.6"],
+ ["npmlog", "npm:4.1.2"],
+ ["osenv", "npm:0.1.5"],
+ ["request", "npm:2.88.2"],
+ ["rimraf", "npm:2.7.1"],
+ ["semver", "npm:5.3.0"],
+ ["tar", "npm:2.2.2"],
+ ["which", "npm:1.3.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:7.1.2", {
+ "packageLocation": "./.yarn/unplugged/node-gyp-npm-7.1.2-002c5798eb/node_modules/node-gyp/",
+ "packageDependencies": [
+ ["node-gyp", "npm:7.1.2"],
+ ["env-paths", "npm:2.2.0"],
+ ["glob", "npm:7.1.6"],
+ ["graceful-fs", "npm:4.2.3"],
+ ["nopt", "npm:5.0.0"],
+ ["npmlog", "npm:4.1.2"],
+ ["request", "npm:2.88.2"],
+ ["rimraf", "npm:3.0.2"],
+ ["semver", "npm:7.3.2"],
+ ["tar", "npm:6.0.5"],
+ ["which", "npm:2.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["node-pre-gyp", [
+ ["npm:0.11.0", {
+ "packageLocation": "./.yarn/unplugged/node-pre-gyp-npm-0.11.0-df386f4c01/node_modules/node-pre-gyp/",
+ "packageDependencies": [
+ ["node-pre-gyp", "npm:0.11.0"],
+ ["detect-libc", "npm:1.0.3"],
+ ["mkdirp", "npm:0.5.1"],
+ ["needle", "npm:2.3.3"],
+ ["nopt", "npm:4.0.1"],
+ ["npm-packlist", "npm:1.4.8"],
+ ["npmlog", "npm:4.1.2"],
+ ["rc", "npm:1.2.8"],
+ ["rimraf", "npm:2.7.1"],
+ ["semver", "npm:5.7.1"],
+ ["tar", "npm:4.4.13"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["nodemon", [
+ ["npm:2.0.6", {
+ "packageLocation": "./.yarn/unplugged/nodemon-npm-2.0.6-533efccfd9/node_modules/nodemon/",
+ "packageDependencies": [
+ ["nodemon", "npm:2.0.6"],
+ ["chokidar", "npm:3.3.1"],
+ ["debug", "virtual:533efccfd94682ecd466a58a5f392b34e0de4de31de9a671dc1fdefb92cdeea2750e4cdb6545c5f712ce24980c3d89f1ed4a11fbbcb3f8d8c94c44ea70d21f60#npm:3.2.6"],
+ ["ignore-by-default", "npm:1.0.1"],
+ ["minimatch", "npm:3.0.4"],
+ ["pstree.remy", "npm:1.1.7"],
+ ["semver", "npm:5.7.1"],
+ ["supports-color", "npm:5.5.0"],
+ ["touch", "npm:3.1.0"],
+ ["undefsafe", "npm:2.0.3"],
+ ["update-notifier", "npm:4.1.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["nopt", [
+ ["npm:1.0.10", {
+ "packageLocation": "./.yarn/cache/nopt-npm-1.0.10-f3db192976-fb74743e70.zip/node_modules/nopt/",
+ "packageDependencies": [
+ ["nopt", "npm:1.0.10"],
+ ["abbrev", "npm:1.1.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.0.6", {
+ "packageLocation": "./.yarn/cache/nopt-npm-3.0.6-370ee63cf6-cb2105d528.zip/node_modules/nopt/",
+ "packageDependencies": [
+ ["nopt", "npm:3.0.6"],
+ ["abbrev", "npm:1.1.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.0.1", {
+ "packageLocation": "./.yarn/cache/nopt-npm-4.0.1-12366c5ee1-1d220f1e15.zip/node_modules/nopt/",
+ "packageDependencies": [
+ ["nopt", "npm:4.0.1"],
+ ["abbrev", "npm:1.1.1"],
+ ["osenv", "npm:0.1.5"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.0.3", {
+ "packageLocation": "./.yarn/cache/nopt-npm-4.0.3-b35e68a869-bf7b8c15fd.zip/node_modules/nopt/",
+ "packageDependencies": [
+ ["nopt", "npm:4.0.3"],
+ ["abbrev", "npm:1.1.1"],
+ ["osenv", "npm:0.1.5"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.0.0", {
+ "packageLocation": "./.yarn/cache/nopt-npm-5.0.0-304b40fbfe-e1523158fc.zip/node_modules/nopt/",
+ "packageDependencies": [
+ ["nopt", "npm:5.0.0"],
+ ["abbrev", "npm:1.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["normalize-path", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/normalize-path-npm-3.0.0-658ba7d77f-215a701b47.zip/node_modules/normalize-path/",
+ "packageDependencies": [
+ ["normalize-path", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["normalize-url", [
+ ["npm:4.5.0", {
+ "packageLocation": "./.yarn/cache/normalize-url-npm-4.5.0-14a0c5430f-09794941db.zip/node_modules/normalize-url/",
+ "packageDependencies": [
+ ["normalize-url", "npm:4.5.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["npm-bundled", [
+ ["npm:1.1.1", {
+ "packageLocation": "./.yarn/cache/npm-bundled-npm-1.1.1-4e8c147002-f51ddba869.zip/node_modules/npm-bundled/",
+ "packageDependencies": [
+ ["npm-bundled", "npm:1.1.1"],
+ ["npm-normalize-package-bin", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["npm-normalize-package-bin", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/npm-normalize-package-bin-npm-1.0.1-2cf38a5d95-495fae7615.zip/node_modules/npm-normalize-package-bin/",
+ "packageDependencies": [
+ ["npm-normalize-package-bin", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["npm-packlist", [
+ ["npm:1.4.8", {
+ "packageLocation": "./.yarn/cache/npm-packlist-npm-1.4.8-ddca195225-34c4bbd47d.zip/node_modules/npm-packlist/",
+ "packageDependencies": [
+ ["npm-packlist", "npm:1.4.8"],
+ ["ignore-walk", "npm:3.0.3"],
+ ["npm-bundled", "npm:1.1.1"],
+ ["npm-normalize-package-bin", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["npmlog", [
+ ["npm:4.1.2", {
+ "packageLocation": "./.yarn/cache/npmlog-npm-4.1.2-cfb32957b5-0cd63f127c.zip/node_modules/npmlog/",
+ "packageDependencies": [
+ ["npmlog", "npm:4.1.2"],
+ ["are-we-there-yet", "npm:1.1.5"],
+ ["console-control-strings", "npm:1.1.0"],
+ ["gauge", "npm:2.7.4"],
+ ["set-blocking", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["number-is-nan", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/number-is-nan-npm-1.0.1-845325a0fe-42251b2653.zip/node_modules/number-is-nan/",
+ "packageDependencies": [
+ ["number-is-nan", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["oauth-sign", [
+ ["npm:0.9.0", {
+ "packageLocation": "./.yarn/cache/oauth-sign-npm-0.9.0-7aa9422221-af1ab60297.zip/node_modules/oauth-sign/",
+ "packageDependencies": [
+ ["oauth-sign", "npm:0.9.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["object-assign", [
+ ["npm:4.1.1", {
+ "packageLocation": "./.yarn/cache/object-assign-npm-4.1.1-1004ad6dec-66cf021898.zip/node_modules/object-assign/",
+ "packageDependencies": [
+ ["object-assign", "npm:4.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["once", [
+ ["npm:1.4.0", {
+ "packageLocation": "./.yarn/cache/once-npm-1.4.0-ccf03ef07a-57afc24653.zip/node_modules/once/",
+ "packageDependencies": [
+ ["once", "npm:1.4.0"],
+ ["wrappy", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["opencollective-postinstall", [
+ ["npm:2.0.2", {
+ "packageLocation": "./.yarn/cache/opencollective-postinstall-npm-2.0.2-08cf9e2f3d-f71a908d09.zip/node_modules/opencollective-postinstall/",
+ "packageDependencies": [
+ ["opencollective-postinstall", "npm:2.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["optionator", [
+ ["npm:0.9.1", {
+ "packageLocation": "./.yarn/cache/optionator-npm-0.9.1-577e397aae-bdf5683f98.zip/node_modules/optionator/",
+ "packageDependencies": [
+ ["optionator", "npm:0.9.1"],
+ ["deep-is", "npm:0.1.3"],
+ ["fast-levenshtein", "npm:2.0.6"],
+ ["levn", "npm:0.4.1"],
+ ["prelude-ls", "npm:1.2.1"],
+ ["type-check", "npm:0.4.0"],
+ ["word-wrap", "npm:1.2.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["os-homedir", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/os-homedir-npm-1.0.2-01f82faa88-725256246b.zip/node_modules/os-homedir/",
+ "packageDependencies": [
+ ["os-homedir", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["os-tmpdir", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/os-tmpdir-npm-1.0.2-e305b0689b-ca158a3c2e.zip/node_modules/os-tmpdir/",
+ "packageDependencies": [
+ ["os-tmpdir", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["osenv", [
+ ["npm:0.1.5", {
+ "packageLocation": "./.yarn/cache/osenv-npm-0.1.5-435137eb60-1c7462808c.zip/node_modules/osenv/",
+ "packageDependencies": [
+ ["osenv", "npm:0.1.5"],
+ ["os-homedir", "npm:1.0.2"],
+ ["os-tmpdir", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["p-cancelable", [
+ ["npm:1.1.0", {
+ "packageLocation": "./.yarn/cache/p-cancelable-npm-1.1.0-d147d5996f-01fdd9ac31.zip/node_modules/p-cancelable/",
+ "packageDependencies": [
+ ["p-cancelable", "npm:1.1.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/p-cancelable-npm-2.0.0-5f988ffca4-966065f056.zip/node_modules/p-cancelable/",
+ "packageDependencies": [
+ ["p-cancelable", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["p-limit", [
+ ["npm:2.2.2", {
+ "packageLocation": "./.yarn/cache/p-limit-npm-2.2.2-b674d9f268-10cd927c1e.zip/node_modules/p-limit/",
+ "packageDependencies": [
+ ["p-limit", "npm:2.2.2"],
+ ["p-try", "npm:2.2.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.0.2", {
+ "packageLocation": "./.yarn/cache/p-limit-npm-3.0.2-cf6c70eb96-1eb23d6ea7.zip/node_modules/p-limit/",
+ "packageDependencies": [
+ ["p-limit", "npm:3.0.2"],
+ ["p-try", "npm:2.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["p-locate", [
+ ["npm:4.1.0", {
+ "packageLocation": "./.yarn/cache/p-locate-npm-4.1.0-eec6872537-57f9abef0b.zip/node_modules/p-locate/",
+ "packageDependencies": [
+ ["p-locate", "npm:4.1.0"],
+ ["p-limit", "npm:2.2.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["p-try", [
+ ["npm:2.2.0", {
+ "packageLocation": "./.yarn/cache/p-try-npm-2.2.0-e0390dbaf8-20983f3765.zip/node_modules/p-try/",
+ "packageDependencies": [
+ ["p-try", "npm:2.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["package-json", [
+ ["npm:6.5.0", {
+ "packageLocation": "./.yarn/cache/package-json-npm-6.5.0-30e58237bb-3023e318de.zip/node_modules/package-json/",
+ "packageDependencies": [
+ ["package-json", "npm:6.5.0"],
+ ["got", "npm:9.6.0"],
+ ["registry-auth-token", "npm:4.2.0"],
+ ["registry-url", "npm:5.1.0"],
+ ["semver", "npm:6.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["parent-module", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/parent-module-npm-1.0.1-1fae11b095-58714b9699.zip/node_modules/parent-module/",
+ "packageDependencies": [
+ ["parent-module", "npm:1.0.1"],
+ ["callsites", "npm:3.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["parse-json", [
+ ["npm:5.0.0", {
+ "packageLocation": "./.yarn/cache/parse-json-npm-5.0.0-eab6c57a64-9c46eb0c38.zip/node_modules/parse-json/",
+ "packageDependencies": [
+ ["parse-json", "npm:5.0.0"],
+ ["@babel/code-frame", "npm:7.8.3"],
+ ["error-ex", "npm:1.3.2"],
+ ["json-parse-better-errors", "npm:1.0.2"],
+ ["lines-and-columns", "npm:1.1.6"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["path-exists", [
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-6ab15000c5.zip/node_modules/path-exists/",
+ "packageDependencies": [
+ ["path-exists", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["path-is-absolute", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/path-is-absolute-npm-1.0.1-31bc695ffd-907e1e3e6a.zip/node_modules/path-is-absolute/",
+ "packageDependencies": [
+ ["path-is-absolute", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["path-key", [
+ ["npm:3.1.1", {
+ "packageLocation": "./.yarn/cache/path-key-npm-3.1.1-0e66ea8321-e44aa3ca9f.zip/node_modules/path-key/",
+ "packageDependencies": [
+ ["path-key", "npm:3.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["path-type", [
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/path-type-npm-4.0.0-10d47fc86a-ef5835f2eb.zip/node_modules/path-type/",
+ "packageDependencies": [
+ ["path-type", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["performance-now", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/performance-now-npm-2.1.0-45e3ce7e49-bb4ebed0b0.zip/node_modules/performance-now/",
+ "packageDependencies": [
+ ["performance-now", "npm:2.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["picomatch", [
+ ["npm:2.2.1", {
+ "packageLocation": "./.yarn/cache/picomatch-npm-2.2.1-a4bfb8b1cc-c926fe6cb1.zip/node_modules/picomatch/",
+ "packageDependencies": [
+ ["picomatch", "npm:2.2.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.2.2", {
+ "packageLocation": "./.yarn/cache/picomatch-npm-2.2.2-1ce736a913-20fa75e0a5.zip/node_modules/picomatch/",
+ "packageDependencies": [
+ ["picomatch", "npm:2.2.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["pkg-dir", [
+ ["npm:4.2.0", {
+ "packageLocation": "./.yarn/cache/pkg-dir-npm-4.2.0-2b5d0a8d32-1956ebf3cf.zip/node_modules/pkg-dir/",
+ "packageDependencies": [
+ ["pkg-dir", "npm:4.2.0"],
+ ["find-up", "npm:4.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["please-upgrade-node", [
+ ["npm:3.2.0", {
+ "packageLocation": "./.yarn/cache/please-upgrade-node-npm-3.2.0-3f653350ed-34cf86f6d5.zip/node_modules/please-upgrade-node/",
+ "packageDependencies": [
+ ["please-upgrade-node", "npm:3.2.0"],
+ ["semver-compare", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["prelude-ls", [
+ ["npm:1.2.1", {
+ "packageLocation": "./.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-bc1649f521.zip/node_modules/prelude-ls/",
+ "packageDependencies": [
+ ["prelude-ls", "npm:1.2.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["prepend-http", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/prepend-http-npm-2.0.0-e1fc4332f2-d39325775a.zip/node_modules/prepend-http/",
+ "packageDependencies": [
+ ["prepend-http", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["prism-media", [
+ ["virtual:92101433af3ad9086bd309efc58b49a2a279d7d9ae712eb40f87f5319a8a118dfed7413a86f4436ecf8640ac4fa5e05f64856bd8706fdb6dd1f22c5ddb2ade75#npm:1.2.2", {
+ "packageLocation": "./.yarn/$$virtual/prism-media-virtual-a7cae1b53e/0/cache/prism-media-npm-1.2.2-351b2c8ce0-fa992731ff.zip/node_modules/prism-media/",
+ "packageDependencies": [
+ ["prism-media", "virtual:92101433af3ad9086bd309efc58b49a2a279d7d9ae712eb40f87f5319a8a118dfed7413a86f4436ecf8640ac4fa5e05f64856bd8706fdb6dd1f22c5ddb2ade75#npm:1.2.2"],
+ ["@discordjs/opus", null],
+ ["@types/discordjs__opus", null],
+ ["@types/ffmpeg-static", null],
+ ["@types/node-opus", null],
+ ["@types/opusscript", null],
+ ["ffmpeg-static", null],
+ ["node-opus", null],
+ ["opusscript", null]
+ ],
+ "packagePeers": [
+ "@discordjs/opus",
+ "@types/discordjs__opus",
+ "@types/ffmpeg-static",
+ "@types/node-opus",
+ "@types/opusscript",
+ "ffmpeg-static",
+ "node-opus",
+ "opusscript"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["process-nextick-args", [
+ ["npm:2.0.1", {
+ "packageLocation": "./.yarn/cache/process-nextick-args-npm-2.0.1-b8d7971609-ddeb0f07d0.zip/node_modules/process-nextick-args/",
+ "packageDependencies": [
+ ["process-nextick-args", "npm:2.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["progress", [
+ ["npm:2.0.3", {
+ "packageLocation": "./.yarn/cache/progress-npm-2.0.3-d1f87e2ac6-c46ef5a1de.zip/node_modules/progress/",
+ "packageDependencies": [
+ ["progress", "npm:2.0.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["psl", [
+ ["npm:1.7.0", {
+ "packageLocation": "./.yarn/cache/psl-npm-1.7.0-44bf515f4d-b2158825f6.zip/node_modules/psl/",
+ "packageDependencies": [
+ ["psl", "npm:1.7.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["pstree.remy", [
+ ["npm:1.1.7", {
+ "packageLocation": "./.yarn/cache/pstree.remy-npm-1.1.7-96cd36ad8f-84e8190658.zip/node_modules/pstree.remy/",
+ "packageDependencies": [
+ ["pstree.remy", "npm:1.1.7"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["pump", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/pump-npm-3.0.0-0080bf6a7a-5464d5cf6c.zip/node_modules/pump/",
+ "packageDependencies": [
+ ["pump", "npm:3.0.0"],
+ ["end-of-stream", "npm:1.4.4"],
+ ["once", "npm:1.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["punycode", [
+ ["npm:2.1.1", {
+ "packageLocation": "./.yarn/cache/punycode-npm-2.1.1-26eb3e15cf-0202dc191c.zip/node_modules/punycode/",
+ "packageDependencies": [
+ ["punycode", "npm:2.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["pupa", [
+ ["npm:2.0.1", {
+ "packageLocation": "./.yarn/cache/pupa-npm-2.0.1-c848ed92ed-d03edb9fd7.zip/node_modules/pupa/",
+ "packageDependencies": [
+ ["pupa", "npm:2.0.1"],
+ ["escape-goat", "npm:2.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["qs", [
+ ["npm:6.5.2", {
+ "packageLocation": "./.yarn/cache/qs-npm-6.5.2-dbf9d8386b-fa0410eff2.zip/node_modules/qs/",
+ "packageDependencies": [
+ ["qs", "npm:6.5.2"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:6.9.4", {
+ "packageLocation": "./.yarn/cache/qs-npm-6.9.4-7b853cfa85-beba62d1e1.zip/node_modules/qs/",
+ "packageDependencies": [
+ ["qs", "npm:6.9.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["quick-lru", [
+ ["npm:5.1.1", {
+ "packageLocation": "./.yarn/cache/quick-lru-npm-5.1.1-e38e0edce3-fafb2b2fa1.zip/node_modules/quick-lru/",
+ "packageDependencies": [
+ ["quick-lru", "npm:5.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["rc", [
+ ["npm:1.2.8", {
+ "packageLocation": "./.yarn/cache/rc-npm-1.2.8-d6768ac936-ea2b7f7cee.zip/node_modules/rc/",
+ "packageDependencies": [
+ ["rc", "npm:1.2.8"],
+ ["deep-extend", "npm:0.6.0"],
+ ["ini", "npm:1.3.5"],
+ ["minimist", "npm:1.2.0"],
+ ["strip-json-comments", "npm:2.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["readable-stream", [
+ ["npm:2.3.7", {
+ "packageLocation": "./.yarn/cache/readable-stream-npm-2.3.7-77b22a9818-6e38265606.zip/node_modules/readable-stream/",
+ "packageDependencies": [
+ ["readable-stream", "npm:2.3.7"],
+ ["core-util-is", "npm:1.0.2"],
+ ["inherits", "npm:2.0.4"],
+ ["isarray", "npm:1.0.0"],
+ ["process-nextick-args", "npm:2.0.1"],
+ ["safe-buffer", "npm:5.1.2"],
+ ["string_decoder", "npm:1.1.1"],
+ ["util-deprecate", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.6.0", {
+ "packageLocation": "./.yarn/cache/readable-stream-npm-3.6.0-23a4a5eb56-f178b1daa8.zip/node_modules/readable-stream/",
+ "packageDependencies": [
+ ["readable-stream", "npm:3.6.0"],
+ ["inherits", "npm:2.0.4"],
+ ["string_decoder", "npm:1.3.0"],
+ ["util-deprecate", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["readdirp", [
+ ["npm:3.3.0", {
+ "packageLocation": "./.yarn/cache/readdirp-npm-3.3.0-c98c003159-97ad7dd846.zip/node_modules/readdirp/",
+ "packageDependencies": [
+ ["readdirp", "npm:3.3.0"],
+ ["picomatch", "npm:2.2.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["reflect-metadata", [
+ ["npm:0.1.13", {
+ "packageLocation": "./.yarn/cache/reflect-metadata-npm-0.1.13-c525998e20-629101e6c8.zip/node_modules/reflect-metadata/",
+ "packageDependencies": [
+ ["reflect-metadata", "npm:0.1.13"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["regexpp", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/regexpp-npm-3.0.0-ba77bf1673-9528ff2d4d.zip/node_modules/regexpp/",
+ "packageDependencies": [
+ ["regexpp", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.1.0", {
+ "packageLocation": "./.yarn/cache/regexpp-npm-3.1.0-94a1868d49-69d0ce6b44.zip/node_modules/regexpp/",
+ "packageDependencies": [
+ ["regexpp", "npm:3.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["registry-auth-token", [
+ ["npm:4.2.0", {
+ "packageLocation": "./.yarn/cache/registry-auth-token-npm-4.2.0-0aada8f019-bbdcbe2210.zip/node_modules/registry-auth-token/",
+ "packageDependencies": [
+ ["registry-auth-token", "npm:4.2.0"],
+ ["rc", "npm:1.2.8"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["registry-url", [
+ ["npm:5.1.0", {
+ "packageLocation": "./.yarn/cache/registry-url-npm-5.1.0-f58d0ca7ff-50802a1d43.zip/node_modules/registry-url/",
+ "packageDependencies": [
+ ["registry-url", "npm:5.1.0"],
+ ["rc", "npm:1.2.8"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["request", [
+ ["npm:2.88.2", {
+ "packageLocation": "./.yarn/cache/request-npm-2.88.2-f4a57c72c4-7a74841f30.zip/node_modules/request/",
+ "packageDependencies": [
+ ["request", "npm:2.88.2"],
+ ["aws-sign2", "npm:0.7.0"],
+ ["aws4", "npm:1.9.1"],
+ ["caseless", "npm:0.12.0"],
+ ["combined-stream", "npm:1.0.8"],
+ ["extend", "npm:3.0.2"],
+ ["forever-agent", "npm:0.6.1"],
+ ["form-data", "npm:2.3.3"],
+ ["har-validator", "npm:5.1.3"],
+ ["http-signature", "npm:1.2.0"],
+ ["is-typedarray", "npm:1.0.0"],
+ ["isstream", "npm:0.1.2"],
+ ["json-stringify-safe", "npm:5.0.1"],
+ ["mime-types", "npm:2.1.26"],
+ ["oauth-sign", "npm:0.9.0"],
+ ["performance-now", "npm:2.1.0"],
+ ["qs", "npm:6.5.2"],
+ ["safe-buffer", "npm:5.2.0"],
+ ["tough-cookie", "npm:2.5.0"],
+ ["tunnel-agent", "npm:0.6.0"],
+ ["uuid", "npm:3.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["resolve-alpn", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/resolve-alpn-npm-1.0.0-f655c150b7-17baee01c0.zip/node_modules/resolve-alpn/",
+ "packageDependencies": [
+ ["resolve-alpn", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["resolve-from", [
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-87a4357c0c.zip/node_modules/resolve-from/",
+ "packageDependencies": [
+ ["resolve-from", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["responselike", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/responselike-npm-1.0.2-d0bf50cde4-c904f14994.zip/node_modules/responselike/",
+ "packageDependencies": [
+ ["responselike", "npm:1.0.2"],
+ ["lowercase-keys", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/responselike-npm-2.0.0-7813864e97-11d8225dd8.zip/node_modules/responselike/",
+ "packageDependencies": [
+ ["responselike", "npm:2.0.0"],
+ ["lowercase-keys", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["retry-as-promised", [
+ ["npm:3.2.0", {
+ "packageLocation": "./.yarn/cache/retry-as-promised-npm-3.2.0-292b66348b-4aab2302ba.zip/node_modules/retry-as-promised/",
+ "packageDependencies": [
+ ["retry-as-promised", "npm:3.2.0"],
+ ["any-promise", "npm:1.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["reusify", [
+ ["npm:1.0.4", {
+ "packageLocation": "./.yarn/cache/reusify-npm-1.0.4-95ac4aec11-08ef02ed05.zip/node_modules/reusify/",
+ "packageDependencies": [
+ ["reusify", "npm:1.0.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["rimraf", [
+ ["npm:2.6.3", {
+ "packageLocation": "./.yarn/cache/rimraf-npm-2.6.3-f34c6c72ec-c9ce1854f1.zip/node_modules/rimraf/",
+ "packageDependencies": [
+ ["rimraf", "npm:2.6.3"],
+ ["glob", "npm:7.1.6"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.7.1", {
+ "packageLocation": "./.yarn/cache/rimraf-npm-2.7.1-9a71f3cc37-059efac283.zip/node_modules/rimraf/",
+ "packageDependencies": [
+ ["rimraf", "npm:2.7.1"],
+ ["glob", "npm:7.1.6"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.0.2", {
+ "packageLocation": "./.yarn/cache/rimraf-npm-3.0.2-2cb7dac69a-f0de3e4455.zip/node_modules/rimraf/",
+ "packageDependencies": [
+ ["rimraf", "npm:3.0.2"],
+ ["glob", "npm:7.1.6"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["run-parallel", [
+ ["npm:1.1.9", {
+ "packageLocation": "./.yarn/cache/run-parallel-npm-1.1.9-83c6b2d620-a05ca86e99.zip/node_modules/run-parallel/",
+ "packageDependencies": [
+ ["run-parallel", "npm:1.1.9"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["safe-buffer", [
+ ["npm:5.1.2", {
+ "packageLocation": "./.yarn/cache/safe-buffer-npm-5.1.2-c27fedf6c4-2708587c1b.zip/node_modules/safe-buffer/",
+ "packageDependencies": [
+ ["safe-buffer", "npm:5.1.2"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.2.0", {
+ "packageLocation": "./.yarn/cache/safe-buffer-npm-5.2.0-ceb420bcee-e513079353.zip/node_modules/safe-buffer/",
+ "packageDependencies": [
+ ["safe-buffer", "npm:5.2.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.2.1", {
+ "packageLocation": "./.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-0bb57f0d8f.zip/node_modules/safe-buffer/",
+ "packageDependencies": [
+ ["safe-buffer", "npm:5.2.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["safer-buffer", [
+ ["npm:2.1.2", {
+ "packageLocation": "./.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-549ba83f5b.zip/node_modules/safer-buffer/",
+ "packageDependencies": [
+ ["safer-buffer", "npm:2.1.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["sax", [
+ ["npm:1.2.4", {
+ "packageLocation": "./.yarn/cache/sax-npm-1.2.4-178f05f12f-9d7668d691.zip/node_modules/sax/",
+ "packageDependencies": [
+ ["sax", "npm:1.2.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["semver", [
+ ["npm:5.3.0", {
+ "packageLocation": "./.yarn/cache/semver-npm-5.3.0-520e1d15f2-8211d9f88e.zip/node_modules/semver/",
+ "packageDependencies": [
+ ["semver", "npm:5.3.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.7.1", {
+ "packageLocation": "./.yarn/cache/semver-npm-5.7.1-40bcea106b-06ff0ed753.zip/node_modules/semver/",
+ "packageDependencies": [
+ ["semver", "npm:5.7.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:6.3.0", {
+ "packageLocation": "./.yarn/cache/semver-npm-6.3.0-b3eace8bfd-f0d155c06a.zip/node_modules/semver/",
+ "packageDependencies": [
+ ["semver", "npm:6.3.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:7.3.2", {
+ "packageLocation": "./.yarn/cache/semver-npm-7.3.2-161b023bbb-bceb46d396.zip/node_modules/semver/",
+ "packageDependencies": [
+ ["semver", "npm:7.3.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["semver-compare", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/semver-compare-npm-1.0.0-33f7033df0-9f3a74ca5f.zip/node_modules/semver-compare/",
+ "packageDependencies": [
+ ["semver-compare", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["semver-diff", [
+ ["npm:3.1.1", {
+ "packageLocation": "./.yarn/cache/semver-diff-npm-3.1.1-1207a795e9-d5c9b693e6.zip/node_modules/semver-diff/",
+ "packageDependencies": [
+ ["semver-diff", "npm:3.1.1"],
+ ["semver", "npm:6.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["semver-regex", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/semver-regex-npm-2.0.0-218c804009-9b96cc8bd5.zip/node_modules/semver-regex/",
+ "packageDependencies": [
+ ["semver-regex", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["sequelize", [
+ ["npm:5.22.3", {
+ "packageLocation": "./.yarn/cache/sequelize-npm-5.22.3-6c1eb3cfa3-6c5c265007.zip/node_modules/sequelize/",
+ "packageDependencies": [
+ ["sequelize", "npm:5.22.3"],
+ ["bluebird", "npm:3.7.2"],
+ ["cls-bluebird", "npm:2.1.0"],
+ ["debug", "virtual:06f16ce4314489ede1782fd373bd645f3d5af2ac974979fef538e01b3ea8becd0500df8c4dacd06023014cd557e779559cef04d001a22387523c61a0010eec98#npm:4.1.1"],
+ ["dottie", "npm:2.0.2"],
+ ["inflection", "npm:1.12.0"],
+ ["lodash", "npm:4.17.15"],
+ ["moment", "npm:2.24.0"],
+ ["moment-timezone", "npm:0.5.28"],
+ ["retry-as-promised", "npm:3.2.0"],
+ ["semver", "npm:6.3.0"],
+ ["sequelize-pool", "npm:2.3.0"],
+ ["toposort-class", "npm:1.0.1"],
+ ["uuid", "npm:3.4.0"],
+ ["validator", "npm:10.11.0"],
+ ["wkx", "npm:0.4.8"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["sequelize-pool", [
+ ["npm:2.3.0", {
+ "packageLocation": "./.yarn/cache/sequelize-pool-npm-2.3.0-02b5476cea-a6fc8cc5ef.zip/node_modules/sequelize-pool/",
+ "packageDependencies": [
+ ["sequelize-pool", "npm:2.3.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["sequelize-typescript", [
+ ["virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:1.1.0", {
+ "packageLocation": "./.yarn/$$virtual/sequelize-typescript-virtual-a0c2ab6ffc/0/cache/sequelize-typescript-npm-1.1.0-f1a9f248f3-7538d342f8.zip/node_modules/sequelize-typescript/",
+ "packageDependencies": [
+ ["sequelize-typescript", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:1.1.0"],
+ ["@types/bluebird", "npm:3.5.32"],
+ ["@types/node", "npm:14.14.2"],
+ ["@types/reflect-metadata", null],
+ ["@types/sequelize", null],
+ ["@types/types__bluebird", null],
+ ["@types/types__node", null],
+ ["@types/types__validator", null],
+ ["@types/validator", "npm:13.1.0"],
+ ["glob", "npm:7.1.2"],
+ ["reflect-metadata", "npm:0.1.13"],
+ ["sequelize", "npm:5.22.3"]
+ ],
+ "packagePeers": [
+ "@types/bluebird",
+ "@types/node",
+ "@types/reflect-metadata",
+ "@types/sequelize",
+ "@types/types__bluebird",
+ "@types/types__node",
+ "@types/types__validator",
+ "@types/validator",
+ "reflect-metadata",
+ "sequelize"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["set-blocking", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/set-blocking-npm-2.0.0-49e2cffa24-0ac2403b0c.zip/node_modules/set-blocking/",
+ "packageDependencies": [
+ ["set-blocking", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["setimmediate", [
+ ["npm:1.0.5", {
+ "packageLocation": "./.yarn/cache/setimmediate-npm-1.0.5-54587459b6-87884d8add.zip/node_modules/setimmediate/",
+ "packageDependencies": [
+ ["setimmediate", "npm:1.0.5"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["shebang-command", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-85aa394d8c.zip/node_modules/shebang-command/",
+ "packageDependencies": [
+ ["shebang-command", "npm:2.0.0"],
+ ["shebang-regex", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["shebang-regex", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-ea18044ffa.zip/node_modules/shebang-regex/",
+ "packageDependencies": [
+ ["shebang-regex", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["shimmer", [
+ ["npm:1.2.1", {
+ "packageLocation": "./.yarn/cache/shimmer-npm-1.2.1-8b50bf3206-23431fc4c5.zip/node_modules/shimmer/",
+ "packageDependencies": [
+ ["shimmer", "npm:1.2.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["signal-exit", [
+ ["npm:3.0.2", {
+ "packageLocation": "./.yarn/cache/signal-exit-npm-3.0.2-5919f57fbd-e4a13a074d.zip/node_modules/signal-exit/",
+ "packageDependencies": [
+ ["signal-exit", "npm:3.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["slash", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/slash-npm-3.0.0-b87de2279a-fc3e8597d8.zip/node_modules/slash/",
+ "packageDependencies": [
+ ["slash", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["slice-ansi", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/slice-ansi-npm-2.1.0-02505ccc06-7578393cac.zip/node_modules/slice-ansi/",
+ "packageDependencies": [
+ ["slice-ansi", "npm:2.1.0"],
+ ["ansi-styles", "npm:3.2.1"],
+ ["astral-regex", "npm:1.0.0"],
+ ["is-fullwidth-code-point", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["source-map", [
+ ["npm:0.6.1", {
+ "packageLocation": "./.yarn/cache/source-map-npm-0.6.1-1a3621db16-8647829a06.zip/node_modules/source-map/",
+ "packageDependencies": [
+ ["source-map", "npm:0.6.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["source-map-support", [
+ ["npm:0.5.19", {
+ "packageLocation": "./.yarn/cache/source-map-support-npm-0.5.19-65b33ae61e-59d4efaae9.zip/node_modules/source-map-support/",
+ "packageDependencies": [
+ ["source-map-support", "npm:0.5.19"],
+ ["buffer-from", "npm:1.1.1"],
+ ["source-map", "npm:0.6.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["spotify-uri", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/spotify-uri-npm-2.1.0-1f2c0b9870-1a10b8bb10.zip/node_modules/spotify-uri/",
+ "packageDependencies": [
+ ["spotify-uri", "npm:2.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["spotify-web-api-node", [
+ ["npm:5.0.0", {
+ "packageLocation": "./.yarn/cache/spotify-web-api-node-npm-5.0.0-e1f3faf38c-0487b59508.zip/node_modules/spotify-web-api-node/",
+ "packageDependencies": [
+ ["spotify-web-api-node", "npm:5.0.0"],
+ ["superagent", "npm:6.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["sprintf-js", [
+ ["npm:1.0.3", {
+ "packageLocation": "./.yarn/cache/sprintf-js-npm-1.0.3-73f0a322fa-51df1bce9e.zip/node_modules/sprintf-js/",
+ "packageDependencies": [
+ ["sprintf-js", "npm:1.0.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["sqlite3", [
+ ["virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:5.0.0", {
+ "packageLocation": "./.yarn/unplugged/sqlite3-virtual-df10e9b517/node_modules/sqlite3/",
+ "packageDependencies": [
+ ["sqlite3", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:5.0.0"],
+ ["@types/node-gyp", null],
+ ["node-addon-api", "npm:2.0.0"],
+ ["node-gyp", "npm:3.8.0"],
+ ["node-pre-gyp", "npm:0.11.0"]
+ ],
+ "packagePeers": [
+ "@types/node-gyp"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["sshpk", [
+ ["npm:1.16.1", {
+ "packageLocation": "./.yarn/cache/sshpk-npm-1.16.1-feb759e7e0-4bd7422634.zip/node_modules/sshpk/",
+ "packageDependencies": [
+ ["sshpk", "npm:1.16.1"],
+ ["asn1", "npm:0.2.4"],
+ ["assert-plus", "npm:1.0.0"],
+ ["bcrypt-pbkdf", "npm:1.0.2"],
+ ["dashdash", "npm:1.14.1"],
+ ["ecc-jsbn", "npm:0.1.2"],
+ ["getpass", "npm:0.1.7"],
+ ["jsbn", "npm:0.1.1"],
+ ["safer-buffer", "npm:2.1.2"],
+ ["tweetnacl", "npm:0.14.5"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["string-width", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/string-width-npm-1.0.2-01031f9add-b11745daa9.zip/node_modules/string-width/",
+ "packageDependencies": [
+ ["string-width", "npm:1.0.2"],
+ ["code-point-at", "npm:1.1.0"],
+ ["is-fullwidth-code-point", "npm:1.0.0"],
+ ["strip-ansi", "npm:3.0.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.1.1", {
+ "packageLocation": "./.yarn/cache/string-width-npm-2.1.1-0c2c6ae53f-906b4887c3.zip/node_modules/string-width/",
+ "packageDependencies": [
+ ["string-width", "npm:2.1.1"],
+ ["is-fullwidth-code-point", "npm:2.0.0"],
+ ["strip-ansi", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.1.0", {
+ "packageLocation": "./.yarn/cache/string-width-npm-3.1.0-e031bfa4e0-54c5d1842d.zip/node_modules/string-width/",
+ "packageDependencies": [
+ ["string-width", "npm:3.1.0"],
+ ["emoji-regex", "npm:7.0.3"],
+ ["is-fullwidth-code-point", "npm:2.0.0"],
+ ["strip-ansi", "npm:5.2.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.2.0", {
+ "packageLocation": "./.yarn/cache/string-width-npm-4.2.0-c4a2a66200-cf1e8acddf.zip/node_modules/string-width/",
+ "packageDependencies": [
+ ["string-width", "npm:4.2.0"],
+ ["emoji-regex", "npm:8.0.0"],
+ ["is-fullwidth-code-point", "npm:3.0.0"],
+ ["strip-ansi", "npm:6.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["string_decoder", [
+ ["npm:1.1.1", {
+ "packageLocation": "./.yarn/cache/string_decoder-npm-1.1.1-e46a6c1353-bc2dc169d8.zip/node_modules/string_decoder/",
+ "packageDependencies": [
+ ["string_decoder", "npm:1.1.1"],
+ ["safe-buffer", "npm:5.1.2"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:1.3.0", {
+ "packageLocation": "./.yarn/cache/string_decoder-npm-1.3.0-2422117fd0-0a09afb610.zip/node_modules/string_decoder/",
+ "packageDependencies": [
+ ["string_decoder", "npm:1.3.0"],
+ ["safe-buffer", "npm:5.2.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["strip-ansi", [
+ ["npm:3.0.1", {
+ "packageLocation": "./.yarn/cache/strip-ansi-npm-3.0.1-6aec1365b9-98772dcf44.zip/node_modules/strip-ansi/",
+ "packageDependencies": [
+ ["strip-ansi", "npm:3.0.1"],
+ ["ansi-regex", "npm:2.1.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/strip-ansi-npm-4.0.0-d4de985014-9ac63872c2.zip/node_modules/strip-ansi/",
+ "packageDependencies": [
+ ["strip-ansi", "npm:4.0.0"],
+ ["ansi-regex", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:5.2.0", {
+ "packageLocation": "./.yarn/cache/strip-ansi-npm-5.2.0-275214c316-44a0d0d354.zip/node_modules/strip-ansi/",
+ "packageDependencies": [
+ ["strip-ansi", "npm:5.2.0"],
+ ["ansi-regex", "npm:4.1.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:6.0.0", {
+ "packageLocation": "./.yarn/cache/strip-ansi-npm-6.0.0-904613e9eb-10568c91ca.zip/node_modules/strip-ansi/",
+ "packageDependencies": [
+ ["strip-ansi", "npm:6.0.0"],
+ ["ansi-regex", "npm:5.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["strip-json-comments", [
+ ["npm:2.0.1", {
+ "packageLocation": "./.yarn/cache/strip-json-comments-npm-2.0.1-e7883b2d04-e60d99aa28.zip/node_modules/strip-json-comments/",
+ "packageDependencies": [
+ ["strip-json-comments", "npm:2.0.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.1.1", {
+ "packageLocation": "./.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-f16719ce25.zip/node_modules/strip-json-comments/",
+ "packageDependencies": [
+ ["strip-json-comments", "npm:3.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["superagent", [
+ ["npm:6.1.0", {
+ "packageLocation": "./.yarn/cache/superagent-npm-6.1.0-053b76aea5-bc21d32d9d.zip/node_modules/superagent/",
+ "packageDependencies": [
+ ["superagent", "npm:6.1.0"],
+ ["component-emitter", "npm:1.3.0"],
+ ["cookiejar", "npm:2.1.2"],
+ ["debug", "virtual:06f16ce4314489ede1782fd373bd645f3d5af2ac974979fef538e01b3ea8becd0500df8c4dacd06023014cd557e779559cef04d001a22387523c61a0010eec98#npm:4.1.1"],
+ ["fast-safe-stringify", "npm:2.0.7"],
+ ["form-data", "npm:3.0.0"],
+ ["formidable", "npm:1.2.2"],
+ ["methods", "npm:1.1.2"],
+ ["mime", "npm:2.4.6"],
+ ["qs", "npm:6.9.4"],
+ ["readable-stream", "npm:3.6.0"],
+ ["semver", "npm:7.3.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["supports-color", [
+ ["npm:5.5.0", {
+ "packageLocation": "./.yarn/cache/supports-color-npm-5.5.0-183ac537bc-edacee6425.zip/node_modules/supports-color/",
+ "packageDependencies": [
+ ["supports-color", "npm:5.5.0"],
+ ["has-flag", "npm:3.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:7.1.0", {
+ "packageLocation": "./.yarn/cache/supports-color-npm-7.1.0-df2ba1e338-6130f36b2a.zip/node_modules/supports-color/",
+ "packageDependencies": [
+ ["supports-color", "npm:7.1.0"],
+ ["has-flag", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["table", [
+ ["npm:5.4.6", {
+ "packageLocation": "./.yarn/cache/table-npm-5.4.6-190b118384-38877a196c.zip/node_modules/table/",
+ "packageDependencies": [
+ ["table", "npm:5.4.6"],
+ ["ajv", "npm:6.12.0"],
+ ["lodash", "npm:4.17.15"],
+ ["slice-ansi", "npm:2.1.0"],
+ ["string-width", "npm:3.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["tar", [
+ ["npm:2.2.2", {
+ "packageLocation": "./.yarn/cache/tar-npm-2.2.2-0ce6504da4-a8eeafd7ea.zip/node_modules/tar/",
+ "packageDependencies": [
+ ["tar", "npm:2.2.2"],
+ ["block-stream", "npm:0.0.9"],
+ ["fstream", "npm:1.0.12"],
+ ["inherits", "npm:2.0.4"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.4.13", {
+ "packageLocation": "./.yarn/cache/tar-npm-4.4.13-2a4e7ee80f-d325c316ac.zip/node_modules/tar/",
+ "packageDependencies": [
+ ["tar", "npm:4.4.13"],
+ ["chownr", "npm:1.1.4"],
+ ["fs-minipass", "npm:1.2.7"],
+ ["minipass", "npm:2.9.0"],
+ ["minizlib", "npm:1.3.3"],
+ ["mkdirp", "npm:0.5.1"],
+ ["safe-buffer", "npm:5.2.0"],
+ ["yallist", "npm:3.1.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:6.0.5", {
+ "packageLocation": "./.yarn/cache/tar-npm-6.0.5-a5360f3389-7ae2621092.zip/node_modules/tar/",
+ "packageDependencies": [
+ ["tar", "npm:6.0.5"],
+ ["chownr", "npm:2.0.0"],
+ ["fs-minipass", "npm:2.1.0"],
+ ["minipass", "npm:3.1.3"],
+ ["minizlib", "npm:2.1.2"],
+ ["mkdirp", "npm:1.0.4"],
+ ["yallist", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["term-size", [
+ ["npm:2.2.0", {
+ "packageLocation": "./.yarn/unplugged/term-size-npm-2.2.0-2f8b439547/node_modules/term-size/",
+ "packageDependencies": [
+ ["term-size", "npm:2.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["text-table", [
+ ["npm:0.2.0", {
+ "packageLocation": "./.yarn/cache/text-table-npm-0.2.0-d92a778b59-373904ce70.zip/node_modules/text-table/",
+ "packageDependencies": [
+ ["text-table", "npm:0.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["to-readable-stream", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/to-readable-stream-npm-1.0.0-4fa4da8130-aa4b65d3e7.zip/node_modules/to-readable-stream/",
+ "packageDependencies": [
+ ["to-readable-stream", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["to-regex-range", [
+ ["npm:5.0.1", {
+ "packageLocation": "./.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-2b6001e314.zip/node_modules/to-regex-range/",
+ "packageDependencies": [
+ ["to-regex-range", "npm:5.0.1"],
+ ["is-number", "npm:7.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["toposort-class", [
+ ["npm:1.0.1", {
+ "packageLocation": "./.yarn/cache/toposort-class-npm-1.0.1-aefabde69e-cead76d5ab.zip/node_modules/toposort-class/",
+ "packageDependencies": [
+ ["toposort-class", "npm:1.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["touch", [
+ ["npm:3.1.0", {
+ "packageLocation": "./.yarn/cache/touch-npm-3.1.0-e2eacebbda-97a6a508e3.zip/node_modules/touch/",
+ "packageDependencies": [
+ ["touch", "npm:3.1.0"],
+ ["nopt", "npm:1.0.10"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["tough-cookie", [
+ ["npm:2.5.0", {
+ "packageLocation": "./.yarn/cache/tough-cookie-npm-2.5.0-79a2fe43fe-bf5d6fac5c.zip/node_modules/tough-cookie/",
+ "packageDependencies": [
+ ["tough-cookie", "npm:2.5.0"],
+ ["psl", "npm:1.7.0"],
+ ["punycode", "npm:2.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ts-node", [
+ ["virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:9.0.0", {
+ "packageLocation": "./.yarn/$$virtual/ts-node-virtual-1be5484f61/0/cache/ts-node-npm-9.0.0-7f58a021c2-49d2ab087f.zip/node_modules/ts-node/",
+ "packageDependencies": [
+ ["ts-node", "virtual:5ce05c41c9043e0886ec6a20992505317c005f96884fced0b45c0ca145bdfba7afc5353c7560b02403f219ee2e1740f108926594c04d2734905204b1f03831e2#npm:9.0.0"],
+ ["@types/typescript", null],
+ ["arg", "npm:4.1.3"],
+ ["diff", "npm:4.0.2"],
+ ["make-error", "npm:1.3.6"],
+ ["source-map-support", "npm:0.5.19"],
+ ["typescript", "patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698"],
+ ["yn", "npm:3.1.1"]
+ ],
+ "packagePeers": [
+ "@types/typescript",
+ "typescript"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["tslib", [
+ ["npm:1.11.1", {
+ "packageLocation": "./.yarn/cache/tslib-npm-1.11.1-8e4faed70f-d40eba08de.zip/node_modules/tslib/",
+ "packageDependencies": [
+ ["tslib", "npm:1.11.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["tsutils", [
+ ["virtual:d93c6383b1bdedf90c93794b5dfb0a042e7c03299724b7f292453a71f231a915f8fcb6e3c93ae62d338e089a4f08be8908c286c442393c02082bac2867114b58#npm:3.17.1", {
+ "packageLocation": "./.yarn/$$virtual/tsutils-virtual-28e36dc8de/0/cache/tsutils-npm-3.17.1-ed6df1e57e-bed8ff7998.zip/node_modules/tsutils/",
+ "packageDependencies": [
+ ["tsutils", "virtual:d93c6383b1bdedf90c93794b5dfb0a042e7c03299724b7f292453a71f231a915f8fcb6e3c93ae62d338e089a4f08be8908c286c442393c02082bac2867114b58#npm:3.17.1"],
+ ["@types/typescript", null],
+ ["tslib", "npm:1.11.1"],
+ ["typescript", "patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698"]
+ ],
+ "packagePeers": [
+ "@types/typescript",
+ "typescript"
+ ],
+ "linkType": "HARD",
+ }],
+ ["virtual:dfbac2f952a0dcf6b546c6f87008213b68e6d1da66779d6ed0564a7b28aee7bdc059e4c49b4d09a67b853fe0c70d952a5157df5842ad79cd5e093a02ac0282eb#npm:3.17.1", {
+ "packageLocation": "./.yarn/$$virtual/tsutils-virtual-d975cafd11/0/cache/tsutils-npm-3.17.1-ed6df1e57e-bed8ff7998.zip/node_modules/tsutils/",
+ "packageDependencies": [
+ ["tsutils", "virtual:dfbac2f952a0dcf6b546c6f87008213b68e6d1da66779d6ed0564a7b28aee7bdc059e4c49b4d09a67b853fe0c70d952a5157df5842ad79cd5e093a02ac0282eb#npm:3.17.1"],
+ ["@types/typescript", null],
+ ["tslib", "npm:1.11.1"],
+ ["typescript", null]
+ ],
+ "packagePeers": [
+ "@types/typescript",
+ "typescript"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["tunnel-agent", [
+ ["npm:0.6.0", {
+ "packageLocation": "./.yarn/cache/tunnel-agent-npm-0.6.0-64345ab7eb-03db75a4f9.zip/node_modules/tunnel-agent/",
+ "packageDependencies": [
+ ["tunnel-agent", "npm:0.6.0"],
+ ["safe-buffer", "npm:5.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["tweetnacl", [
+ ["npm:0.14.5", {
+ "packageLocation": "./.yarn/cache/tweetnacl-npm-0.14.5-a3f766c0d1-e1c9d52e2e.zip/node_modules/tweetnacl/",
+ "packageDependencies": [
+ ["tweetnacl", "npm:0.14.5"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:1.0.3", {
+ "packageLocation": "./.yarn/cache/tweetnacl-npm-1.0.3-b7eef04660-1188f3ef85.zip/node_modules/tweetnacl/",
+ "packageDependencies": [
+ ["tweetnacl", "npm:1.0.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["type-check", [
+ ["npm:0.4.0", {
+ "packageLocation": "./.yarn/cache/type-check-npm-0.4.0-60565800ce-6c2e1ce339.zip/node_modules/type-check/",
+ "packageDependencies": [
+ ["type-check", "npm:0.4.0"],
+ ["prelude-ls", "npm:1.2.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["type-fest", [
+ ["npm:0.8.1", {
+ "packageLocation": "./.yarn/cache/type-fest-npm-0.8.1-351ad028fe-f8c4b4249f.zip/node_modules/type-fest/",
+ "packageDependencies": [
+ ["type-fest", "npm:0.8.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["typedarray-to-buffer", [
+ ["npm:3.1.5", {
+ "packageLocation": "./.yarn/cache/typedarray-to-buffer-npm-3.1.5-aadc11995e-e6e0e6812a.zip/node_modules/typedarray-to-buffer/",
+ "packageDependencies": [
+ ["typedarray-to-buffer", "npm:3.1.5"],
+ ["is-typedarray", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["typescript", [
+ ["patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698", {
+ "packageLocation": "./.yarn/cache/typescript-patch-1c53dc8ca0-72db87d09f.zip/node_modules/typescript/",
+ "packageDependencies": [
+ ["typescript", "patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["undefsafe", [
+ ["npm:2.0.3", {
+ "packageLocation": "./.yarn/cache/undefsafe-npm-2.0.3-ce5f7e2bb1-0974f82a87.zip/node_modules/undefsafe/",
+ "packageDependencies": [
+ ["undefsafe", "npm:2.0.3"],
+ ["debug", "virtual:ce5f7e2bb1b7f4095649047ca6318b6ca89dc972e9361c95030a080bc15dedfcd36c6ad1bb01a681d051a8e1766899039d1a9ddceeff9d2a2c0650a4aeda303b#npm:2.6.9"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["unique-random", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/unique-random-npm-2.1.0-a02f714842-8c34a932c0.zip/node_modules/unique-random/",
+ "packageDependencies": [
+ ["unique-random", "npm:2.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["unique-random-array", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/unique-random-array-npm-2.0.0-281802a2d0-4c4a36d2f8.zip/node_modules/unique-random-array/",
+ "packageDependencies": [
+ ["unique-random-array", "npm:2.0.0"],
+ ["unique-random", "npm:2.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["unique-string", [
+ ["npm:2.0.0", {
+ "packageLocation": "./.yarn/cache/unique-string-npm-2.0.0-3153c97e47-a2748b41ea.zip/node_modules/unique-string/",
+ "packageDependencies": [
+ ["unique-string", "npm:2.0.0"],
+ ["crypto-random-string", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["update-notifier", [
+ ["npm:4.1.3", {
+ "packageLocation": "./.yarn/cache/update-notifier-npm-4.1.3-837e724aca-90362dcdf3.zip/node_modules/update-notifier/",
+ "packageDependencies": [
+ ["update-notifier", "npm:4.1.3"],
+ ["boxen", "npm:4.2.0"],
+ ["chalk", "npm:3.0.0"],
+ ["configstore", "npm:5.0.1"],
+ ["has-yarn", "npm:2.1.0"],
+ ["import-lazy", "npm:2.1.0"],
+ ["is-ci", "npm:2.0.0"],
+ ["is-installed-globally", "npm:0.3.2"],
+ ["is-npm", "npm:4.0.0"],
+ ["is-yarn-global", "npm:0.3.0"],
+ ["latest-version", "npm:5.1.0"],
+ ["pupa", "npm:2.0.1"],
+ ["semver-diff", "npm:3.1.1"],
+ ["xdg-basedir", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["uri-js", [
+ ["npm:4.2.2", {
+ "packageLocation": "./.yarn/cache/uri-js-npm-4.2.2-e6ac2fca26-651a49f55d.zip/node_modules/uri-js/",
+ "packageDependencies": [
+ ["uri-js", "npm:4.2.2"],
+ ["punycode", "npm:2.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["url-parse-lax", [
+ ["npm:3.0.0", {
+ "packageLocation": "./.yarn/cache/url-parse-lax-npm-3.0.0-92aa8effa0-334817036b.zip/node_modules/url-parse-lax/",
+ "packageDependencies": [
+ ["url-parse-lax", "npm:3.0.0"],
+ ["prepend-http", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["util-deprecate", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-73c2b1cf02.zip/node_modules/util-deprecate/",
+ "packageDependencies": [
+ ["util-deprecate", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["uuid", [
+ ["npm:3.4.0", {
+ "packageLocation": "./.yarn/cache/uuid-npm-3.4.0-4fd8ef88ad-1ce3f37e21.zip/node_modules/uuid/",
+ "packageDependencies": [
+ ["uuid", "npm:3.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["v8-compile-cache", [
+ ["npm:2.1.0", {
+ "packageLocation": "./.yarn/cache/v8-compile-cache-npm-2.1.0-86ea69cdd0-b7490d5484.zip/node_modules/v8-compile-cache/",
+ "packageDependencies": [
+ ["v8-compile-cache", "npm:2.1.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["validator", [
+ ["npm:10.11.0", {
+ "packageLocation": "./.yarn/cache/validator-npm-10.11.0-62602d1058-07a37cd146.zip/node_modules/validator/",
+ "packageDependencies": [
+ ["validator", "npm:10.11.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["verror", [
+ ["npm:1.10.0", {
+ "packageLocation": "./.yarn/cache/verror-npm-1.10.0-c3f839c579-38ea80312c.zip/node_modules/verror/",
+ "packageDependencies": [
+ ["verror", "npm:1.10.0"],
+ ["assert-plus", "npm:1.0.0"],
+ ["core-util-is", "npm:1.0.2"],
+ ["extsprintf", "npm:1.4.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["which", [
+ ["npm:1.3.1", {
+ "packageLocation": "./.yarn/cache/which-npm-1.3.1-f0ebb8bdd8-298d95f9c1.zip/node_modules/which/",
+ "packageDependencies": [
+ ["which", "npm:1.3.1"],
+ ["isexe", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:2.0.2", {
+ "packageLocation": "./.yarn/cache/which-npm-2.0.2-320ddf72f7-ea9b1db126.zip/node_modules/which/",
+ "packageDependencies": [
+ ["which", "npm:2.0.2"],
+ ["isexe", "npm:2.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["which-pm-runs", [
+ ["npm:1.0.0", {
+ "packageLocation": "./.yarn/cache/which-pm-runs-npm-1.0.0-c3252bc9d6-0bb79a782e.zip/node_modules/which-pm-runs/",
+ "packageDependencies": [
+ ["which-pm-runs", "npm:1.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["wide-align", [
+ ["npm:1.1.3", {
+ "packageLocation": "./.yarn/cache/wide-align-npm-1.1.3-48c7d4953c-4f850f84da.zip/node_modules/wide-align/",
+ "packageDependencies": [
+ ["wide-align", "npm:1.1.3"],
+ ["string-width", "npm:2.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["widest-line", [
+ ["npm:3.1.0", {
+ "packageLocation": "./.yarn/cache/widest-line-npm-3.1.0-717bf2680b-729c30582e.zip/node_modules/widest-line/",
+ "packageDependencies": [
+ ["widest-line", "npm:3.1.0"],
+ ["string-width", "npm:4.2.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["wkx", [
+ ["npm:0.4.8", {
+ "packageLocation": "./.yarn/cache/wkx-npm-0.4.8-50b554d0a6-b18c150a87.zip/node_modules/wkx/",
+ "packageDependencies": [
+ ["wkx", "npm:0.4.8"],
+ ["@types/node", "npm:13.9.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["word-wrap", [
+ ["npm:1.2.3", {
+ "packageLocation": "./.yarn/cache/word-wrap-npm-1.2.3-7fb15ab002-6526abd75d.zip/node_modules/word-wrap/",
+ "packageDependencies": [
+ ["word-wrap", "npm:1.2.3"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["wrappy", [
+ ["npm:1.0.2", {
+ "packageLocation": "./.yarn/cache/wrappy-npm-1.0.2-916de4d4b3-519fcda0fc.zip/node_modules/wrappy/",
+ "packageDependencies": [
+ ["wrappy", "npm:1.0.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["write", [
+ ["npm:1.0.3", {
+ "packageLocation": "./.yarn/cache/write-npm-1.0.3-1bac756049-e8f8fddefe.zip/node_modules/write/",
+ "packageDependencies": [
+ ["write", "npm:1.0.3"],
+ ["mkdirp", "npm:0.5.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["write-file-atomic", [
+ ["npm:3.0.3", {
+ "packageLocation": "./.yarn/cache/write-file-atomic-npm-3.0.3-d948a237da-a26a8699c3.zip/node_modules/write-file-atomic/",
+ "packageDependencies": [
+ ["write-file-atomic", "npm:3.0.3"],
+ ["imurmurhash", "npm:0.1.4"],
+ ["is-typedarray", "npm:1.0.0"],
+ ["signal-exit", "npm:3.0.2"],
+ ["typedarray-to-buffer", "npm:3.1.5"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ws", [
+ ["virtual:92101433af3ad9086bd309efc58b49a2a279d7d9ae712eb40f87f5319a8a118dfed7413a86f4436ecf8640ac4fa5e05f64856bd8706fdb6dd1f22c5ddb2ade75#npm:7.3.1", {
+ "packageLocation": "./.yarn/$$virtual/ws-virtual-3c15b0728c/0/cache/ws-npm-7.3.1-0fa30fe373-9302f1f665.zip/node_modules/ws/",
+ "packageDependencies": [
+ ["ws", "virtual:92101433af3ad9086bd309efc58b49a2a279d7d9ae712eb40f87f5319a8a118dfed7413a86f4436ecf8640ac4fa5e05f64856bd8706fdb6dd1f22c5ddb2ade75#npm:7.3.1"],
+ ["@types/bufferutil", null],
+ ["@types/utf-8-validate", null],
+ ["bufferutil", null],
+ ["utf-8-validate", null]
+ ],
+ "packagePeers": [
+ "@types/bufferutil",
+ "@types/utf-8-validate",
+ "bufferutil",
+ "utf-8-validate"
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["xdg-basedir", [
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/xdg-basedir-npm-4.0.0-ed08d380e2-928953cb7d.zip/node_modules/xdg-basedir/",
+ "packageDependencies": [
+ ["xdg-basedir", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["yallist", [
+ ["npm:3.1.1", {
+ "packageLocation": "./.yarn/cache/yallist-npm-3.1.1-a568a556b4-f352c93b92.zip/node_modules/yallist/",
+ "packageDependencies": [
+ ["yallist", "npm:3.1.1"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:4.0.0", {
+ "packageLocation": "./.yarn/cache/yallist-npm-4.0.0-b493d9e907-a2960ef879.zip/node_modules/yallist/",
+ "packageDependencies": [
+ ["yallist", "npm:4.0.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["yaml", [
+ ["npm:1.10.0", {
+ "packageLocation": "./.yarn/cache/yaml-npm-1.10.0-3e2d763b45-d4cc9f9724.zip/node_modules/yaml/",
+ "packageDependencies": [
+ ["yaml", "npm:1.10.0"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["yn", [
+ ["npm:3.1.1", {
+ "packageLocation": "./.yarn/cache/yn-npm-3.1.1-8ad4259784-bff63b8056.zip/node_modules/yn/",
+ "packageDependencies": [
+ ["yn", "npm:3.1.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["youtube.ts", [
+ ["npm:0.1.8", {
+ "packageLocation": "./.yarn/cache/youtube.ts-npm-0.1.8-ee2489b51d-90f5b5f594.zip/node_modules/youtube.ts/",
+ "packageDependencies": [
+ ["youtube.ts", "npm:0.1.8"],
+ ["axios", "npm:0.19.2"],
+ ["ytdl-core", "npm:3.2.2"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ytdl-core", [
+ ["npm:3.2.2", {
+ "packageLocation": "./.yarn/cache/ytdl-core-npm-3.2.2-38bc68a1c1-38dd227300.zip/node_modules/ytdl-core/",
+ "packageDependencies": [
+ ["ytdl-core", "npm:3.2.2"],
+ ["html-entities", "npm:1.3.1"],
+ ["m3u8stream", "npm:0.7.1"],
+ ["miniget", "npm:2.0.1"],
+ ["sax", "npm:1.2.4"]
+ ],
+ "linkType": "HARD",
+ }],
+ ["npm:3.4.2", {
+ "packageLocation": "./.yarn/cache/ytdl-core-npm-3.4.2-609fa82cb3-e7be7d2cf0.zip/node_modules/ytdl-core/",
+ "packageDependencies": [
+ ["ytdl-core", "npm:3.4.2"],
+ ["html-entities", "npm:1.3.1"],
+ ["m3u8stream", "npm:0.7.1"],
+ ["miniget", "npm:2.0.1"],
+ ["sax", "npm:1.2.4"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]],
+ ["ytsr", [
+ ["npm:1.0.4", {
+ "packageLocation": "./.yarn/cache/ytsr-npm-1.0.4-62724bd203-5938a1c278.zip/node_modules/ytsr/",
+ "packageDependencies": [
+ ["ytsr", "npm:1.0.4"],
+ ["html-entities", "npm:1.3.1"],
+ ["miniget", "npm:2.0.1"]
+ ],
+ "linkType": "HARD",
+ }]
+ ]]
+ ]
+ }, {basePath: basePath || __dirname});
+ }
+
+(function webpackUniversalModuleDefinition(root, factory) {
+ if(typeof exports === 'object' && typeof module === 'object')
+ module.exports = factory();
+ else if(typeof define === 'function' && define.amd)
+ define([], factory);
+ else if(typeof exports === 'object')
+ exports["pnpHook"] = factory();
+ else
+ root["pnpHook"] = factory();
+})(global, function() {
+return /******/ (() => { // webpackBootstrap
+/******/ var __webpack_modules__ = ({
+
+/***/ 398:
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, {
+ "uY": () => /* binding */ FakeFS,
+ "fS": () => /* binding */ BasePortableFakeFS
+});
+
+// UNUSED EXPORTS: normalizeLineEndings
+
+// EXTERNAL MODULE: external "os"
+var external_os_ = __webpack_require__(87);
+
+// EXTERNAL MODULE: external "fs"
+var external_fs_ = __webpack_require__(747);
+var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_);
+
+// EXTERNAL MODULE: ../yarnpkg-fslib/sources/path.ts
+var path = __webpack_require__(9);
+
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/copyPromise.ts
+
+ // 1980-01-01, like Fedora
+
+const defaultTime = 315532800;
+async function copyPromise(destinationFs, destination, sourceFs, source, opts) {
+ const normalizedDestination = destinationFs.pathUtils.normalize(destination);
+ const normalizedSource = sourceFs.pathUtils.normalize(source);
+ const prelayout = [];
+ const postlayout = [];
+ await destinationFs.mkdirPromise(destinationFs.pathUtils.dirname(destination), {
+ recursive: true
+ });
+ const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs);
+ await copyImpl(prelayout, postlayout, updateTime, destinationFs, normalizedDestination, sourceFs, normalizedSource, opts);
+
+ for (const operation of prelayout) await operation();
+
+ await Promise.all(postlayout.map(operation => {
+ return operation();
+ }));
+}
+
+async function copyImpl(prelayout, postlayout, updateTime, destinationFs, destination, sourceFs, source, opts) {
+ const destinationStat = await maybeLStat(destinationFs, destination);
+ const sourceStat = await sourceFs.lstatPromise(source);
+ if (opts.stableTime) postlayout.push(() => updateTime(destination, defaultTime, defaultTime));else postlayout.push(() => updateTime(destination, sourceStat.atime, sourceStat.mtime));
+
+ switch (true) {
+ case sourceStat.isDirectory():
+ {
+ await copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
+ }
+ break;
+
+ case sourceStat.isFile():
+ {
+ await copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
+ }
+ break;
+
+ case sourceStat.isSymbolicLink():
+ {
+ await copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
+ }
+ break;
+
+ default:
+ {
+ throw new Error(`Unsupported file type (${sourceStat.mode})`);
+ }
+ break;
+ }
+
+ postlayout.push(() => {
+ return destinationFs.chmodPromise(destination, sourceStat.mode & 0o777);
+ });
+}
+
+async function maybeLStat(baseFs, p) {
+ try {
+ return await baseFs.lstatPromise(p);
+ } catch (e) {
+ return null;
+ }
+}
+
+async function copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
+ if (destinationStat !== null && !destinationStat.isDirectory()) {
+ if (opts.overwrite) {
+ prelayout.push(async () => destinationFs.removePromise(destination));
+ destinationStat = null;
+ } else {
+ return;
+ }
+ }
+
+ if (destinationStat === null) prelayout.push(async () => destinationFs.mkdirPromise(destination, {
+ mode: sourceStat.mode
+ }));
+ const entries = await sourceFs.readdirPromise(source);
+
+ if (opts.stableSort) {
+ for (const entry of entries.sort()) {
+ await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), opts);
+ }
+ } else {
+ await Promise.all(entries.map(async entry => {
+ await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), opts);
+ }));
+ }
+}
+
+async function copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
+ if (destinationStat !== null) {
+ if (opts.overwrite) {
+ prelayout.push(async () => destinationFs.removePromise(destination));
+ destinationStat = null;
+ } else {
+ return;
+ }
+ }
+
+ if (destinationFs === sourceFs) {
+ prelayout.push(async () => destinationFs.copyFilePromise(source, destination, (external_fs_default()).constants.COPYFILE_FICLONE));
+ } else {
+ prelayout.push(async () => destinationFs.writeFilePromise(destination, await sourceFs.readFilePromise(source)));
+ }
+}
+
+async function copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
+ if (destinationStat !== null) {
+ if (opts.overwrite) {
+ prelayout.push(async () => destinationFs.removePromise(destination));
+ destinationStat = null;
+ } else {
+ return;
+ }
+ }
+
+ const target = await sourceFs.readlinkPromise(source);
+ prelayout.push(async () => destinationFs.symlinkPromise((0,path/* convertPath */.CI)(destinationFs.pathUtils, target), destination));
+}
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/FakeFS.ts
+
+
+
+class FakeFS {
+ constructor(pathUtils) {
+ this.pathUtils = pathUtils;
+ }
+
+ async *genTraversePromise(init, {
+ stableSort = false
+ } = {}) {
+ const stack = [init];
+
+ while (stack.length > 0) {
+ const p = stack.shift();
+ const entry = await this.lstatPromise(p);
+
+ if (entry.isDirectory()) {
+ const entries = await this.readdirPromise(p);
+
+ if (stableSort) {
+ for (const entry of entries.sort()) {
+ stack.push(this.pathUtils.join(p, entry));
+ }
+ } else {
+ throw new Error(`Not supported`);
+ }
+ } else {
+ yield p;
+ }
+ }
+ }
+
+ async removePromise(p, {
+ recursive = true,
+ maxRetries = 5
+ } = {}) {
+ let stat;
+
+ try {
+ stat = await this.lstatPromise(p);
+ } catch (error) {
+ if (error.code === `ENOENT`) {
+ return;
+ } else {
+ throw error;
+ }
+ }
+
+ if (stat.isDirectory()) {
+ if (recursive) for (const entry of await this.readdirPromise(p)) await this.removePromise(this.pathUtils.resolve(p, entry)); // 5 gives 1s worth of retries at worst
+
+ let t = 0;
+
+ do {
+ try {
+ await this.rmdirPromise(p);
+ break;
+ } catch (error) {
+ if (error.code === `EBUSY` || error.code === `ENOTEMPTY`) {
+ if (maxRetries === 0) {
+ break;
+ } else {
+ await new Promise(resolve => setTimeout(resolve, t * 100));
+ continue;
+ }
+ } else {
+ throw error;
+ }
+ }
+ } while (t++ < maxRetries);
+ } else {
+ await this.unlinkPromise(p);
+ }
+ }
+
+ removeSync(p, {
+ recursive = true
+ } = {}) {
+ let stat;
+
+ try {
+ stat = this.lstatSync(p);
+ } catch (error) {
+ if (error.code === `ENOENT`) {
+ return;
+ } else {
+ throw error;
+ }
+ }
+
+ if (stat.isDirectory()) {
+ if (recursive) for (const entry of this.readdirSync(p)) this.removeSync(this.pathUtils.resolve(p, entry));
+ this.rmdirSync(p);
+ } else {
+ this.unlinkSync(p);
+ }
+ }
+
+ async mkdirpPromise(p, {
+ chmod,
+ utimes
+ } = {}) {
+ p = this.resolve(p);
+ if (p === this.pathUtils.dirname(p)) return;
+ const parts = p.split(this.pathUtils.sep);
+
+ for (let u = 2; u <= parts.length; ++u) {
+ const subPath = parts.slice(0, u).join(this.pathUtils.sep);
+
+ if (!this.existsSync(subPath)) {
+ try {
+ await this.mkdirPromise(subPath);
+ } catch (error) {
+ if (error.code === `EEXIST`) {
+ continue;
+ } else {
+ throw error;
+ }
+ }
+
+ if (chmod != null) await this.chmodPromise(subPath, chmod);
+
+ if (utimes != null) {
+ await this.utimesPromise(subPath, utimes[0], utimes[1]);
+ } else {
+ const parentStat = await this.statPromise(this.pathUtils.dirname(subPath));
+ await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime);
+ }
+ }
+ }
+ }
+
+ mkdirpSync(p, {
+ chmod,
+ utimes
+ } = {}) {
+ p = this.resolve(p);
+ if (p === this.pathUtils.dirname(p)) return;
+ const parts = p.split(this.pathUtils.sep);
+
+ for (let u = 2; u <= parts.length; ++u) {
+ const subPath = parts.slice(0, u).join(this.pathUtils.sep);
+
+ if (!this.existsSync(subPath)) {
+ try {
+ this.mkdirSync(subPath);
+ } catch (error) {
+ if (error.code === `EEXIST`) {
+ continue;
+ } else {
+ throw error;
+ }
+ }
+
+ if (chmod != null) this.chmodSync(subPath, chmod);
+
+ if (utimes != null) {
+ this.utimesSync(subPath, utimes[0], utimes[1]);
+ } else {
+ const parentStat = this.statSync(this.pathUtils.dirname(subPath));
+ this.utimesSync(subPath, parentStat.atime, parentStat.mtime);
+ }
+ }
+ }
+ }
+
+ async copyPromise(destination, source, {
+ baseFs = this,
+ overwrite = true,
+ stableSort = false,
+ stableTime = false
+ } = {}) {
+ return await copyPromise(this, destination, baseFs, source, {
+ overwrite,
+ stableSort,
+ stableTime
+ });
+ }
+
+ copySync(destination, source, {
+ baseFs = this,
+ overwrite = true
+ } = {}) {
+ const stat = baseFs.lstatSync(source);
+ const exists = this.existsSync(destination);
+
+ if (stat.isDirectory()) {
+ this.mkdirpSync(destination);
+ const directoryListing = baseFs.readdirSync(source);
+
+ for (const entry of directoryListing) {
+ this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), {
+ baseFs,
+ overwrite
+ });
+ }
+ } else if (stat.isFile()) {
+ if (!exists || overwrite) {
+ if (exists) this.removeSync(destination);
+ const content = baseFs.readFileSync(source);
+ this.writeFileSync(destination, content);
+ }
+ } else if (stat.isSymbolicLink()) {
+ if (!exists || overwrite) {
+ if (exists) this.removeSync(destination);
+ const target = baseFs.readlinkSync(source);
+ this.symlinkSync((0,path/* convertPath */.CI)(this.pathUtils, target), destination);
+ }
+ } else {
+ throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`);
+ }
+
+ const mode = stat.mode & 0o777;
+ this.chmodSync(destination, mode);
+ }
+
+ async changeFilePromise(p, content, {
+ automaticNewlines
+ } = {}) {
+ let current = ``;
+
+ try {
+ current = await this.readFilePromise(p, `utf8`);
+ } catch (error) {// ignore errors, no big deal
+ }
+
+ const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
+ if (current === normalizedContent) return;
+ await this.writeFilePromise(p, normalizedContent);
+ }
+
+ changeFileSync(p, content, {
+ automaticNewlines = false
+ } = {}) {
+ let current = ``;
+
+ try {
+ current = this.readFileSync(p, `utf8`);
+ } catch (error) {// ignore errors, no big deal
+ }
+
+ const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
+ if (current === normalizedContent) return;
+ this.writeFileSync(p, normalizedContent);
+ }
+
+ async movePromise(fromP, toP) {
+ try {
+ await this.renamePromise(fromP, toP);
+ } catch (error) {
+ if (error.code === `EXDEV`) {
+ await this.copyPromise(toP, fromP);
+ await this.removePromise(fromP);
+ } else {
+ throw error;
+ }
+ }
+ }
+
+ moveSync(fromP, toP) {
+ try {
+ this.renameSync(fromP, toP);
+ } catch (error) {
+ if (error.code === `EXDEV`) {
+ this.copySync(toP, fromP);
+ this.removeSync(fromP);
+ } else {
+ throw error;
+ }
+ }
+ }
+
+ async lockPromise(affectedPath, callback) {
+ const lockPath = `${affectedPath}.flock`;
+ const interval = 1000 / 60;
+ const startTime = Date.now();
+ let fd = null; // Even when we detect that a lock file exists, we still look inside to see
+ // whether the pid that created it is still alive. It's not foolproof
+ // (there are false positive), but there are no false negative and that's
+ // all that matters in 99% of the cases.
+
+ const isAlive = async () => {
+ let pid;
+
+ try {
+ [pid] = await this.readJsonPromise(lockPath);
+ } catch (error) {
+ // If we can't read the file repeatedly, we assume the process was
+ // aborted before even writing finishing writing the payload.
+ return Date.now() - startTime < 500;
+ }
+
+ try {
+ // "As a special case, a signal of 0 can be used to test for the
+ // existence of a process" - so we check whether it's alive.
+ process.kill(pid, 0);
+ return true;
+ } catch (error) {
+ return false;
+ }
+ };
+
+ while (fd === null) {
+ try {
+ fd = await this.openPromise(lockPath, `wx`);
+ } catch (error) {
+ if (error.code === `EEXIST`) {
+ if (!(await isAlive())) {
+ try {
+ await this.unlinkPromise(lockPath);
+ continue;
+ } catch (error) {// No big deal if we can't remove it. Just fallback to wait for
+ // it to be eventually released by its owner.
+ }
+ }
+
+ if (Date.now() - startTime < 60 * 1000) {
+ await new Promise(resolve => setTimeout(resolve, interval));
+ } else {
+ throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`);
+ }
+ } else {
+ throw error;
+ }
+ }
+ }
+
+ await this.writePromise(fd, JSON.stringify([process.pid]));
+
+ try {
+ return await callback();
+ } finally {
+ try {
+ // closePromise needs to come before unlinkPromise otherwise another process can attempt
+ // to get the file handle after the unlink but before close resuling in
+ // EPERM: operation not permitted, open
+ await this.closePromise(fd);
+ await this.unlinkPromise(lockPath);
+ } catch (error) {// noop
+ }
+ }
+ }
+
+ async readJsonPromise(p) {
+ const content = await this.readFilePromise(p, `utf8`);
+
+ try {
+ return JSON.parse(content);
+ } catch (error) {
+ error.message += ` (in ${p})`;
+ throw error;
+ }
+ }
+
+ readJsonSync(p) {
+ const content = this.readFileSync(p, `utf8`);
+
+ try {
+ return JSON.parse(content);
+ } catch (error) {
+ error.message += ` (in ${p})`;
+ throw error;
+ }
+ }
+
+ async writeJsonPromise(p, data) {
+ return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)}\n`);
+ }
+
+ writeJsonSync(p, data) {
+ return this.writeFileSync(p, `${JSON.stringify(data, null, 2)}\n`);
+ }
+
+ async preserveTimePromise(p, cb) {
+ const stat = await this.lstatPromise(p);
+ const result = await cb();
+ if (typeof result !== `undefined`) p = result;
+
+ if (this.lutimesPromise) {
+ await this.lutimesPromise(p, stat.atime, stat.mtime);
+ } else if (!stat.isSymbolicLink()) {
+ await this.utimesPromise(p, stat.atime, stat.mtime);
+ }
+ }
+
+ async preserveTimeSync(p, cb) {
+ const stat = this.lstatSync(p);
+ const result = cb();
+ if (typeof result !== `undefined`) p = result;
+
+ if (this.lutimesSync) {
+ this.lutimesSync(p, stat.atime, stat.mtime);
+ } else if (!stat.isSymbolicLink()) {
+ this.utimesSync(p, stat.atime, stat.mtime);
+ }
+ }
+
+}
+FakeFS.DEFAULT_TIME = 315532800;
+class BasePortableFakeFS extends FakeFS {
+ constructor() {
+ super(path/* ppath */.y1);
+ }
+
+}
+
+function getEndOfLine(content) {
+ const matches = content.match(/\r?\n/g);
+ if (matches === null) return external_os_.EOL;
+ const crlf = matches.filter(nl => nl === `\r\n`).length;
+ const lf = matches.length - crlf;
+ return crlf > lf ? `\r\n` : `\n`;
+}
+
+function normalizeLineEndings(originalContent, newContent) {
+ return newContent.replace(/\r?\n/g, getEndOfLine(originalContent));
+}
+
+/***/ }),
+
+/***/ 9:
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */ "LZ": () => /* binding */ PortablePath,
+/* harmony export */ "cS": () => /* binding */ npath,
+/* harmony export */ "y1": () => /* binding */ ppath,
+/* harmony export */ "CI": () => /* binding */ convertPath
+/* harmony export */ });
+/* unused harmony exports Filename, toFilename */
+/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(622);
+/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);
+
+var PathType;
+
+(function (PathType) {
+ PathType[PathType["File"] = 0] = "File";
+ PathType[PathType["Portable"] = 1] = "Portable";
+ PathType[PathType["Native"] = 2] = "Native";
+})(PathType || (PathType = {}));
+
+const PortablePath = {
+ root: `/`,
+ dot: `.`
+};
+const Filename = {
+ nodeModules: `node_modules`,
+ manifest: `package.json`,
+ lockfile: `yarn.lock`,
+ pnpJs: `.pnp.js`,
+ rc: `.yarnrc.yml`
+};
+const npath = Object.create((path__WEBPACK_IMPORTED_MODULE_0___default()));
+const ppath = Object.create((path__WEBPACK_IMPORTED_MODULE_0___default().posix));
+
+npath.cwd = () => process.cwd();
+
+ppath.cwd = () => toPortablePath(process.cwd());
+
+ppath.resolve = (...segments) => {
+ if (segments.length > 0 && ppath.isAbsolute(segments[0])) {
+ return path__WEBPACK_IMPORTED_MODULE_0___default().posix.resolve(...segments);
+ } else {
+ return path__WEBPACK_IMPORTED_MODULE_0___default().posix.resolve(ppath.cwd(), ...segments);
+ }
+};
+
+const contains = function (pathUtils, from, to) {
+ from = pathUtils.normalize(from);
+ to = pathUtils.normalize(to);
+ if (from === to) return `.`;
+ if (!from.endsWith(pathUtils.sep)) from = from + pathUtils.sep;
+
+ if (to.startsWith(from)) {
+ return to.slice(from.length);
+ } else {
+ return null;
+ }
+};
+
+npath.fromPortablePath = fromPortablePath;
+npath.toPortablePath = toPortablePath;
+
+npath.contains = (from, to) => contains(npath, from, to);
+
+ppath.contains = (from, to) => contains(ppath, from, to);
+
+const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/;
+const UNC_WINDOWS_PATH_REGEXP = /^\\\\(\.\\)?(.*)$/;
+const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/;
+const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; // Path should look like "/N:/berry/scripts/plugin-pack.js"
+// And transform to "N:\berry\scripts\plugin-pack.js"
+
+function fromPortablePath(p) {
+ if (process.platform !== `win32`) return p;
+ if (p.match(PORTABLE_PATH_REGEXP)) p = p.replace(PORTABLE_PATH_REGEXP, `$1`);else if (p.match(UNC_PORTABLE_PATH_REGEXP)) p = p.replace(UNC_PORTABLE_PATH_REGEXP, (match, p1, p2) => `\\\\${p1 ? `.\\` : ``}${p2}`);else return p;
+ return p.replace(/\//g, `\\`);
+} // Path should look like "N:/berry/scripts/plugin-pack.js"
+// And transform to "/N:/berry/scripts/plugin-pack.js"
+
+
+function toPortablePath(p) {
+ if (process.platform !== `win32`) return p;
+ if (p.match(WINDOWS_PATH_REGEXP)) p = p.replace(WINDOWS_PATH_REGEXP, `/$1`);else if (p.match(UNC_WINDOWS_PATH_REGEXP)) p = p.replace(UNC_WINDOWS_PATH_REGEXP, (match, p1, p2) => `/unc/${p1 ? `.dot/` : ``}${p2}`);
+ return p.replace(/\\/g, `/`);
+}
+
+function convertPath(targetPathUtils, sourcePath) {
+ return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath);
+}
+function toFilename(filename) {
+ if (npath.parse(filename).dir !== `` || ppath.parse(filename).dir !== ``) throw new Error(`Invalid filename: "${filename}"`);
+ return filename;
+}
+
+/***/ }),
+
+/***/ 170:
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, {
+ "default": () => /* default */ _entryPoint
+});
+
+// EXTERNAL MODULE: external "fs"
+var external_fs_ = __webpack_require__(747);
+var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_);
+
+// EXTERNAL MODULE: ../yarnpkg-fslib/sources/FakeFS.ts + 1 modules
+var FakeFS = __webpack_require__(398);
+
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/errors.ts
+function makeError(code, message) {
+ return Object.assign(new Error(`${code}: ${message}`), {
+ code
+ });
+}
+
+function EBUSY(message) {
+ return makeError(`EBUSY`, message);
+}
+function ENOSYS(message, reason) {
+ return makeError(`ENOSYS`, `${message}, ${reason}`);
+}
+function EINVAL(reason) {
+ return makeError(`EINVAL`, `invalid argument, ${reason}`);
+}
+function EBADF(reason) {
+ return makeError(`EBADF`, `bad file descriptor, ${reason}`);
+}
+function ENOENT(reason) {
+ return makeError(`ENOENT`, `no such file or directory, ${reason}`);
+}
+function ENOTDIR(reason) {
+ return makeError(`ENOTDIR`, `not a directory, ${reason}`);
+}
+function EISDIR(reason) {
+ return makeError(`EISDIR`, `illegal operation on a directory, ${reason}`);
+}
+function EEXIST(reason) {
+ return makeError(`EEXIST`, `file already exists, ${reason}`);
+}
+function EROFS(reason) {
+ return makeError(`EROFS`, `read-only filesystem, ${reason}`);
+}
+function ENOTEMPTY(reason) {
+ return makeError(`ENOTEMPTY`, `directory not empty, ${reason}`);
+}
+function EOPNOTSUPP(reason) {
+ return makeError(`EOPNOTSUPP`, `operation not supported, ${reason}`);
+}
+class LibzipError extends Error {
+ constructor(message, code) {
+ super(message);
+ this.name = `Libzip Error`;
+ this.code = code;
+ }
+
+}
+// EXTERNAL MODULE: ../yarnpkg-fslib/sources/path.ts
+var sources_path = __webpack_require__(9);
+
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/NodeFS.ts
+
+
+
+
+class NodeFS extends FakeFS/* BasePortableFakeFS */.fS {
+ constructor(realFs = (external_fs_default())) {
+ super();
+ this.realFs = realFs; // @ts-expect-error
+
+ if (typeof this.realFs.lutimes !== `undefined`) {
+ this.lutimesPromise = this.lutimesPromiseImpl;
+ this.lutimesSync = this.lutimesSyncImpl;
+ }
+ }
+
+ getExtractHint() {
+ return false;
+ }
+
+ getRealPath() {
+ return sources_path/* PortablePath.root */.LZ.root;
+ }
+
+ resolve(p) {
+ return sources_path/* ppath.resolve */.y1.resolve(p);
+ }
+
+ async openPromise(p, flags, mode) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.open(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject));
+ });
+ }
+
+ openSync(p, flags, mode) {
+ return this.realFs.openSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), flags, mode);
+ }
+
+ async readPromise(fd, buffer, offset = 0, length = 0, position = -1) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => {
+ if (error) {
+ reject(error);
+ } else {
+ resolve(bytesRead);
+ }
+ });
+ });
+ }
+
+ readSync(fd, buffer, offset, length, position) {
+ return this.realFs.readSync(fd, buffer, offset, length, position);
+ }
+
+ async writePromise(fd, buffer, offset, length, position) {
+ return await new Promise((resolve, reject) => {
+ if (typeof buffer === `string`) {
+ return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject));
+ } else {
+ return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject));
+ }
+ });
+ }
+
+ writeSync(fd, buffer, offset, length, position) {
+ if (typeof buffer === `string`) {
+ return this.realFs.writeSync(fd, buffer, offset);
+ } else {
+ return this.realFs.writeSync(fd, buffer, offset, length, position);
+ }
+ }
+
+ async closePromise(fd) {
+ await new Promise((resolve, reject) => {
+ this.realFs.close(fd, this.makeCallback(resolve, reject));
+ });
+ }
+
+ closeSync(fd) {
+ this.realFs.closeSync(fd);
+ }
+
+ createReadStream(p, opts) {
+ const realPath = p !== null ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p;
+ return this.realFs.createReadStream(realPath, opts);
+ }
+
+ createWriteStream(p, opts) {
+ const realPath = p !== null ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p;
+ return this.realFs.createWriteStream(realPath, opts);
+ }
+
+ async realpathPromise(p) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.realpath(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), {}, this.makeCallback(resolve, reject));
+ }).then(path => {
+ return sources_path/* npath.toPortablePath */.cS.toPortablePath(path);
+ });
+ }
+
+ realpathSync(p) {
+ return sources_path/* npath.toPortablePath */.cS.toPortablePath(this.realFs.realpathSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), {}));
+ }
+
+ async existsPromise(p) {
+ return await new Promise(resolve => {
+ this.realFs.exists(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), resolve);
+ });
+ }
+
+ accessSync(p, mode) {
+ return this.realFs.accessSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), mode);
+ }
+
+ async accessPromise(p, mode) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.access(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), mode, this.makeCallback(resolve, reject));
+ });
+ }
+
+ existsSync(p) {
+ return this.realFs.existsSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p));
+ }
+
+ async statPromise(p) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.stat(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(resolve, reject));
+ });
+ }
+
+ statSync(p) {
+ return this.realFs.statSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p));
+ }
+
+ async lstatPromise(p) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.lstat(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(resolve, reject));
+ });
+ }
+
+ lstatSync(p) {
+ return this.realFs.lstatSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p));
+ }
+
+ async chmodPromise(p, mask) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.chmod(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), mask, this.makeCallback(resolve, reject));
+ });
+ }
+
+ chmodSync(p, mask) {
+ return this.realFs.chmodSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), mask);
+ }
+
+ async chownPromise(p, uid, gid) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.chown(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject));
+ });
+ }
+
+ chownSync(p, uid, gid) {
+ return this.realFs.chownSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), uid, gid);
+ }
+
+ async renamePromise(oldP, newP) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.rename(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(oldP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(newP), this.makeCallback(resolve, reject));
+ });
+ }
+
+ renameSync(oldP, newP) {
+ return this.realFs.renameSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(oldP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(newP));
+ }
+
+ async copyFilePromise(sourceP, destP, flags = 0) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.copyFile(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(sourceP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(destP), flags, this.makeCallback(resolve, reject));
+ });
+ }
+
+ copyFileSync(sourceP, destP, flags = 0) {
+ return this.realFs.copyFileSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(sourceP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(destP), flags);
+ }
+
+ async appendFilePromise(p, content, opts) {
+ return await new Promise((resolve, reject) => {
+ const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p;
+
+ if (opts) {
+ this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject));
+ } else {
+ this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject));
+ }
+ });
+ }
+
+ appendFileSync(p, content, opts) {
+ const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p;
+
+ if (opts) {
+ this.realFs.appendFileSync(fsNativePath, content, opts);
+ } else {
+ this.realFs.appendFileSync(fsNativePath, content);
+ }
+ }
+
+ async writeFilePromise(p, content, opts) {
+ return await new Promise((resolve, reject) => {
+ const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p;
+
+ if (opts) {
+ this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject));
+ } else {
+ this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject));
+ }
+ });
+ }
+
+ writeFileSync(p, content, opts) {
+ const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p;
+
+ if (opts) {
+ this.realFs.writeFileSync(fsNativePath, content, opts);
+ } else {
+ this.realFs.writeFileSync(fsNativePath, content);
+ }
+ }
+
+ async unlinkPromise(p) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.unlink(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(resolve, reject));
+ });
+ }
+
+ unlinkSync(p) {
+ return this.realFs.unlinkSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p));
+ }
+
+ async utimesPromise(p, atime, mtime) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.utimes(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject));
+ });
+ }
+
+ utimesSync(p, atime, mtime) {
+ this.realFs.utimesSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), atime, mtime);
+ }
+
+ async lutimesPromiseImpl(p, atime, mtime) {
+ // @ts-expect-error: Not yet in DefinitelyTyped
+ const lutimes = this.realFs.lutimes;
+ if (typeof lutimes === `undefined`) throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`);
+ return await new Promise((resolve, reject) => {
+ lutimes.call(this.realFs, sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject));
+ });
+ }
+
+ lutimesSyncImpl(p, atime, mtime) {
+ // @ts-expect-error: Not yet in DefinitelyTyped
+ const lutimesSync = this.realFs.lutimesSync;
+ if (typeof lutimesSync === `undefined`) throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`);
+ lutimesSync.call(this.realFs, sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), atime, mtime);
+ }
+
+ async mkdirPromise(p, opts) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.mkdir(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
+ });
+ }
+
+ mkdirSync(p, opts) {
+ return this.realFs.mkdirSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), opts);
+ }
+
+ async rmdirPromise(p, opts) {
+ return await new Promise((resolve, reject) => {
+ // TODO: always pass opts when min node version is 12.10+
+ if (opts) {
+ this.realFs.rmdir(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
+ } else {
+ this.realFs.rmdir(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(resolve, reject));
+ }
+ });
+ }
+
+ rmdirSync(p, opts) {
+ return this.realFs.rmdirSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), opts);
+ }
+
+ async linkPromise(existingP, newP) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.link(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(existingP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(newP), this.makeCallback(resolve, reject));
+ });
+ }
+
+ linkSync(existingP, newP) {
+ return this.realFs.linkSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(existingP), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(newP));
+ }
+
+ async symlinkPromise(target, p, type) {
+ const symlinkType = type || (target.endsWith(`/`) ? `dir` : `file`);
+ return await new Promise((resolve, reject) => {
+ this.realFs.symlink(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(target.replace(/\/+$/, ``)), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), symlinkType, this.makeCallback(resolve, reject));
+ });
+ }
+
+ symlinkSync(target, p, type) {
+ const symlinkType = type || (target.endsWith(`/`) ? `dir` : `file`);
+ return this.realFs.symlinkSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(target.replace(/\/+$/, ``)), sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), symlinkType);
+ }
+
+ async readFilePromise(p, encoding) {
+ return await new Promise((resolve, reject) => {
+ const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p;
+ this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject));
+ });
+ }
+
+ readFileSync(p, encoding) {
+ const fsNativePath = typeof p === `string` ? sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p) : p;
+ return this.realFs.readFileSync(fsNativePath, encoding);
+ }
+
+ async readdirPromise(p, {
+ withFileTypes
+ } = {}) {
+ return await new Promise((resolve, reject) => {
+ if (withFileTypes) {
+ this.realFs.readdir(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), {
+ withFileTypes: true
+ }, this.makeCallback(resolve, reject));
+ } else {
+ this.realFs.readdir(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(value => resolve(value), reject));
+ }
+ });
+ }
+
+ readdirSync(p, {
+ withFileTypes
+ } = {}) {
+ if (withFileTypes) {
+ return this.realFs.readdirSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), {
+ withFileTypes: true
+ });
+ } else {
+ return this.realFs.readdirSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p));
+ }
+ }
+
+ async readlinkPromise(p) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.readlink(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), this.makeCallback(resolve, reject));
+ }).then(path => {
+ return sources_path/* npath.toPortablePath */.cS.toPortablePath(path);
+ });
+ }
+
+ readlinkSync(p) {
+ return sources_path/* npath.toPortablePath */.cS.toPortablePath(this.realFs.readlinkSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p)));
+ }
+
+ async truncatePromise(p, len) {
+ return await new Promise((resolve, reject) => {
+ this.realFs.truncate(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), len, this.makeCallback(resolve, reject));
+ });
+ }
+
+ truncateSync(p, len) {
+ return this.realFs.truncateSync(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), len);
+ }
+
+ watch(p, a, b) {
+ return this.realFs.watch(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), // @ts-expect-error
+ a, b);
+ }
+
+ watchFile(p, a, b) {
+ return this.realFs.watchFile(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), // @ts-expect-error
+ a, b);
+ }
+
+ unwatchFile(p, cb) {
+ return this.realFs.unwatchFile(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p), cb);
+ }
+
+ makeCallback(resolve, reject) {
+ return (err, result) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ };
+ }
+
+}
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ProxiedFS.ts
+
+class ProxiedFS extends FakeFS/* FakeFS */.uY {
+ getExtractHint(hints) {
+ return this.baseFs.getExtractHint(hints);
+ }
+
+ resolve(path) {
+ return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path)));
+ }
+
+ getRealPath() {
+ return this.mapFromBase(this.baseFs.getRealPath());
+ }
+
+ openPromise(p, flags, mode) {
+ return this.baseFs.openPromise(this.mapToBase(p), flags, mode);
+ }
+
+ openSync(p, flags, mode) {
+ return this.baseFs.openSync(this.mapToBase(p), flags, mode);
+ }
+
+ async readPromise(fd, buffer, offset, length, position) {
+ return await this.baseFs.readPromise(fd, buffer, offset, length, position);
+ }
+
+ readSync(fd, buffer, offset, length, position) {
+ return this.baseFs.readSync(fd, buffer, offset, length, position);
+ }
+
+ async writePromise(fd, buffer, offset, length, position) {
+ if (typeof buffer === `string`) {
+ return await this.baseFs.writePromise(fd, buffer, offset);
+ } else {
+ return await this.baseFs.writePromise(fd, buffer, offset, length, position);
+ }
+ }
+
+ writeSync(fd, buffer, offset, length, position) {
+ if (typeof buffer === `string`) {
+ return this.baseFs.writeSync(fd, buffer, offset);
+ } else {
+ return this.baseFs.writeSync(fd, buffer, offset, length, position);
+ }
+ }
+
+ closePromise(fd) {
+ return this.baseFs.closePromise(fd);
+ }
+
+ closeSync(fd) {
+ this.baseFs.closeSync(fd);
+ }
+
+ createReadStream(p, opts) {
+ return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts);
+ }
+
+ createWriteStream(p, opts) {
+ return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts);
+ }
+
+ async realpathPromise(p) {
+ return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p)));
+ }
+
+ realpathSync(p) {
+ return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p)));
+ }
+
+ existsPromise(p) {
+ return this.baseFs.existsPromise(this.mapToBase(p));
+ }
+
+ existsSync(p) {
+ return this.baseFs.existsSync(this.mapToBase(p));
+ }
+
+ accessSync(p, mode) {
+ return this.baseFs.accessSync(this.mapToBase(p), mode);
+ }
+
+ accessPromise(p, mode) {
+ return this.baseFs.accessPromise(this.mapToBase(p), mode);
+ }
+
+ statPromise(p) {
+ return this.baseFs.statPromise(this.mapToBase(p));
+ }
+
+ statSync(p) {
+ return this.baseFs.statSync(this.mapToBase(p));
+ }
+
+ lstatPromise(p) {
+ return this.baseFs.lstatPromise(this.mapToBase(p));
+ }
+
+ lstatSync(p) {
+ return this.baseFs.lstatSync(this.mapToBase(p));
+ }
+
+ chmodPromise(p, mask) {
+ return this.baseFs.chmodPromise(this.mapToBase(p), mask);
+ }
+
+ chmodSync(p, mask) {
+ return this.baseFs.chmodSync(this.mapToBase(p), mask);
+ }
+
+ chownPromise(p, uid, gid) {
+ return this.baseFs.chownPromise(this.mapToBase(p), uid, gid);
+ }
+
+ chownSync(p, uid, gid) {
+ return this.baseFs.chownSync(this.mapToBase(p), uid, gid);
+ }
+
+ renamePromise(oldP, newP) {
+ return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP));
+ }
+
+ renameSync(oldP, newP) {
+ return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP));
+ }
+
+ copyFilePromise(sourceP, destP, flags = 0) {
+ return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags);
+ }
+
+ copyFileSync(sourceP, destP, flags = 0) {
+ return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags);
+ }
+
+ appendFilePromise(p, content, opts) {
+ return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts);
+ }
+
+ appendFileSync(p, content, opts) {
+ return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts);
+ }
+
+ writeFilePromise(p, content, opts) {
+ return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts);
+ }
+
+ writeFileSync(p, content, opts) {
+ return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts);
+ }
+
+ unlinkPromise(p) {
+ return this.baseFs.unlinkPromise(this.mapToBase(p));
+ }
+
+ unlinkSync(p) {
+ return this.baseFs.unlinkSync(this.mapToBase(p));
+ }
+
+ utimesPromise(p, atime, mtime) {
+ return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime);
+ }
+
+ utimesSync(p, atime, mtime) {
+ return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime);
+ }
+
+ mkdirPromise(p, opts) {
+ return this.baseFs.mkdirPromise(this.mapToBase(p), opts);
+ }
+
+ mkdirSync(p, opts) {
+ return this.baseFs.mkdirSync(this.mapToBase(p), opts);
+ }
+
+ rmdirPromise(p, opts) {
+ return this.baseFs.rmdirPromise(this.mapToBase(p), opts);
+ }
+
+ rmdirSync(p, opts) {
+ return this.baseFs.rmdirSync(this.mapToBase(p), opts);
+ }
+
+ linkPromise(existingP, newP) {
+ return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP));
+ }
+
+ linkSync(existingP, newP) {
+ return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP));
+ }
+
+ symlinkPromise(target, p, type) {
+ return this.baseFs.symlinkPromise(this.mapToBase(target), this.mapToBase(p), type);
+ }
+
+ symlinkSync(target, p, type) {
+ return this.baseFs.symlinkSync(this.mapToBase(target), this.mapToBase(p), type);
+ }
+
+ readFilePromise(p, encoding) {
+ // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered)
+ if (encoding === `utf8`) {
+ return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding);
+ } else {
+ return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding);
+ }
+ }
+
+ readFileSync(p, encoding) {
+ // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered)
+ if (encoding === `utf8`) {
+ return this.baseFs.readFileSync(this.fsMapToBase(p), encoding);
+ } else {
+ return this.baseFs.readFileSync(this.fsMapToBase(p), encoding);
+ }
+ }
+
+ async readdirPromise(p, {
+ withFileTypes
+ } = {}) {
+ return this.baseFs.readdirPromise(this.mapToBase(p), {
+ withFileTypes: withFileTypes
+ });
+ }
+
+ readdirSync(p, {
+ withFileTypes
+ } = {}) {
+ return this.baseFs.readdirSync(this.mapToBase(p), {
+ withFileTypes: withFileTypes
+ });
+ }
+
+ async readlinkPromise(p) {
+ return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p)));
+ }
+
+ readlinkSync(p) {
+ return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p)));
+ }
+
+ async truncatePromise(p, len) {
+ return this.baseFs.truncatePromise(this.mapToBase(p), len);
+ }
+
+ truncateSync(p, len) {
+ return this.baseFs.truncateSync(this.mapToBase(p), len);
+ }
+
+ watch(p, a, b) {
+ return this.baseFs.watch(this.mapToBase(p), // @ts-expect-error
+ a, b);
+ }
+
+ watchFile(p, a, b) {
+ return this.baseFs.watchFile(this.mapToBase(p), // @ts-expect-error
+ a, b);
+ }
+
+ unwatchFile(p, cb) {
+ return this.baseFs.unwatchFile(this.mapToBase(p), cb);
+ }
+
+ fsMapToBase(p) {
+ if (typeof p === `number`) {
+ return p;
+ } else {
+ return this.mapToBase(p);
+ }
+ }
+
+}
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/VirtualFS.ts
+
+
+
+const NUMBER_REGEXP = /^[0-9]+$/; // $0: full path
+// $1: virtual folder
+// $2: virtual segment
+// $3: hash
+// $4: depth
+// $5: subpath
+
+const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?\$\$virtual)((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/;
+const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/;
+class VirtualFS extends ProxiedFS {
+ constructor({
+ baseFs = new NodeFS()
+ } = {}) {
+ super(sources_path/* ppath */.y1);
+ this.baseFs = baseFs;
+ }
+
+ static makeVirtualPath(base, component, to) {
+ if (sources_path/* ppath.basename */.y1.basename(base) !== `$$virtual`) throw new Error(`Assertion failed: Virtual folders must be named "$$virtual"`);
+ if (!sources_path/* ppath.basename */.y1.basename(component).match(VALID_COMPONENT)) throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); // Obtains the relative distance between the virtual path and its actual target
+
+ const target = sources_path/* ppath.relative */.y1.relative(sources_path/* ppath.dirname */.y1.dirname(base), to);
+ const segments = target.split(`/`); // Counts how many levels we need to go back to start applying the rest of the path
+
+ let depth = 0;
+
+ while (depth < segments.length && segments[depth] === `..`) depth += 1;
+
+ const finalSegments = segments.slice(depth);
+ const fullVirtualPath = sources_path/* ppath.join */.y1.join(base, component, String(depth), ...finalSegments);
+ return fullVirtualPath;
+ }
+
+ static resolveVirtual(p) {
+ const match = p.match(VIRTUAL_REGEXP);
+ if (!match || !match[3] && match[5]) return p;
+ const target = sources_path/* ppath.dirname */.y1.dirname(match[1]);
+ if (!match[3] || !match[4]) return target;
+ const isnum = NUMBER_REGEXP.test(match[4]);
+ if (!isnum) return p;
+ const depth = Number(match[4]);
+ const backstep = `../`.repeat(depth);
+ const subpath = match[5] || `.`;
+ return VirtualFS.resolveVirtual(sources_path/* ppath.join */.y1.join(target, backstep, subpath));
+ }
+
+ getExtractHint(hints) {
+ return this.baseFs.getExtractHint(hints);
+ }
+
+ getRealPath() {
+ return this.baseFs.getRealPath();
+ }
+
+ realpathSync(p) {
+ const match = p.match(VIRTUAL_REGEXP);
+ if (!match) return this.baseFs.realpathSync(p);
+ if (!match[5]) return p;
+ const realpath = this.baseFs.realpathSync(this.mapToBase(p));
+ return VirtualFS.makeVirtualPath(match[1], match[3], realpath);
+ }
+
+ async realpathPromise(p) {
+ const match = p.match(VIRTUAL_REGEXP);
+ if (!match) return await this.baseFs.realpathPromise(p);
+ if (!match[5]) return p;
+ const realpath = await this.baseFs.realpathPromise(this.mapToBase(p));
+ return VirtualFS.makeVirtualPath(match[1], match[3], realpath);
+ }
+
+ mapToBase(p) {
+ return VirtualFS.resolveVirtual(p);
+ }
+
+ mapFromBase(p) {
+ return p;
+ }
+
+}
+// EXTERNAL MODULE: external "stream"
+var external_stream_ = __webpack_require__(413);
+
+// EXTERNAL MODULE: external "util"
+var external_util_ = __webpack_require__(669);
+
+// EXTERNAL MODULE: external "zlib"
+var external_zlib_ = __webpack_require__(761);
+var external_zlib_default = /*#__PURE__*/__webpack_require__.n(external_zlib_);
+
+// EXTERNAL MODULE: external "events"
+var external_events_ = __webpack_require__(614);
+
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/constants.ts
+const S_IFMT = 0o170000;
+const S_IFDIR = 0o040000;
+const S_IFREG = 0o100000;
+const S_IFLNK = 0o120000;
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/statUtils.ts
+
+class DirEntry {
+ constructor() {
+ this.name = ``;
+ this.mode = 0;
+ }
+
+ isBlockDevice() {
+ return false;
+ }
+
+ isCharacterDevice() {
+ return false;
+ }
+
+ isDirectory() {
+ return (this.mode & S_IFMT) === S_IFDIR;
+ }
+
+ isFIFO() {
+ return false;
+ }
+
+ isFile() {
+ return (this.mode & S_IFMT) === S_IFREG;
+ }
+
+ isSocket() {
+ return false;
+ }
+
+ isSymbolicLink() {
+ return (this.mode & S_IFMT) === S_IFLNK;
+ }
+
+}
+class StatEntry {
+ constructor() {
+ this.dev = 0;
+ this.ino = 0;
+ this.mode = 0;
+ this.nlink = 1;
+ this.rdev = 0;
+ this.blocks = 1;
+ }
+
+ isBlockDevice() {
+ return false;
+ }
+
+ isCharacterDevice() {
+ return false;
+ }
+
+ isDirectory() {
+ return (this.mode & S_IFMT) === S_IFDIR;
+ }
+
+ isFIFO() {
+ return false;
+ }
+
+ isFile() {
+ return (this.mode & S_IFMT) === S_IFREG;
+ }
+
+ isSocket() {
+ return false;
+ }
+
+ isSymbolicLink() {
+ return (this.mode & S_IFMT) === S_IFLNK;
+ }
+
+}
+function makeDefaultStats() {
+ return Object.assign(new StatEntry(), {
+ uid: 0,
+ gid: 0,
+ size: 0,
+ blksize: 0,
+ atimeMs: 0,
+ mtimeMs: 0,
+ ctimeMs: 0,
+ birthtimeMs: 0,
+ atime: new Date(0),
+ mtime: new Date(0),
+ ctime: new Date(0),
+ birthtime: new Date(0),
+ mode: S_IFREG | 0o644
+ });
+}
+function makeEmptyStats() {
+ return Object.assign(makeDefaultStats(), {
+ nlink: 0,
+ blocks: 0,
+ mode: 0
+ });
+}
+function areStatsEqual(a, b) {
+ if (a.atimeMs !== b.atimeMs) return false;
+ if (a.birthtimeMs !== b.birthtimeMs) return false;
+ if (a.blksize !== b.blksize) return false;
+ if (a.blocks !== b.blocks) return false;
+ if (a.ctimeMs !== b.ctimeMs) return false;
+ if (a.dev !== b.dev) return false;
+ if (a.gid !== b.gid) return false;
+ if (a.ino !== b.ino) return false;
+ if (a.isBlockDevice() !== b.isBlockDevice()) return false;
+ if (a.isCharacterDevice() !== b.isCharacterDevice()) return false;
+ if (a.isDirectory() !== b.isDirectory()) return false;
+ if (a.isFIFO() !== b.isFIFO()) return false;
+ if (a.isFile() !== b.isFile()) return false;
+ if (a.isSocket() !== b.isSocket()) return false;
+ if (a.isSymbolicLink() !== b.isSymbolicLink()) return false;
+ if (a.mode !== b.mode) return false;
+ if (a.mtimeMs !== b.mtimeMs) return false;
+ if (a.nlink !== b.nlink) return false;
+ if (a.rdev !== b.rdev) return false;
+ if (a.size !== b.size) return false;
+ if (a.uid !== b.uid) return false;
+ return true;
+}
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/watchFile/CustomStatWatcher.ts
+
+
+var Event;
+
+(function (Event) {
+ Event["Change"] = "change";
+ Event["Stop"] = "stop";
+})(Event || (Event = {}));
+
+var Status;
+
+(function (Status) {
+ Status["Ready"] = "ready";
+ Status["Running"] = "running";
+ Status["Stopped"] = "stopped";
+})(Status || (Status = {}));
+
+function assertStatus(current, expected) {
+ if (current !== expected) {
+ throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`);
+ }
+}
+class CustomStatWatcher extends external_events_.EventEmitter {
+ constructor(fakeFs, path, {
+ bigint = false
+ } = {}) {
+ super();
+ this.status = Status.Ready;
+ this.changeListeners = new Map();
+ this.startTimeout = null;
+ this.fakeFs = fakeFs;
+ this.path = path;
+ this.bigint = bigint;
+ this.lastStats = this.stat();
+ }
+
+ static create(fakeFs, path, opts) {
+ const statWatcher = new CustomStatWatcher(fakeFs, path, opts);
+ statWatcher.start();
+ return statWatcher;
+ }
+
+ start() {
+ assertStatus(this.status, Status.Ready);
+ this.status = Status.Running; // Node allows other listeners to be registered up to 3 milliseconds
+ // after the watcher has been started, so that's what we're doing too
+
+ this.startTimeout = setTimeout(() => {
+ this.startTimeout = null; // Per the Node FS docs:
+ // "When an fs.watchFile operation results in an ENOENT error,
+ // it will invoke the listener once, with all the fields zeroed
+ // (or, for dates, the Unix Epoch)."
+
+ if (!this.fakeFs.existsSync(this.path)) {
+ this.emit(Event.Change, this.lastStats, this.lastStats);
+ }
+ }, 3);
+ }
+
+ stop() {
+ assertStatus(this.status, Status.Running);
+ this.status = Status.Stopped;
+
+ if (this.startTimeout !== null) {
+ clearTimeout(this.startTimeout);
+ this.startTimeout = null;
+ }
+
+ this.emit(Event.Stop);
+ }
+
+ stat() {
+ try {
+ return this.fakeFs.statSync(this.path);
+ } catch (error) {
+ if (error.code === `ENOENT`) {
+ return makeEmptyStats();
+ } else {
+ throw error;
+ }
+ }
+ }
+ /**
+ * Creates an interval whose callback compares the current stats with the previous stats and notifies all listeners in case of changes.
+ *
+ * @param opts.persistent Decides whether the interval should be immediately unref-ed.
+ */
+
+
+ makeInterval(opts) {
+ const interval = setInterval(() => {
+ const currentStats = this.stat();
+ const previousStats = this.lastStats;
+ if (areStatsEqual(currentStats, previousStats)) return;
+ this.lastStats = currentStats;
+ this.emit(Event.Change, currentStats, previousStats);
+ }, opts.interval);
+ return opts.persistent ? interval : interval.unref();
+ }
+ /**
+ * Registers a listener and assigns it an interval.
+ */
+
+
+ registerChangeListener(listener, opts) {
+ this.addListener(Event.Change, listener);
+ this.changeListeners.set(listener, this.makeInterval(opts));
+ }
+ /**
+ * Unregisters the listener and clears the assigned interval.
+ */
+
+
+ unregisterChangeListener(listener) {
+ this.removeListener(Event.Change, listener);
+ const interval = this.changeListeners.get(listener);
+ if (typeof interval !== `undefined`) clearInterval(interval);
+ this.changeListeners.delete(listener);
+ }
+ /**
+ * Unregisters all listeners and clears all assigned intervals.
+ */
+
+
+ unregisterAllChangeListeners() {
+ for (const listener of this.changeListeners.keys()) {
+ this.unregisterChangeListener(listener);
+ }
+ }
+
+ hasChangeListeners() {
+ return this.changeListeners.size > 0;
+ }
+ /**
+ * Refs all stored intervals.
+ */
+
+
+ ref() {
+ for (const interval of this.changeListeners.values()) interval.ref();
+
+ return this;
+ }
+ /**
+ * Unrefs all stored intervals.
+ */
+
+
+ unref() {
+ for (const interval of this.changeListeners.values()) interval.unref();
+
+ return this;
+ }
+
+}
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/watchFile.ts
+
+const statWatchersByFakeFS = new WeakMap();
+function watchFile(fakeFs, path, a, b) {
+ let bigint;
+ let persistent;
+ let interval;
+ let listener;
+
+ switch (typeof a) {
+ case `function`:
+ {
+ bigint = false;
+ persistent = true;
+ interval = 5007;
+ listener = a;
+ }
+ break;
+
+ default:
+ {
+ ({
+ bigint = false,
+ persistent = true,
+ interval = 5007
+ } = a);
+ listener = b;
+ }
+ break;
+ }
+
+ let statWatchers = statWatchersByFakeFS.get(fakeFs);
+ if (typeof statWatchers === `undefined`) statWatchersByFakeFS.set(fakeFs, statWatchers = new Map());
+ let statWatcher = statWatchers.get(path);
+
+ if (typeof statWatcher === `undefined`) {
+ statWatcher = CustomStatWatcher.create(fakeFs, path, {
+ bigint
+ });
+ statWatchers.set(path, statWatcher);
+ }
+
+ statWatcher.registerChangeListener(listener, {
+ persistent,
+ interval
+ });
+ return statWatcher;
+}
+function unwatchFile(fakeFs, path, cb) {
+ const statWatchers = statWatchersByFakeFS.get(fakeFs);
+ if (typeof statWatchers === `undefined`) return;
+ const statWatcher = statWatchers.get(path);
+ if (typeof statWatcher === `undefined`) return;
+ if (typeof cb === `undefined`) statWatcher.unregisterAllChangeListeners();else statWatcher.unregisterChangeListener(cb);
+
+ if (!statWatcher.hasChangeListeners()) {
+ statWatcher.stop();
+ statWatchers.delete(path);
+ }
+}
+function unwatchAllFiles(fakeFs) {
+ const statWatchers = statWatchersByFakeFS.get(fakeFs);
+ if (typeof statWatchers === `undefined`) return;
+
+ for (const path of statWatchers.keys()) {
+ unwatchFile(fakeFs, path);
+ }
+}
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ZipFS.ts
+
+
+
+
+
+
+
+
+
+
+
+const DEFAULT_COMPRESSION_LEVEL = `mixed`;
+
+function toUnixTimestamp(time) {
+ if (typeof time === `string` && String(+time) === time) return +time;
+
+ if (Number.isFinite(time)) {
+ if (time < 0) {
+ return Date.now() / 1000;
+ } else {
+ return time;
+ }
+ } // convert to 123.456 UNIX timestamp
+
+
+ if ((0,external_util_.isDate)(time)) return time.getTime() / 1000;
+ throw new Error(`Invalid time`);
+}
+
+class ZipFS extends FakeFS/* BasePortableFakeFS */.fS {
+ constructor(source, opts) {
+ super();
+ this.lzSource = null;
+ this.listings = new Map();
+ this.entries = new Map();
+ /**
+ * A cache of indices mapped to file sources.
+ * Populated by `setFileSource` calls.
+ * Required for supporting read after write.
+ */
+
+ this.fileSources = new Map();
+ this.fds = new Map();
+ this.nextFd = 0;
+ this.ready = false;
+ this.readOnly = false;
+ this.libzip = opts.libzip;
+ const pathOptions = opts;
+ this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL;
+
+ if (source === null) {
+ source = Buffer.from([0x50, 0x4B, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);
+ }
+
+ if (typeof source === `string`) {
+ const {
+ baseFs = new NodeFS()
+ } = pathOptions;
+ this.baseFs = baseFs;
+ this.path = source;
+ } else {
+ this.path = null;
+ this.baseFs = null;
+ }
+
+ if (opts.stats) {
+ this.stats = opts.stats;
+ } else {
+ if (typeof source === `string`) {
+ try {
+ this.stats = this.baseFs.statSync(source);
+ } catch (error) {
+ if (error.code === `ENOENT` && pathOptions.create) {
+ this.stats = makeDefaultStats();
+ } else {
+ throw error;
+ }
+ }
+ } else {
+ this.stats = makeDefaultStats();
+ }
+ }
+
+ const errPtr = this.libzip.malloc(4);
+
+ try {
+ let flags = 0;
+ if (typeof source === `string` && pathOptions.create) flags |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE;
+
+ if (opts.readOnly) {
+ flags |= this.libzip.ZIP_RDONLY;
+ this.readOnly = true;
+ }
+
+ if (typeof source === `string`) {
+ this.zip = this.libzip.open(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(source), flags, errPtr);
+ } else {
+ const lzSource = this.allocateUnattachedSource(source);
+
+ try {
+ this.zip = this.libzip.openFromSource(lzSource, flags, errPtr);
+ this.lzSource = lzSource;
+ } catch (error) {
+ this.libzip.source.free(lzSource);
+ throw error;
+ }
+ }
+
+ if (this.zip === 0) {
+ const error = this.libzip.struct.errorS();
+ this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`));
+ throw this.makeLibzipError(error);
+ }
+ } finally {
+ this.libzip.free(errPtr);
+ }
+
+ this.listings.set(sources_path/* PortablePath.root */.LZ.root, new Set());
+ const entryCount = this.libzip.getNumEntries(this.zip, 0);
+
+ for (let t = 0; t < entryCount; ++t) {
+ const raw = this.libzip.getName(this.zip, t, 0);
+ if (sources_path/* ppath.isAbsolute */.y1.isAbsolute(raw)) continue;
+ const p = sources_path/* ppath.resolve */.y1.resolve(sources_path/* PortablePath.root */.LZ.root, raw);
+ this.registerEntry(p, t); // If the raw path is a directory, register it
+ // to prevent empty folder being skipped
+
+ if (raw.endsWith(`/`)) {
+ this.registerListing(p);
+ }
+ }
+
+ this.symlinkCount = this.libzip.ext.countSymlinks(this.zip);
+ if (this.symlinkCount === -1) throw this.makeLibzipError(this.libzip.getError(this.zip));
+ this.ready = true;
+ }
+
+ makeLibzipError(error) {
+ const errorCode = this.libzip.struct.errorCodeZip(error);
+ const strerror = this.libzip.error.strerror(error);
+ const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]); // This error should never come up because of the file source cache
+
+ if (errorCode === this.libzip.errors.ZIP_ER_CHANGED) throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`);
+ return libzipError;
+ }
+
+ getExtractHint(hints) {
+ for (const fileName of this.entries.keys()) {
+ const ext = this.pathUtils.extname(fileName);
+
+ if (hints.relevantExtensions.has(ext)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ getAllFiles() {
+ return Array.from(this.entries.keys());
+ }
+
+ getRealPath() {
+ if (!this.path) throw new Error(`ZipFS don't have real paths when loaded from a buffer`);
+ return this.path;
+ }
+
+ getBufferAndClose() {
+ this.prepareClose();
+ if (!this.lzSource) throw new Error(`ZipFS was not created from a Buffer`);
+
+ try {
+ // Prevent close from cleaning up the source
+ this.libzip.source.keep(this.lzSource); // Close the zip archive
+
+ if (this.libzip.close(this.zip) === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); // Open the source for reading
+
+ if (this.libzip.source.open(this.lzSource) === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); // Move to the end of source
+
+ if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); // Get the size of source
+
+ const size = this.libzip.source.tell(this.lzSource);
+ if (size === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); // Move to the start of source
+
+ if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
+ const buffer = this.libzip.malloc(size);
+ if (!buffer) throw new Error(`Couldn't allocate enough memory`);
+
+ try {
+ const rc = this.libzip.source.read(this.lzSource, buffer, size);
+ if (rc === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource));else if (rc < size) throw new Error(`Incomplete read`);else if (rc > size) throw new Error(`Overread`);
+ const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size);
+ return Buffer.from(memory);
+ } finally {
+ this.libzip.free(buffer);
+ }
+ } finally {
+ this.libzip.source.close(this.lzSource);
+ this.libzip.source.free(this.lzSource);
+ this.ready = false;
+ }
+ }
+
+ prepareClose() {
+ if (!this.ready) throw EBUSY(`archive closed, close`);
+ unwatchAllFiles(this);
+ }
+
+ saveAndClose() {
+ if (!this.path || !this.baseFs) throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`);
+ this.prepareClose();
+
+ if (this.readOnly) {
+ this.discardAndClose();
+ return;
+ }
+
+ const previousMod = this.baseFs.existsSync(this.path) ? this.baseFs.statSync(this.path).mode & 0o777 : null;
+ const rc = this.libzip.close(this.zip);
+ if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); // this.libzip overrides the chmod when writing the archive, which is a weird
+ // behavior I don't totally understand (plus the umask seems bogus in some
+ // weird cases - maybe related to emscripten?)
+ //
+ // See also https://github.com/nih-at/libzip/issues/77
+
+ if (previousMod === null) this.baseFs.chmodSync(this.path, this.stats.mode);else if (previousMod !== (this.baseFs.statSync(this.path).mode & 0o777)) this.baseFs.chmodSync(this.path, previousMod);
+ this.ready = false;
+ }
+
+ discardAndClose() {
+ this.prepareClose();
+ this.libzip.discard(this.zip);
+ this.ready = false;
+ }
+
+ resolve(p) {
+ return sources_path/* ppath.resolve */.y1.resolve(sources_path/* PortablePath.root */.LZ.root, p);
+ }
+
+ async openPromise(p, flags, mode) {
+ return this.openSync(p, flags, mode);
+ }
+
+ openSync(p, flags, mode) {
+ const fd = this.nextFd++;
+ this.fds.set(fd, {
+ cursor: 0,
+ p
+ });
+ return fd;
+ }
+
+ hasOpenFileHandles() {
+ return !!this.fds.size;
+ }
+
+ async readPromise(fd, buffer, offset, length, position) {
+ return this.readSync(fd, buffer, offset, length, position);
+ }
+
+ readSync(fd, buffer, offset = 0, length = 0, position = -1) {
+ const entry = this.fds.get(fd);
+ if (typeof entry === `undefined`) throw EBADF(`read`);
+ let realPosition;
+ if (position === -1 || position === null) realPosition = entry.cursor;else realPosition = position;
+ const source = this.readFileSync(entry.p);
+ source.copy(buffer, offset, realPosition, realPosition + length);
+ const bytesRead = Math.max(0, Math.min(source.length - realPosition, length));
+ if (position === -1 || position === null) entry.cursor += bytesRead;
+ return bytesRead;
+ }
+
+ async writePromise(fd, buffer, offset, length, position) {
+ if (typeof buffer === `string`) {
+ return this.writeSync(fd, buffer, position);
+ } else {
+ return this.writeSync(fd, buffer, offset, length, position);
+ }
+ }
+
+ writeSync(fd, buffer, offset, length, position) {
+ const entry = this.fds.get(fd);
+ if (typeof entry === `undefined`) throw EBADF(`read`);
+ throw new Error(`Unimplemented`);
+ }
+
+ async closePromise(fd) {
+ return this.closeSync(fd);
+ }
+
+ closeSync(fd) {
+ const entry = this.fds.get(fd);
+ if (typeof entry === `undefined`) throw EBADF(`read`);
+ this.fds.delete(fd);
+ }
+
+ createReadStream(p, {
+ encoding
+ } = {}) {
+ if (p === null) throw new Error(`Unimplemented`);
+ let fd = this.openSync(p, `r`);
+
+ const closeStream = () => {
+ if (fd === -1) return;
+ this.closeSync(fd);
+ fd = -1;
+ };
+
+ const stream = Object.assign(new external_stream_.PassThrough(), {
+ bytesRead: 0,
+ path: p,
+ close: () => {
+ clearImmediate(immediate);
+ closeStream();
+ },
+ _destroy: (error, callback) => {
+ clearImmediate(immediate);
+ closeStream();
+ callback(error);
+ }
+ });
+ const immediate = setImmediate(() => {
+ try {
+ const data = this.readFileSync(p, encoding);
+ stream.bytesRead = data.length;
+ stream.end(data);
+ stream.destroy();
+ } catch (error) {
+ stream.emit(`error`, error);
+ stream.end();
+ stream.destroy();
+ } finally {
+ closeStream();
+ }
+ });
+ return stream;
+ }
+
+ createWriteStream(p, {
+ encoding
+ } = {}) {
+ if (this.readOnly) throw EROFS(`open '${p}'`);
+ if (p === null) throw new Error(`Unimplemented`);
+ const chunks = [];
+ let fd = this.openSync(p, `w`);
+
+ const closeStream = () => {
+ if (fd === -1) return;
+
+ try {
+ this.writeFileSync(p, Buffer.concat(chunks), encoding);
+ } finally {
+ this.closeSync(fd);
+ fd = -1;
+ }
+ };
+
+ const stream = Object.assign(new external_stream_.PassThrough(), {
+ bytesWritten: 0,
+ path: p,
+ close: () => {
+ stream.end();
+ closeStream();
+ },
+ _destroy: (error, callback) => {
+ closeStream();
+ callback(error);
+ }
+ });
+ stream.on(`data`, chunk => {
+ const chunkBuffer = Buffer.from(chunk);
+ stream.bytesWritten += chunkBuffer.length;
+ chunks.push(chunkBuffer);
+ });
+ stream.on(`end`, () => {
+ closeStream();
+ });
+ return stream;
+ }
+
+ async realpathPromise(p) {
+ return this.realpathSync(p);
+ }
+
+ realpathSync(p) {
+ const resolvedP = this.resolveFilename(`lstat '${p}'`, p);
+ if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`lstat '${p}'`);
+ return resolvedP;
+ }
+
+ async existsPromise(p) {
+ return this.existsSync(p);
+ }
+
+ existsSync(p) {
+ if (!this.ready) throw EBUSY(`archive closed, existsSync '${p}'`);
+
+ if (this.symlinkCount === 0) {
+ const resolvedP = sources_path/* ppath.resolve */.y1.resolve(sources_path/* PortablePath.root */.LZ.root, p);
+ return this.entries.has(resolvedP) || this.listings.has(resolvedP);
+ }
+
+ let resolvedP;
+
+ try {
+ resolvedP = this.resolveFilename(`stat '${p}'`, p);
+ } catch (error) {
+ return false;
+ }
+
+ return this.entries.has(resolvedP) || this.listings.has(resolvedP);
+ }
+
+ async accessPromise(p, mode) {
+ return this.accessSync(p, mode);
+ }
+
+ accessSync(p, mode = external_fs_.constants.F_OK) {
+ const resolvedP = this.resolveFilename(`access '${p}'`, p);
+ if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`access '${p}'`);
+
+ if (this.readOnly && mode & external_fs_.constants.W_OK) {
+ throw EROFS(`access '${p}'`);
+ }
+ }
+
+ async statPromise(p) {
+ return this.statSync(p);
+ }
+
+ statSync(p) {
+ const resolvedP = this.resolveFilename(`stat '${p}'`, p);
+ if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`stat '${p}'`);
+ if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`stat '${p}'`);
+ return this.statImpl(`stat '${p}'`, resolvedP);
+ }
+
+ async lstatPromise(p) {
+ return this.lstatSync(p);
+ }
+
+ lstatSync(p) {
+ const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false);
+ if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`lstat '${p}'`);
+ if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`lstat '${p}'`);
+ return this.statImpl(`lstat '${p}'`, resolvedP);
+ }
+
+ statImpl(reason, p) {
+ const entry = this.entries.get(p); // File, or explicit directory
+
+ if (typeof entry !== `undefined`) {
+ const stat = this.libzip.struct.statS();
+ const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat);
+ if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip));
+ const uid = this.stats.uid;
+ const gid = this.stats.gid;
+ const size = this.libzip.struct.statSize(stat) >>> 0;
+ const blksize = 512;
+ const blocks = Math.ceil(size / blksize);
+ const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1000;
+ const atimeMs = mtimeMs;
+ const birthtimeMs = mtimeMs;
+ const ctimeMs = mtimeMs;
+ const atime = new Date(atimeMs);
+ const birthtime = new Date(birthtimeMs);
+ const ctime = new Date(ctimeMs);
+ const mtime = new Date(mtimeMs);
+ const type = this.listings.has(p) ? S_IFDIR : this.isSymbolicLink(entry) ? S_IFLNK : S_IFREG;
+ const defaultMode = type === S_IFDIR ? 0o755 : 0o644;
+ const mode = type | this.getUnixMode(entry, defaultMode) & 0o777;
+ return Object.assign(new StatEntry(), {
+ uid,
+ gid,
+ size,
+ blksize,
+ blocks,
+ atime,
+ birthtime,
+ ctime,
+ mtime,
+ atimeMs,
+ birthtimeMs,
+ ctimeMs,
+ mtimeMs,
+ mode
+ });
+ } // Implicit directory
+
+
+ if (this.listings.has(p)) {
+ const uid = this.stats.uid;
+ const gid = this.stats.gid;
+ const size = 0;
+ const blksize = 512;
+ const blocks = 0;
+ const atimeMs = this.stats.mtimeMs;
+ const birthtimeMs = this.stats.mtimeMs;
+ const ctimeMs = this.stats.mtimeMs;
+ const mtimeMs = this.stats.mtimeMs;
+ const atime = new Date(atimeMs);
+ const birthtime = new Date(birthtimeMs);
+ const ctime = new Date(ctimeMs);
+ const mtime = new Date(mtimeMs);
+ const mode = S_IFDIR | 0o755;
+ return Object.assign(new StatEntry(), {
+ uid,
+ gid,
+ size,
+ blksize,
+ blocks,
+ atime,
+ birthtime,
+ ctime,
+ mtime,
+ atimeMs,
+ birthtimeMs,
+ ctimeMs,
+ mtimeMs,
+ mode
+ });
+ }
+
+ throw new Error(`Unreachable`);
+ }
+
+ getUnixMode(index, defaultMode) {
+ const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S);
+ if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip));
+ const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0;
+ if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return defaultMode;
+ return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16;
+ }
+
+ registerListing(p) {
+ let listing = this.listings.get(p);
+ if (listing) return listing;
+ const parentListing = this.registerListing(sources_path/* ppath.dirname */.y1.dirname(p));
+ listing = new Set();
+ parentListing.add(sources_path/* ppath.basename */.y1.basename(p));
+ this.listings.set(p, listing);
+ return listing;
+ }
+
+ registerEntry(p, index) {
+ const parentListing = this.registerListing(sources_path/* ppath.dirname */.y1.dirname(p));
+ parentListing.add(sources_path/* ppath.basename */.y1.basename(p));
+ this.entries.set(p, index);
+ }
+
+ unregisterListing(p) {
+ this.listings.delete(p);
+ const parentListing = this.listings.get(sources_path/* ppath.dirname */.y1.dirname(p));
+ parentListing === null || parentListing === void 0 ? void 0 : parentListing.delete(sources_path/* ppath.basename */.y1.basename(p));
+ }
+
+ unregisterEntry(p) {
+ this.unregisterListing(p);
+ const entry = this.entries.get(p);
+ this.entries.delete(p);
+ if (typeof entry === `undefined`) return;
+ this.fileSources.delete(entry);
+
+ if (this.isSymbolicLink(entry)) {
+ this.symlinkCount--;
+ }
+ }
+
+ deleteEntry(p, index) {
+ this.unregisterEntry(p);
+ const rc = this.libzip.delete(this.zip, index);
+
+ if (rc === -1) {
+ throw this.makeLibzipError(this.libzip.getError(this.zip));
+ }
+ }
+
+ resolveFilename(reason, p, resolveLastComponent = true) {
+ if (!this.ready) throw EBUSY(`archive closed, ${reason}`);
+ let resolvedP = sources_path/* ppath.resolve */.y1.resolve(sources_path/* PortablePath.root */.LZ.root, p);
+ if (resolvedP === `/`) return sources_path/* PortablePath.root */.LZ.root;
+ const fileIndex = this.entries.get(resolvedP);
+
+ if (resolveLastComponent && fileIndex !== undefined) {
+ if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) {
+ const target = this.getFileSource(fileIndex).toString();
+ return this.resolveFilename(reason, sources_path/* ppath.resolve */.y1.resolve(sources_path/* ppath.dirname */.y1.dirname(resolvedP), target), true);
+ } else {
+ return resolvedP;
+ }
+ }
+
+ while (true) {
+ const parentP = this.resolveFilename(reason, sources_path/* ppath.dirname */.y1.dirname(resolvedP), true);
+ const isDir = this.listings.has(parentP);
+ const doesExist = this.entries.has(parentP);
+ if (!isDir && !doesExist) throw ENOENT(reason);
+ if (!isDir) throw ENOTDIR(reason);
+ resolvedP = sources_path/* ppath.resolve */.y1.resolve(parentP, sources_path/* ppath.basename */.y1.basename(resolvedP));
+ if (!resolveLastComponent || this.symlinkCount === 0) break;
+ const index = this.libzip.name.locate(this.zip, resolvedP.slice(1));
+ if (index === -1) break;
+
+ if (this.isSymbolicLink(index)) {
+ const target = this.getFileSource(index).toString();
+ resolvedP = sources_path/* ppath.resolve */.y1.resolve(sources_path/* ppath.dirname */.y1.dirname(resolvedP), target);
+ } else {
+ break;
+ }
+ }
+
+ return resolvedP;
+ }
+
+ allocateBuffer(content) {
+ if (!Buffer.isBuffer(content)) content = Buffer.from(content);
+ const buffer = this.libzip.malloc(content.byteLength);
+ if (!buffer) throw new Error(`Couldn't allocate enough memory`); // Copy the file into the Emscripten heap
+
+ const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength);
+ heap.set(content);
+ return {
+ buffer,
+ byteLength: content.byteLength
+ };
+ }
+
+ allocateUnattachedSource(content) {
+ const error = this.libzip.struct.errorS();
+ const {
+ buffer,
+ byteLength
+ } = this.allocateBuffer(content);
+ const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, true, error);
+
+ if (source === 0) {
+ this.libzip.free(error);
+ throw this.makeLibzipError(error);
+ }
+
+ return source;
+ }
+
+ allocateSource(content) {
+ const {
+ buffer,
+ byteLength
+ } = this.allocateBuffer(content);
+ const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, true);
+
+ if (source === 0) {
+ this.libzip.free(buffer);
+ throw this.makeLibzipError(this.libzip.getError(this.zip));
+ }
+
+ return source;
+ }
+
+ setFileSource(p, content) {
+ const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content);
+ const target = sources_path/* ppath.relative */.y1.relative(sources_path/* PortablePath.root */.LZ.root, p);
+ const lzSource = this.allocateSource(content);
+
+ try {
+ const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE);
+ if (newIndex === -1) throw this.makeLibzipError(this.libzip.getError(this.zip));
+
+ if (this.level !== `mixed`) {
+ // Use store for level 0, and deflate for 1..9
+ let method;
+ if (this.level === 0) method = this.libzip.ZIP_CM_STORE;else method = this.libzip.ZIP_CM_DEFLATE;
+ const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level);
+
+ if (rc === -1) {
+ throw this.makeLibzipError(this.libzip.getError(this.zip));
+ }
+ }
+
+ this.fileSources.set(newIndex, buffer);
+ return newIndex;
+ } catch (error) {
+ this.libzip.source.free(lzSource);
+ throw error;
+ }
+ }
+
+ isSymbolicLink(index) {
+ if (this.symlinkCount === 0) return false;
+ const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S);
+ if (attrs === -1) throw this.makeLibzipError(this.libzip.getError(this.zip));
+ const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0;
+ if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return false;
+ const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16;
+ return (attributes & S_IFMT) === S_IFLNK;
+ }
+
+ getFileSource(index, opts = {
+ asyncDecompress: false
+ }) {
+ const cachedFileSource = this.fileSources.get(index);
+ if (typeof cachedFileSource !== `undefined`) return cachedFileSource;
+ const stat = this.libzip.struct.statS();
+ const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat);
+ if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip));
+ const size = this.libzip.struct.statCompSize(stat);
+ const compressionMethod = this.libzip.struct.statCompMethod(stat);
+ const buffer = this.libzip.malloc(size);
+
+ try {
+ const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED);
+ if (file === 0) throw this.makeLibzipError(this.libzip.getError(this.zip));
+
+ try {
+ const rc = this.libzip.fread(file, buffer, size, 0);
+ if (rc === -1) throw this.makeLibzipError(this.libzip.file.getError(file));else if (rc < size) throw new Error(`Incomplete read`);else if (rc > size) throw new Error(`Overread`);
+ const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size);
+ const data = Buffer.from(memory);
+
+ if (compressionMethod === 0) {
+ this.fileSources.set(index, data);
+ return data;
+ } else if (opts.asyncDecompress) {
+ return new Promise((resolve, reject) => {
+ external_zlib_default().inflateRaw(data, (error, result) => {
+ if (error) {
+ reject(error);
+ } else {
+ this.fileSources.set(index, result);
+ resolve(result);
+ }
+ });
+ });
+ } else {
+ const decompressedData = external_zlib_default().inflateRawSync(data);
+ this.fileSources.set(index, decompressedData);
+ return decompressedData;
+ }
+ } finally {
+ this.libzip.fclose(file);
+ }
+ } finally {
+ this.libzip.free(buffer);
+ }
+ }
+
+ async chmodPromise(p, mask) {
+ return this.chmodSync(p, mask);
+ }
+
+ chmodSync(p, mask) {
+ if (this.readOnly) throw EROFS(`chmod '${p}'`); // We don't allow to make the extracted entries group-writable
+
+ mask &= 0o755;
+ const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false);
+ const entry = this.entries.get(resolvedP);
+ if (typeof entry === `undefined`) throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`);
+ const oldMod = this.getUnixMode(entry, S_IFREG | 0o000);
+ const newMod = oldMod & ~0o777 | mask;
+ const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16);
+
+ if (rc === -1) {
+ throw this.makeLibzipError(this.libzip.getError(this.zip));
+ }
+ }
+
+ async chownPromise(p, uid, gid) {
+ return this.chownSync(p, uid, gid);
+ }
+
+ chownSync(p, uid, gid) {
+ throw new Error(`Unimplemented`);
+ }
+
+ async renamePromise(oldP, newP) {
+ return this.renameSync(oldP, newP);
+ }
+
+ renameSync(oldP, newP) {
+ throw new Error(`Unimplemented`);
+ }
+
+ async copyFilePromise(sourceP, destP, flags) {
+ const {
+ indexSource,
+ indexDest,
+ resolvedDestP
+ } = this.prepareCopyFile(sourceP, destP, flags);
+ const source = await this.getFileSource(indexSource, {
+ asyncDecompress: true
+ });
+ const newIndex = this.setFileSource(resolvedDestP, source);
+
+ if (newIndex !== indexDest) {
+ this.registerEntry(resolvedDestP, newIndex);
+ }
+ }
+
+ copyFileSync(sourceP, destP, flags = 0) {
+ const {
+ indexSource,
+ indexDest,
+ resolvedDestP
+ } = this.prepareCopyFile(sourceP, destP, flags);
+ const source = this.getFileSource(indexSource);
+ const newIndex = this.setFileSource(resolvedDestP, source);
+
+ if (newIndex !== indexDest) {
+ this.registerEntry(resolvedDestP, newIndex);
+ }
+ }
+
+ prepareCopyFile(sourceP, destP, flags = 0) {
+ if (this.readOnly) throw EROFS(`copyfile '${sourceP} -> '${destP}'`);
+ if ((flags & external_fs_.constants.COPYFILE_FICLONE_FORCE) !== 0) throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`);
+ const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP);
+ const indexSource = this.entries.get(resolvedSourceP);
+ if (typeof indexSource === `undefined`) throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`);
+ const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP);
+ const indexDest = this.entries.get(resolvedDestP);
+ if ((flags & (external_fs_.constants.COPYFILE_EXCL | external_fs_.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`);
+ return {
+ indexSource,
+ resolvedDestP,
+ indexDest
+ };
+ }
+
+ async appendFilePromise(p, content, opts) {
+ if (this.readOnly) throw EROFS(`open '${p}'`);
+ if (typeof opts === `undefined`) opts = {
+ flag: `a`
+ };else if (typeof opts === `string`) opts = {
+ flag: `a`,
+ encoding: opts
+ };else if (typeof opts.flag === `undefined`) opts = {
+ flag: `a`,
+ ...opts
+ };
+ return this.writeFilePromise(p, content, opts);
+ }
+
+ appendFileSync(p, content, opts = {}) {
+ if (this.readOnly) throw EROFS(`open '${p}'`);
+ if (typeof opts === `undefined`) opts = {
+ flag: `a`
+ };else if (typeof opts === `string`) opts = {
+ flag: `a`,
+ encoding: opts
+ };else if (typeof opts.flag === `undefined`) opts = {
+ flag: `a`,
+ ...opts
+ };
+ return this.writeFileSync(p, content, opts);
+ }
+
+ async writeFilePromise(p, content, opts) {
+ const {
+ encoding,
+ index,
+ resolvedP
+ } = this.prepareWriteFile(p, opts);
+ if (index !== undefined && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) content = Buffer.concat([await this.getFileSource(index, {
+ asyncDecompress: true
+ }), Buffer.from(content)]);
+ if (encoding !== null) content = content.toString(encoding);
+ const newIndex = this.setFileSource(resolvedP, content);
+
+ if (newIndex !== index) {
+ this.registerEntry(resolvedP, newIndex);
+ }
+ }
+
+ writeFileSync(p, content, opts) {
+ const {
+ encoding,
+ index,
+ resolvedP
+ } = this.prepareWriteFile(p, opts);
+ if (index !== undefined && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]);
+ if (encoding !== null) content = content.toString(encoding);
+ const newIndex = this.setFileSource(resolvedP, content);
+
+ if (newIndex !== index) {
+ this.registerEntry(resolvedP, newIndex);
+ }
+ }
+
+ prepareWriteFile(p, opts) {
+ if (typeof p !== `string`) throw EBADF(`read`);
+ if (this.readOnly) throw EROFS(`open '${p}'`);
+ const resolvedP = this.resolveFilename(`open '${p}'`, p);
+ if (this.listings.has(resolvedP)) throw EISDIR(`open '${p}'`);
+ let encoding = null;
+ if (typeof opts === `string`) encoding = opts;else if (typeof opts === `object` && opts.encoding) encoding = opts.encoding;
+ const index = this.entries.get(resolvedP);
+ return {
+ encoding,
+ resolvedP,
+ index
+ };
+ }
+
+ async unlinkPromise(p) {
+ return this.unlinkSync(p);
+ }
+
+ unlinkSync(p) {
+ if (this.readOnly) throw EROFS(`unlink '${p}'`);
+ const resolvedP = this.resolveFilename(`unlink '${p}'`, p);
+ if (this.listings.has(resolvedP)) throw EISDIR(`unlink '${p}'`);
+ const index = this.entries.get(resolvedP);
+ if (typeof index === `undefined`) throw EINVAL(`unlink '${p}'`);
+ this.deleteEntry(resolvedP, index);
+ }
+
+ async utimesPromise(p, atime, mtime) {
+ return this.utimesSync(p, atime, mtime);
+ }
+
+ utimesSync(p, atime, mtime) {
+ if (this.readOnly) throw EROFS(`utimes '${p}'`);
+ const resolvedP = this.resolveFilename(`utimes '${p}'`, p);
+ this.utimesImpl(resolvedP, mtime);
+ }
+
+ async lutimesPromise(p, atime, mtime) {
+ return this.lutimesSync(p, atime, mtime);
+ }
+
+ lutimesSync(p, atime, mtime) {
+ if (this.readOnly) throw EROFS(`lutimes '${p}'`);
+ const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false);
+ this.utimesImpl(resolvedP, mtime);
+ }
+
+ utimesImpl(resolvedP, mtime) {
+ if (this.listings.has(resolvedP)) if (!this.entries.has(resolvedP)) this.hydrateDirectory(resolvedP);
+ const entry = this.entries.get(resolvedP);
+ if (entry === undefined) throw new Error(`Unreachable`);
+ const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0);
+
+ if (rc === -1) {
+ throw this.makeLibzipError(this.libzip.getError(this.zip));
+ }
+ }
+
+ async mkdirPromise(p, opts) {
+ return this.mkdirSync(p, opts);
+ }
+
+ mkdirSync(p, {
+ mode = 0o755,
+ recursive = false
+ } = {}) {
+ if (recursive) {
+ this.mkdirpSync(p, {
+ chmod: mode
+ });
+ return;
+ }
+
+ if (this.readOnly) throw EROFS(`mkdir '${p}'`);
+ const resolvedP = this.resolveFilename(`mkdir '${p}'`, p);
+ if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) throw EEXIST(`mkdir '${p}'`);
+ this.hydrateDirectory(resolvedP);
+ this.chmodSync(resolvedP, mode);
+ }
+
+ async rmdirPromise(p, opts) {
+ return this.rmdirSync(p, opts);
+ }
+
+ rmdirSync(p, {
+ recursive = false
+ } = {}) {
+ if (this.readOnly) throw EROFS(`rmdir '${p}'`);
+
+ if (recursive) {
+ this.removeSync(p);
+ return;
+ }
+
+ const resolvedP = this.resolveFilename(`rmdir '${p}'`, p);
+ const directoryListing = this.listings.get(resolvedP);
+ if (!directoryListing) throw ENOTDIR(`rmdir '${p}'`);
+ if (directoryListing.size > 0) throw ENOTEMPTY(`rmdir '${p}'`);
+ const index = this.entries.get(resolvedP);
+ if (typeof index === `undefined`) throw EINVAL(`rmdir '${p}'`);
+ this.deleteEntry(p, index);
+ }
+
+ hydrateDirectory(resolvedP) {
+ const index = this.libzip.dir.add(this.zip, sources_path/* ppath.relative */.y1.relative(sources_path/* PortablePath.root */.LZ.root, resolvedP));
+ if (index === -1) throw this.makeLibzipError(this.libzip.getError(this.zip));
+ this.registerListing(resolvedP);
+ this.registerEntry(resolvedP, index);
+ return index;
+ }
+
+ async linkPromise(existingP, newP) {
+ return this.linkSync(existingP, newP);
+ }
+
+ linkSync(existingP, newP) {
+ // Zip archives don't support hard links:
+ // https://stackoverflow.com/questions/8859616/are-hard-links-possible-within-a-zip-archive
+ throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`);
+ }
+
+ async symlinkPromise(target, p) {
+ return this.symlinkSync(target, p);
+ }
+
+ symlinkSync(target, p) {
+ if (this.readOnly) throw EROFS(`symlink '${target}' -> '${p}'`);
+ const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p);
+ if (this.listings.has(resolvedP)) throw EISDIR(`symlink '${target}' -> '${p}'`);
+ if (this.entries.has(resolvedP)) throw EEXIST(`symlink '${target}' -> '${p}'`);
+ const index = this.setFileSource(resolvedP, target);
+ this.registerEntry(resolvedP, index);
+ const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (S_IFLNK | 0o777) << 16);
+ if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip));
+ this.symlinkCount += 1;
+ }
+
+ async readFilePromise(p, encoding) {
+ // This is messed up regarding the TS signatures
+ if (typeof encoding === `object`) // @ts-expect-error
+ encoding = encoding ? encoding.encoding : undefined;
+ const data = await this.readFileBuffer(p, {
+ asyncDecompress: true
+ });
+ return encoding ? data.toString(encoding) : data;
+ }
+
+ readFileSync(p, encoding) {
+ // This is messed up regarding the TS signatures
+ if (typeof encoding === `object`) // @ts-expect-error
+ encoding = encoding ? encoding.encoding : undefined;
+ const data = this.readFileBuffer(p);
+ return encoding ? data.toString(encoding) : data;
+ }
+
+ readFileBuffer(p, opts = {
+ asyncDecompress: false
+ }) {
+ if (typeof p !== `string`) throw EBADF(`read`);
+ const resolvedP = this.resolveFilename(`open '${p}'`, p);
+ if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`open '${p}'`); // Ensures that the last component is a directory, if the user said so (even if it is we'll throw right after with EISDIR anyway)
+
+ if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`open '${p}'`);
+ if (this.listings.has(resolvedP)) throw EISDIR(`read`);
+ const entry = this.entries.get(resolvedP);
+ if (entry === undefined) throw new Error(`Unreachable`);
+ return this.getFileSource(entry, opts);
+ }
+
+ async readdirPromise(p, {
+ withFileTypes
+ } = {}) {
+ return this.readdirSync(p, {
+ withFileTypes: withFileTypes
+ });
+ }
+
+ readdirSync(p, {
+ withFileTypes
+ } = {}) {
+ const resolvedP = this.resolveFilename(`scandir '${p}'`, p);
+ if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`scandir '${p}'`);
+ const directoryListing = this.listings.get(resolvedP);
+ if (!directoryListing) throw ENOTDIR(`scandir '${p}'`);
+ const entries = [...directoryListing];
+ if (!withFileTypes) return entries;
+ return entries.map(name => {
+ return Object.assign(this.statImpl(`lstat`, sources_path/* ppath.join */.y1.join(p, name)), {
+ name
+ });
+ });
+ }
+
+ async readlinkPromise(p) {
+ const entry = this.prepareReadlink(p);
+ return (await this.getFileSource(entry, {
+ asyncDecompress: true
+ })).toString();
+ }
+
+ readlinkSync(p) {
+ const entry = this.prepareReadlink(p);
+ return this.getFileSource(entry).toString();
+ }
+
+ prepareReadlink(p) {
+ const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false);
+ if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`readlink '${p}'`); // Ensure that the last component is a directory (if it is we'll throw right after with EISDIR anyway)
+
+ if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`open '${p}'`);
+ if (this.listings.has(resolvedP)) throw EINVAL(`readlink '${p}'`);
+ const entry = this.entries.get(resolvedP);
+ if (entry === undefined) throw new Error(`Unreachable`);
+ if (!this.isSymbolicLink(entry)) throw EINVAL(`readlink '${p}'`);
+ return entry;
+ }
+
+ async truncatePromise(p, len = 0) {
+ const resolvedP = this.resolveFilename(`open '${p}'`, p);
+ const index = this.entries.get(resolvedP);
+ if (typeof index === `undefined`) throw EINVAL(`open '${p}'`);
+ const source = await this.getFileSource(index, {
+ asyncDecompress: true
+ });
+ const truncated = Buffer.alloc(len, 0x00);
+ source.copy(truncated);
+ return await this.writeFilePromise(p, truncated);
+ }
+
+ truncateSync(p, len = 0) {
+ const resolvedP = this.resolveFilename(`open '${p}'`, p);
+ const index = this.entries.get(resolvedP);
+ if (typeof index === `undefined`) throw EINVAL(`open '${p}'`);
+ const source = this.getFileSource(index);
+ const truncated = Buffer.alloc(len, 0x00);
+ source.copy(truncated);
+ return this.writeFileSync(p, truncated);
+ }
+
+ watch(p, a, b) {
+ let persistent;
+
+ switch (typeof a) {
+ case `function`:
+ case `string`:
+ case `undefined`:
+ {
+ persistent = true;
+ }
+ break;
+
+ default:
+ {
+ ({
+ persistent = true
+ } = a);
+ }
+ break;
+ }
+
+ if (!persistent) return {
+ on: () => {},
+ close: () => {}
+ };
+ const interval = setInterval(() => {}, 24 * 60 * 60 * 1000);
+ return {
+ on: () => {},
+ close: () => {
+ clearInterval(interval);
+ }
+ };
+ }
+
+ watchFile(p, a, b) {
+ const resolvedP = this.resolveFilename(`open '${p}'`, p);
+ return watchFile(this, resolvedP, a, b);
+ }
+
+ unwatchFile(p, cb) {
+ const resolvedP = this.resolveFilename(`open '${p}'`, p);
+ return unwatchFile(this, resolvedP, cb);
+ }
+
+}
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ZipOpenFS.ts
+
+
+
+
+
+
+const ZIP_FD = 0x80000000;
+const FILE_PARTS_REGEX = /.*?(?<!\/)\.zip(?=\/|$)/;
+class ZipOpenFS extends FakeFS/* BasePortableFakeFS */.fS {
+ constructor({
+ libzip,
+ baseFs = new NodeFS(),
+ filter = null,
+ maxOpenFiles = Infinity,
+ readOnlyArchives = false,
+ useCache = true,
+ maxAge = 5000
+ }) {
+ super();
+ this.fdMap = new Map();
+ this.nextFd = 3;
+ this.isZip = new Set();
+ this.notZip = new Set();
+ this.realPaths = new Map();
+ this.limitOpenFilesTimeout = null;
+ this.libzip = libzip;
+ this.baseFs = baseFs;
+ this.zipInstances = useCache ? new Map() : null;
+ this.filter = filter;
+ this.maxOpenFiles = maxOpenFiles;
+ this.readOnlyArchives = readOnlyArchives;
+ this.maxAge = maxAge;
+ }
+
+ static async openPromise(fn, opts) {
+ const zipOpenFs = new ZipOpenFS(opts);
+
+ try {
+ return await fn(zipOpenFs);
+ } finally {
+ zipOpenFs.saveAndClose();
+ }
+ }
+
+ getExtractHint(hints) {
+ return this.baseFs.getExtractHint(hints);
+ }
+
+ getRealPath() {
+ return this.baseFs.getRealPath();
+ }
+
+ saveAndClose() {
+ unwatchAllFiles(this);
+
+ if (this.zipInstances) {
+ for (const [path, {
+ zipFs
+ }] of this.zipInstances.entries()) {
+ zipFs.saveAndClose();
+ this.zipInstances.delete(path);
+ }
+ }
+ }
+
+ discardAndClose() {
+ unwatchAllFiles(this);
+
+ if (this.zipInstances) {
+ for (const [path, {
+ zipFs
+ }] of this.zipInstances.entries()) {
+ zipFs.discardAndClose();
+ this.zipInstances.delete(path);
+ }
+ }
+ }
+
+ resolve(p) {
+ return this.baseFs.resolve(p);
+ }
+
+ remapFd(zipFs, fd) {
+ const remappedFd = this.nextFd++ | ZIP_FD;
+ this.fdMap.set(remappedFd, [zipFs, fd]);
+ return remappedFd;
+ }
+
+ async openPromise(p, flags, mode) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.openPromise(p, flags, mode);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return this.remapFd(zipFs, await zipFs.openPromise(subPath, flags, mode));
+ });
+ }
+
+ openSync(p, flags, mode) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.openSync(p, flags, mode);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return this.remapFd(zipFs, zipFs.openSync(subPath, flags, mode));
+ });
+ }
+
+ async readPromise(fd, buffer, offset, length, position) {
+ if ((fd & ZIP_FD) === 0) return await this.baseFs.readPromise(fd, buffer, offset, length, position);
+ const entry = this.fdMap.get(fd);
+ if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, read`), {
+ code: `EBADF`
+ });
+ const [zipFs, realFd] = entry;
+ return await zipFs.readPromise(realFd, buffer, offset, length, position);
+ }
+
+ readSync(fd, buffer, offset, length, position) {
+ if ((fd & ZIP_FD) === 0) return this.baseFs.readSync(fd, buffer, offset, length, position);
+ const entry = this.fdMap.get(fd);
+ if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, read`), {
+ code: `EBADF`
+ });
+ const [zipFs, realFd] = entry;
+ return zipFs.readSync(realFd, buffer, offset, length, position);
+ }
+
+ async writePromise(fd, buffer, offset, length, position) {
+ if ((fd & ZIP_FD) === 0) {
+ if (typeof buffer === `string`) {
+ return await this.baseFs.writePromise(fd, buffer, offset);
+ } else {
+ return await this.baseFs.writePromise(fd, buffer, offset, length, position);
+ }
+ }
+
+ const entry = this.fdMap.get(fd);
+ if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, write`), {
+ code: `EBADF`
+ });
+ const [zipFs, realFd] = entry;
+
+ if (typeof buffer === `string`) {
+ return await zipFs.writePromise(realFd, buffer, offset);
+ } else {
+ return await zipFs.writePromise(realFd, buffer, offset, length, position);
+ }
+ }
+
+ writeSync(fd, buffer, offset, length, position) {
+ if ((fd & ZIP_FD) === 0) {
+ if (typeof buffer === `string`) {
+ return this.baseFs.writeSync(fd, buffer, offset);
+ } else {
+ return this.baseFs.writeSync(fd, buffer, offset, length, position);
+ }
+ }
+
+ const entry = this.fdMap.get(fd);
+ if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, write`), {
+ code: `EBADF`
+ });
+ const [zipFs, realFd] = entry;
+
+ if (typeof buffer === `string`) {
+ return zipFs.writeSync(realFd, buffer, offset);
+ } else {
+ return zipFs.writeSync(realFd, buffer, offset, length, position);
+ }
+ }
+
+ async closePromise(fd) {
+ if ((fd & ZIP_FD) === 0) return await this.baseFs.closePromise(fd);
+ const entry = this.fdMap.get(fd);
+ if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, close`), {
+ code: `EBADF`
+ });
+ this.fdMap.delete(fd);
+ const [zipFs, realFd] = entry;
+ return await zipFs.closePromise(realFd);
+ }
+
+ closeSync(fd) {
+ if ((fd & ZIP_FD) === 0) return this.baseFs.closeSync(fd);
+ const entry = this.fdMap.get(fd);
+ if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, close`), {
+ code: `EBADF`
+ });
+ this.fdMap.delete(fd);
+ const [zipFs, realFd] = entry;
+ return zipFs.closeSync(realFd);
+ }
+
+ createReadStream(p, opts) {
+ if (p === null) return this.baseFs.createReadStream(p, opts);
+ return this.makeCallSync(p, () => {
+ return this.baseFs.createReadStream(p, opts);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.createReadStream(subPath, opts);
+ });
+ }
+
+ createWriteStream(p, opts) {
+ if (p === null) return this.baseFs.createWriteStream(p, opts);
+ return this.makeCallSync(p, () => {
+ return this.baseFs.createWriteStream(p, opts);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.createWriteStream(subPath, opts);
+ });
+ }
+
+ async realpathPromise(p) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.realpathPromise(p);
+ }, async (zipFs, {
+ archivePath,
+ subPath
+ }) => {
+ let realArchivePath = this.realPaths.get(archivePath);
+
+ if (typeof realArchivePath === `undefined`) {
+ realArchivePath = await this.baseFs.realpathPromise(archivePath);
+ this.realPaths.set(archivePath, realArchivePath);
+ }
+
+ return this.pathUtils.join(realArchivePath, this.pathUtils.relative(sources_path/* PortablePath.root */.LZ.root, await zipFs.realpathPromise(subPath)));
+ });
+ }
+
+ realpathSync(p) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.realpathSync(p);
+ }, (zipFs, {
+ archivePath,
+ subPath
+ }) => {
+ let realArchivePath = this.realPaths.get(archivePath);
+
+ if (typeof realArchivePath === `undefined`) {
+ realArchivePath = this.baseFs.realpathSync(archivePath);
+ this.realPaths.set(archivePath, realArchivePath);
+ }
+
+ return this.pathUtils.join(realArchivePath, this.pathUtils.relative(sources_path/* PortablePath.root */.LZ.root, zipFs.realpathSync(subPath)));
+ });
+ }
+
+ async existsPromise(p) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.existsPromise(p);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.existsPromise(subPath);
+ });
+ }
+
+ existsSync(p) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.existsSync(p);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.existsSync(subPath);
+ });
+ }
+
+ async accessPromise(p, mode) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.accessPromise(p, mode);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.accessPromise(subPath, mode);
+ });
+ }
+
+ accessSync(p, mode) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.accessSync(p, mode);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.accessSync(subPath, mode);
+ });
+ }
+
+ async statPromise(p) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.statPromise(p);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.statPromise(subPath);
+ });
+ }
+
+ statSync(p) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.statSync(p);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.statSync(subPath);
+ });
+ }
+
+ async lstatPromise(p) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.lstatPromise(p);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.lstatPromise(subPath);
+ });
+ }
+
+ lstatSync(p) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.lstatSync(p);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.lstatSync(subPath);
+ });
+ }
+
+ async chmodPromise(p, mask) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.chmodPromise(p, mask);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.chmodPromise(subPath, mask);
+ });
+ }
+
+ chmodSync(p, mask) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.chmodSync(p, mask);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.chmodSync(subPath, mask);
+ });
+ }
+
+ async chownPromise(p, uid, gid) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.chownPromise(p, uid, gid);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.chownPromise(subPath, uid, gid);
+ });
+ }
+
+ chownSync(p, uid, gid) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.chownSync(p, uid, gid);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.chownSync(subPath, uid, gid);
+ });
+ }
+
+ async renamePromise(oldP, newP) {
+ return await this.makeCallPromise(oldP, async () => {
+ return await this.makeCallPromise(newP, async () => {
+ return await this.baseFs.renamePromise(oldP, newP);
+ }, async () => {
+ throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {
+ code: `EEXDEV`
+ });
+ });
+ }, async (zipFsO, {
+ subPath: subPathO
+ }) => {
+ return await this.makeCallPromise(newP, async () => {
+ throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {
+ code: `EEXDEV`
+ });
+ }, async (zipFsN, {
+ subPath: subPathN
+ }) => {
+ if (zipFsO !== zipFsN) {
+ throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {
+ code: `EEXDEV`
+ });
+ } else {
+ return await zipFsO.renamePromise(subPathO, subPathN);
+ }
+ });
+ });
+ }
+
+ renameSync(oldP, newP) {
+ return this.makeCallSync(oldP, () => {
+ return this.makeCallSync(newP, () => {
+ return this.baseFs.renameSync(oldP, newP);
+ }, async () => {
+ throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {
+ code: `EEXDEV`
+ });
+ });
+ }, (zipFsO, {
+ subPath: subPathO
+ }) => {
+ return this.makeCallSync(newP, () => {
+ throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {
+ code: `EEXDEV`
+ });
+ }, (zipFsN, {
+ subPath: subPathN
+ }) => {
+ if (zipFsO !== zipFsN) {
+ throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {
+ code: `EEXDEV`
+ });
+ } else {
+ return zipFsO.renameSync(subPathO, subPathN);
+ }
+ });
+ });
+ }
+
+ async copyFilePromise(sourceP, destP, flags = 0) {
+ const fallback = async (sourceFs, sourceP, destFs, destP) => {
+ if ((flags & external_fs_.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP}' -> ${destP}'`), {
+ code: `EXDEV`
+ });
+ if (flags & external_fs_.constants.COPYFILE_EXCL && (await this.existsPromise(sourceP))) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP}' -> '${destP}'`), {
+ code: `EEXIST`
+ });
+ let content;
+
+ try {
+ content = await sourceFs.readFilePromise(sourceP);
+ } catch (error) {
+ throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP}' -> '${destP}'`), {
+ code: `EINVAL`
+ });
+ }
+
+ await destFs.writeFilePromise(destP, content);
+ };
+
+ return await this.makeCallPromise(sourceP, async () => {
+ return await this.makeCallPromise(destP, async () => {
+ return await this.baseFs.copyFilePromise(sourceP, destP, flags);
+ }, async (zipFsD, {
+ subPath: subPathD
+ }) => {
+ return await fallback(this.baseFs, sourceP, zipFsD, subPathD);
+ });
+ }, async (zipFsS, {
+ subPath: subPathS
+ }) => {
+ return await this.makeCallPromise(destP, async () => {
+ return await fallback(zipFsS, subPathS, this.baseFs, destP);
+ }, async (zipFsD, {
+ subPath: subPathD
+ }) => {
+ if (zipFsS !== zipFsD) {
+ return await fallback(zipFsS, subPathS, zipFsD, subPathD);
+ } else {
+ return await zipFsS.copyFilePromise(subPathS, subPathD, flags);
+ }
+ });
+ });
+ }
+
+ copyFileSync(sourceP, destP, flags = 0) {
+ const fallback = (sourceFs, sourceP, destFs, destP) => {
+ if ((flags & external_fs_.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP}' -> ${destP}'`), {
+ code: `EXDEV`
+ });
+ if (flags & external_fs_.constants.COPYFILE_EXCL && this.existsSync(sourceP)) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP}' -> '${destP}'`), {
+ code: `EEXIST`
+ });
+ let content;
+
+ try {
+ content = sourceFs.readFileSync(sourceP);
+ } catch (error) {
+ throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP}' -> '${destP}'`), {
+ code: `EINVAL`
+ });
+ }
+
+ destFs.writeFileSync(destP, content);
+ };
+
+ return this.makeCallSync(sourceP, () => {
+ return this.makeCallSync(destP, () => {
+ return this.baseFs.copyFileSync(sourceP, destP, flags);
+ }, (zipFsD, {
+ subPath: subPathD
+ }) => {
+ return fallback(this.baseFs, sourceP, zipFsD, subPathD);
+ });
+ }, (zipFsS, {
+ subPath: subPathS
+ }) => {
+ return this.makeCallSync(destP, () => {
+ return fallback(zipFsS, subPathS, this.baseFs, destP);
+ }, (zipFsD, {
+ subPath: subPathD
+ }) => {
+ if (zipFsS !== zipFsD) {
+ return fallback(zipFsS, subPathS, zipFsD, subPathD);
+ } else {
+ return zipFsS.copyFileSync(subPathS, subPathD, flags);
+ }
+ });
+ });
+ }
+
+ async appendFilePromise(p, content, opts) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.appendFilePromise(p, content, opts);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.appendFilePromise(subPath, content, opts);
+ });
+ }
+
+ appendFileSync(p, content, opts) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.appendFileSync(p, content, opts);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.appendFileSync(subPath, content, opts);
+ });
+ }
+
+ async writeFilePromise(p, content, opts) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.writeFilePromise(p, content, opts);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.writeFilePromise(subPath, content, opts);
+ });
+ }
+
+ writeFileSync(p, content, opts) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.writeFileSync(p, content, opts);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.writeFileSync(subPath, content, opts);
+ });
+ }
+
+ async unlinkPromise(p) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.unlinkPromise(p);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.unlinkPromise(subPath);
+ });
+ }
+
+ unlinkSync(p) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.unlinkSync(p);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.unlinkSync(subPath);
+ });
+ }
+
+ async utimesPromise(p, atime, mtime) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.utimesPromise(p, atime, mtime);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.utimesPromise(subPath, atime, mtime);
+ });
+ }
+
+ utimesSync(p, atime, mtime) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.utimesSync(p, atime, mtime);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.utimesSync(subPath, atime, mtime);
+ });
+ }
+
+ async mkdirPromise(p, opts) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.mkdirPromise(p, opts);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.mkdirPromise(subPath, opts);
+ });
+ }
+
+ mkdirSync(p, opts) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.mkdirSync(p, opts);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.mkdirSync(subPath, opts);
+ });
+ }
+
+ async rmdirPromise(p, opts) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.rmdirPromise(p, opts);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.rmdirPromise(subPath, opts);
+ });
+ }
+
+ rmdirSync(p, opts) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.rmdirSync(p, opts);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.rmdirSync(subPath, opts);
+ });
+ }
+
+ async linkPromise(existingP, newP) {
+ return await this.makeCallPromise(newP, async () => {
+ return await this.baseFs.linkPromise(existingP, newP);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.linkPromise(existingP, subPath);
+ });
+ }
+
+ linkSync(existingP, newP) {
+ return this.makeCallSync(newP, () => {
+ return this.baseFs.linkSync(existingP, newP);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.linkSync(existingP, subPath);
+ });
+ }
+
+ async symlinkPromise(target, p, type) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.symlinkPromise(target, p, type);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.symlinkPromise(target, subPath);
+ });
+ }
+
+ symlinkSync(target, p, type) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.symlinkSync(target, p, type);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.symlinkSync(target, subPath);
+ });
+ }
+
+ async readFilePromise(p, encoding) {
+ return this.makeCallPromise(p, async () => {
+ // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered)
+ switch (encoding) {
+ case `utf8`:
+ return await this.baseFs.readFilePromise(p, encoding);
+
+ default:
+ return await this.baseFs.readFilePromise(p, encoding);
+ }
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.readFilePromise(subPath, encoding);
+ });
+ }
+
+ readFileSync(p, encoding) {
+ return this.makeCallSync(p, () => {
+ // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered)
+ switch (encoding) {
+ case `utf8`:
+ return this.baseFs.readFileSync(p, encoding);
+
+ default:
+ return this.baseFs.readFileSync(p, encoding);
+ }
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.readFileSync(subPath, encoding);
+ });
+ }
+
+ async readdirPromise(p, {
+ withFileTypes
+ } = {}) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.readdirPromise(p, {
+ withFileTypes: withFileTypes
+ });
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.readdirPromise(subPath, {
+ withFileTypes: withFileTypes
+ });
+ }, {
+ requireSubpath: false
+ });
+ }
+
+ readdirSync(p, {
+ withFileTypes
+ } = {}) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.readdirSync(p, {
+ withFileTypes: withFileTypes
+ });
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.readdirSync(subPath, {
+ withFileTypes: withFileTypes
+ });
+ }, {
+ requireSubpath: false
+ });
+ }
+
+ async readlinkPromise(p) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.readlinkPromise(p);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.readlinkPromise(subPath);
+ });
+ }
+
+ readlinkSync(p) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.readlinkSync(p);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.readlinkSync(subPath);
+ });
+ }
+
+ async truncatePromise(p, len) {
+ return await this.makeCallPromise(p, async () => {
+ return await this.baseFs.truncatePromise(p, len);
+ }, async (zipFs, {
+ subPath
+ }) => {
+ return await zipFs.truncatePromise(subPath, len);
+ });
+ }
+
+ truncateSync(p, len) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.truncateSync(p, len);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.truncateSync(subPath, len);
+ });
+ }
+
+ watch(p, a, b) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.watch(p, // @ts-expect-error
+ a, b);
+ }, (zipFs, {
+ subPath
+ }) => {
+ return zipFs.watch(subPath, // @ts-expect-error
+ a, b);
+ });
+ }
+
+ watchFile(p, a, b) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.watchFile(p, // @ts-expect-error
+ a, b);
+ }, () => {
+ return watchFile(this, p, a, b);
+ });
+ }
+
+ unwatchFile(p, cb) {
+ return this.makeCallSync(p, () => {
+ return this.baseFs.unwatchFile(p, cb);
+ }, () => {
+ return unwatchFile(this, p, cb);
+ });
+ }
+
+ async makeCallPromise(p, discard, accept, {
+ requireSubpath = true
+ } = {}) {
+ if (typeof p !== `string`) return await discard();
+ const normalizedP = this.resolve(p);
+ const zipInfo = this.findZip(normalizedP);
+ if (!zipInfo) return await discard();
+ if (requireSubpath && zipInfo.subPath === `/`) return await discard();
+ return await this.getZipPromise(zipInfo.archivePath, async zipFs => await accept(zipFs, zipInfo));
+ }
+
+ makeCallSync(p, discard, accept, {
+ requireSubpath = true
+ } = {}) {
+ if (typeof p !== `string`) return discard();
+ const normalizedP = this.resolve(p);
+ const zipInfo = this.findZip(normalizedP);
+ if (!zipInfo) return discard();
+ if (requireSubpath && zipInfo.subPath === `/`) return discard();
+ return this.getZipSync(zipInfo.archivePath, zipFs => accept(zipFs, zipInfo));
+ }
+
+ findZip(p) {
+ if (this.filter && !this.filter.test(p)) return null;
+ let filePath = ``;
+
+ while (true) {
+ const parts = FILE_PARTS_REGEX.exec(p.substr(filePath.length));
+ if (!parts) return null;
+ filePath = this.pathUtils.join(filePath, parts[0]);
+
+ if (this.isZip.has(filePath) === false) {
+ if (this.notZip.has(filePath)) continue;
+
+ try {
+ if (!this.baseFs.lstatSync(filePath).isFile()) {
+ this.notZip.add(filePath);
+ continue;
+ }
+ } catch (_a) {
+ return null;
+ }
+
+ this.isZip.add(filePath);
+ }
+
+ return {
+ archivePath: filePath,
+ subPath: this.pathUtils.join(sources_path/* PortablePath.root */.LZ.root, p.substr(filePath.length))
+ };
+ }
+ }
+
+ limitOpenFiles(max) {
+ if (this.zipInstances === null) return;
+ const now = Date.now();
+ let nextExpiresAt = now + this.maxAge;
+ let closeCount = max === null ? 0 : this.zipInstances.size - max;
+
+ for (const [path, {
+ zipFs,
+ expiresAt,
+ refCount
+ }] of this.zipInstances.entries()) {
+ if (refCount !== 0 || zipFs.hasOpenFileHandles()) {
+ continue;
+ } else if (now >= expiresAt) {
+ zipFs.saveAndClose();
+ this.zipInstances.delete(path);
+ closeCount -= 1;
+ continue;
+ } else if (max === null || closeCount <= 0) {
+ nextExpiresAt = expiresAt;
+ break;
+ }
+
+ zipFs.saveAndClose();
+ this.zipInstances.delete(path);
+ closeCount -= 1;
+ }
+
+ if (this.limitOpenFilesTimeout === null && (max === null && this.zipInstances.size > 0 || max !== null)) {
+ this.limitOpenFilesTimeout = setTimeout(() => {
+ this.limitOpenFilesTimeout = null;
+ this.limitOpenFiles(null);
+ }, nextExpiresAt - now).unref();
+ }
+ }
+
+ async getZipPromise(p, accept) {
+ const getZipOptions = async () => ({
+ baseFs: this.baseFs,
+ libzip: this.libzip,
+ readOnly: this.readOnlyArchives,
+ stats: await this.baseFs.statPromise(p)
+ });
+
+ if (this.zipInstances) {
+ let cachedZipFs = this.zipInstances.get(p);
+
+ if (!cachedZipFs) {
+ const zipOptions = await getZipOptions(); // We need to recheck because concurrent getZipPromise calls may
+ // have instantiated the zip archive while we were waiting
+
+ cachedZipFs = this.zipInstances.get(p);
+
+ if (!cachedZipFs) {
+ cachedZipFs = {
+ zipFs: new ZipFS(p, zipOptions),
+ expiresAt: 0,
+ refCount: 0
+ };
+ }
+ } // Removing then re-adding the field allows us to easily implement
+ // a basic LRU garbage collection strategy
+
+
+ this.zipInstances.delete(p);
+ this.limitOpenFiles(this.maxOpenFiles - 1);
+ this.zipInstances.set(p, cachedZipFs);
+ cachedZipFs.expiresAt = Date.now() + this.maxAge;
+ cachedZipFs.refCount += 1;
+
+ try {
+ return await accept(cachedZipFs.zipFs);
+ } finally {
+ cachedZipFs.refCount -= 1;
+ }
+ } else {
+ const zipFs = new ZipFS(p, await getZipOptions());
+
+ try {
+ return await accept(zipFs);
+ } finally {
+ zipFs.saveAndClose();
+ }
+ }
+ }
+
+ getZipSync(p, accept) {
+ const getZipOptions = () => ({
+ baseFs: this.baseFs,
+ libzip: this.libzip,
+ readOnly: this.readOnlyArchives,
+ stats: this.baseFs.statSync(p)
+ });
+
+ if (this.zipInstances) {
+ let cachedZipFs = this.zipInstances.get(p);
+
+ if (!cachedZipFs) {
+ cachedZipFs = {
+ zipFs: new ZipFS(p, getZipOptions()),
+ expiresAt: 0,
+ refCount: 0
+ };
+ } // Removing then re-adding the field allows us to easily implement
+ // a basic LRU garbage collection strategy
+
+
+ this.zipInstances.delete(p);
+ this.limitOpenFiles(this.maxOpenFiles - 1);
+ this.zipInstances.set(p, cachedZipFs);
+ cachedZipFs.expiresAt = Date.now() + this.maxAge;
+ return accept(cachedZipFs.zipFs);
+ } else {
+ const zipFs = new ZipFS(p, getZipOptions());
+
+ try {
+ return accept(zipFs);
+ } finally {
+ zipFs.saveAndClose();
+ }
+ }
+ }
+
+}
+// CONCATENATED MODULE: ../yarnpkg-libzip/sources/makeInterface.ts
+const number64 = [`number`, `number`];
+var Errors;
+
+(function (Errors) {
+ Errors[Errors["ZIP_ER_OK"] = 0] = "ZIP_ER_OK";
+ Errors[Errors["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK";
+ Errors[Errors["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME";
+ Errors[Errors["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE";
+ Errors[Errors["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK";
+ Errors[Errors["ZIP_ER_READ"] = 5] = "ZIP_ER_READ";
+ Errors[Errors["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE";
+ Errors[Errors["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC";
+ Errors[Errors["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED";
+ Errors[Errors["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT";
+ Errors[Errors["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS";
+ Errors[Errors["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN";
+ Errors[Errors["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN";
+ Errors[Errors["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB";
+ Errors[Errors["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY";
+ Errors[Errors["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED";
+ Errors[Errors["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP";
+ Errors[Errors["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF";
+ Errors[Errors["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL";
+ Errors[Errors["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP";
+ Errors[Errors["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL";
+ Errors[Errors["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS";
+ Errors[Errors["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE";
+ Errors[Errors["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED";
+ Errors[Errors["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP";
+ Errors[Errors["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY";
+ Errors[Errors["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD";
+ Errors[Errors["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD";
+ Errors[Errors["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP";
+ Errors[Errors["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE";
+ Errors[Errors["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL";
+ Errors[Errors["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA";
+})(Errors || (Errors = {}));
+
+const makeInterface = libzip => ({
+ // Those are getters because they can change after memory growth
+ get HEAP8() {
+ return libzip.HEAP8;
+ },
+
+ get HEAPU8() {
+ return libzip.HEAPU8;
+ },
+
+ errors: Errors,
+ SEEK_SET: 0,
+ SEEK_CUR: 1,
+ SEEK_END: 2,
+ ZIP_CHECKCONS: 4,
+ ZIP_CREATE: 1,
+ ZIP_EXCL: 2,
+ ZIP_TRUNCATE: 8,
+ ZIP_RDONLY: 16,
+ ZIP_FL_OVERWRITE: 8192,
+ ZIP_FL_COMPRESSED: 4,
+ ZIP_OPSYS_DOS: 0x00,
+ ZIP_OPSYS_AMIGA: 0x01,
+ ZIP_OPSYS_OPENVMS: 0x02,
+ ZIP_OPSYS_UNIX: 0x03,
+ ZIP_OPSYS_VM_CMS: 0x04,
+ ZIP_OPSYS_ATARI_ST: 0x05,
+ ZIP_OPSYS_OS_2: 0x06,
+ ZIP_OPSYS_MACINTOSH: 0x07,
+ ZIP_OPSYS_Z_SYSTEM: 0x08,
+ ZIP_OPSYS_CPM: 0x09,
+ ZIP_OPSYS_WINDOWS_NTFS: 0x0a,
+ ZIP_OPSYS_MVS: 0x0b,
+ ZIP_OPSYS_VSE: 0x0c,
+ ZIP_OPSYS_ACORN_RISC: 0x0d,
+ ZIP_OPSYS_VFAT: 0x0e,
+ ZIP_OPSYS_ALTERNATE_MVS: 0x0f,
+ ZIP_OPSYS_BEOS: 0x10,
+ ZIP_OPSYS_TANDEM: 0x11,
+ ZIP_OPSYS_OS_400: 0x12,
+ ZIP_OPSYS_OS_X: 0x13,
+ ZIP_CM_DEFAULT: -1,
+ ZIP_CM_STORE: 0,
+ ZIP_CM_DEFLATE: 8,
+ uint08S: libzip._malloc(1),
+ uint16S: libzip._malloc(2),
+ uint32S: libzip._malloc(4),
+ uint64S: libzip._malloc(8),
+ malloc: libzip._malloc,
+ free: libzip._free,
+ getValue: libzip.getValue,
+ open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]),
+ openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]),
+ close: libzip.cwrap(`zip_close`, `number`, [`number`]),
+ discard: libzip.cwrap(`zip_discard`, null, [`number`]),
+ getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]),
+ getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]),
+ getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]),
+ delete: libzip.cwrap(`zip_delete`, `number`, [`number`, `number`]),
+ stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]),
+ statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]),
+ fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]),
+ fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]),
+ fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]),
+ fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]),
+ dir: {
+ add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`])
+ },
+ file: {
+ add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]),
+ getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]),
+ getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]),
+ setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]),
+ setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]),
+ setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`])
+ },
+ ext: {
+ countSymlinks: libzip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`])
+ },
+ error: {
+ initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]),
+ strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`])
+ },
+ name: {
+ locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`])
+ },
+ source: {
+ fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, `number`, `number`, `number`]),
+ fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]),
+ free: libzip.cwrap(`zip_source_free`, null, [`number`]),
+ keep: libzip.cwrap(`zip_source_keep`, null, [`number`]),
+ open: libzip.cwrap(`zip_source_open`, `number`, [`number`]),
+ close: libzip.cwrap(`zip_source_close`, `number`, [`number`]),
+ seek: libzip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]),
+ tell: libzip.cwrap(`zip_source_tell`, `number`, [`number`]),
+ read: libzip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]),
+ error: libzip.cwrap(`zip_source_error`, `number`, [`number`]),
+ setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`])
+ },
+ struct: {
+ stat: libzip.cwrap(`zipstruct_stat`, `number`, []),
+ statS: libzip.cwrap(`zipstruct_statS`, `number`, []),
+ statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]),
+ statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]),
+ statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]),
+ statCompSize: libzip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]),
+ statCompMethod: libzip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]),
+ statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]),
+ error: libzip.cwrap(`zipstruct_error`, `number`, []),
+ errorS: libzip.cwrap(`zipstruct_errorS`, `number`, []),
+ errorCodeZip: libzip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`])
+ }
+});
+// CONCATENATED MODULE: ../yarnpkg-libzip/sources/sync.ts
+
+let mod = null;
+function getLibzipSync() {
+ if (mod === null) mod = makeInterface(__webpack_require__(368));
+ return mod;
+}
+async function getLibzipPromise() {
+ return getLibzipSync();
+}
+// EXTERNAL MODULE: external "module"
+var external_module_ = __webpack_require__(282);
+var external_module_default = /*#__PURE__*/__webpack_require__.n(external_module_);
+
+// EXTERNAL MODULE: external "string_decoder"
+var external_string_decoder_ = __webpack_require__(304);
+var external_string_decoder_default = /*#__PURE__*/__webpack_require__.n(external_string_decoder_);
+
+// EXTERNAL MODULE: external "os"
+var external_os_ = __webpack_require__(87);
+var external_os_default = /*#__PURE__*/__webpack_require__.n(external_os_);
+
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/index.ts
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+function getTempName(prefix) {
+ const tmpdir = sources_path/* npath.toPortablePath */.cS.toPortablePath(external_os_default().tmpdir());
+ const hash = Math.ceil(Math.random() * 0x100000000).toString(16).padStart(8, `0`);
+ return sources_path/* ppath.join */.y1.join(tmpdir, `${prefix}${hash}`);
+}
+
+function patchFs(patchedFs, fakeFs) {
+ const SYNC_IMPLEMENTATIONS = new Set([`accessSync`, `appendFileSync`, `createReadStream`, `chmodSync`, `chownSync`, `closeSync`, `copyFileSync`, `linkSync`, `lstatSync`, `lutimesSync`, `mkdirSync`, `openSync`, `readSync`, `readlinkSync`, `readFileSync`, `readdirSync`, `readlinkSync`, `realpathSync`, `renameSync`, `rmdirSync`, `statSync`, `symlinkSync`, `truncateSync`, `unlinkSync`, `unwatchFile`, `utimesSync`, `watch`, `watchFile`, `writeFileSync`, `writeSync`]);
+ const ASYNC_IMPLEMENTATIONS = new Set([`accessPromise`, `appendFilePromise`, `chmodPromise`, `chownPromise`, `closePromise`, `copyFilePromise`, `linkPromise`, `lstatPromise`, `lutimesPromise`, `mkdirPromise`, `openPromise`, `readdirPromise`, `realpathPromise`, `readFilePromise`, `readdirPromise`, `readlinkPromise`, `renamePromise`, `rmdirPromise`, `statPromise`, `symlinkPromise`, `truncatePromise`, `unlinkPromise`, `utimesPromise`, `writeFilePromise`, `writeSync`]);
+ const FILEHANDLE_IMPLEMENTATIONS = new Set([`appendFilePromise`, `chmodPromise`, `chownPromise`, `closePromise`, `readPromise`, `readFilePromise`, `statPromise`, `truncatePromise`, `utimesPromise`, `writePromise`, `writeFilePromise`]);
+
+ const setupFn = (target, name, replacement) => {
+ const orig = target[name];
+ target[name] = replacement;
+
+ if (typeof (orig === null || orig === void 0 ? void 0 : orig[external_util_.promisify.custom]) !== `undefined`) {
+ replacement[external_util_.promisify.custom] = orig[external_util_.promisify.custom];
+ }
+ };
+ /** Callback implementations */
+
+
+ {
+ setupFn(patchedFs, `exists`, (p, ...args) => {
+ const hasCallback = typeof args[args.length - 1] === `function`;
+ const callback = hasCallback ? args.pop() : () => {};
+ process.nextTick(() => {
+ fakeFs.existsPromise(p).then(exists => {
+ callback(exists);
+ }, () => {
+ callback(false);
+ });
+ });
+ });
+ setupFn(patchedFs, `read`, (p, buffer, ...args) => {
+ const hasCallback = typeof args[args.length - 1] === `function`;
+ const callback = hasCallback ? args.pop() : () => {};
+ process.nextTick(() => {
+ fakeFs.readPromise(p, buffer, ...args).then(bytesRead => {
+ callback(null, bytesRead, buffer);
+ }, error => {
+ callback(error);
+ });
+ });
+ });
+
+ for (const fnName of ASYNC_IMPLEMENTATIONS) {
+ const origName = fnName.replace(/Promise$/, ``);
+ if (typeof patchedFs[origName] === `undefined`) continue;
+ const fakeImpl = fakeFs[fnName];
+ if (typeof fakeImpl === `undefined`) continue;
+
+ const wrapper = (...args) => {
+ const hasCallback = typeof args[args.length - 1] === `function`;
+ const callback = hasCallback ? args.pop() : () => {};
+ process.nextTick(() => {
+ fakeImpl.apply(fakeFs, args).then(result => {
+ callback(null, result);
+ }, error => {
+ callback(error);
+ });
+ });
+ };
+
+ setupFn(patchedFs, origName, wrapper);
+ }
+
+ patchedFs.realpath.native = patchedFs.realpath;
+ }
+ /** Sync implementations */
+
+ {
+ setupFn(patchedFs, `existsSync`, p => {
+ try {
+ return fakeFs.existsSync(p);
+ } catch (error) {
+ return false;
+ }
+ });
+
+ for (const fnName of SYNC_IMPLEMENTATIONS) {
+ const origName = fnName;
+ if (typeof patchedFs[origName] === `undefined`) continue;
+ const fakeImpl = fakeFs[fnName];
+ if (typeof fakeImpl === `undefined`) continue;
+ setupFn(patchedFs, origName, fakeImpl.bind(fakeFs));
+ }
+
+ patchedFs.realpathSync.native = patchedFs.realpathSync;
+ }
+ /** Promise implementations */
+
+ {
+ // `fs.promises` is a getter that returns a reference to require(`fs/promises`),
+ // so we can just patch `fs.promises` and both will be updated
+ const origEmitWarning = process.emitWarning;
+
+ process.emitWarning = () => {};
+
+ let patchedFsPromises;
+
+ try {
+ patchedFsPromises = patchedFs.promises;
+ } finally {
+ process.emitWarning = origEmitWarning;
+ }
+
+ if (typeof patchedFsPromises !== `undefined`) {
+ // `fs.promises.exists` doesn't exist
+ for (const fnName of ASYNC_IMPLEMENTATIONS) {
+ const origName = fnName.replace(/Promise$/, ``);
+ if (typeof patchedFsPromises[origName] === `undefined`) continue;
+ const fakeImpl = fakeFs[fnName];
+ if (typeof fakeImpl === `undefined`) continue; // Open is a bit particular with fs.promises: it returns a file handle
+ // instance instead of the traditional file descriptor number
+
+ if (fnName === `open`) continue;
+ setupFn(patchedFsPromises, origName, fakeImpl.bind(fakeFs));
+ }
+
+ class FileHandle {
+ constructor(fd) {
+ this.fd = fd;
+ }
+
+ }
+
+ for (const fnName of FILEHANDLE_IMPLEMENTATIONS) {
+ const origName = fnName.replace(/Promise$/, ``);
+ const fakeImpl = fakeFs[fnName];
+ if (typeof fakeImpl === `undefined`) continue;
+ setupFn(FileHandle.prototype, origName, function (...args) {
+ return fakeImpl.call(fakeFs, this.fd, ...args);
+ });
+ }
+
+ setupFn(patchedFsPromises, `open`, async (...args) => {
+ // @ts-expect-error
+ const fd = await fakeFs.openPromise(...args);
+ return new FileHandle(fd);
+ }); // `fs.promises.realpath` doesn't have a `native` property
+ }
+ }
+}
+function extendFs(realFs, fakeFs) {
+ const patchedFs = Object.create(realFs);
+ patchFs(patchedFs, fakeFs);
+ return patchedFs;
+}
+const tmpdirs = new Set();
+let cleanExitRegistered = false;
+
+function registerCleanExit() {
+ if (cleanExitRegistered) return;
+ cleanExitRegistered = true;
+ process.once(`exit`, () => {
+ xfs.rmtempSync();
+ });
+}
+
+const xfs = Object.assign(new NodeFS(), {
+ detachTemp(p) {
+ tmpdirs.delete(p);
+ },
+
+ mktempSync(cb) {
+ registerCleanExit();
+
+ while (true) {
+ const p = getTempName(`xfs-`);
+
+ try {
+ this.mkdirSync(p);
+ } catch (error) {
+ if (error.code === `EEXIST`) {
+ continue;
+ } else {
+ throw error;
+ }
+ }
+
+ const realP = this.realpathSync(p);
+ tmpdirs.add(realP);
+
+ if (typeof cb !== `undefined`) {
+ try {
+ return cb(realP);
+ } finally {
+ if (tmpdirs.has(realP)) {
+ tmpdirs.delete(realP);
+
+ try {
+ this.removeSync(realP);
+ } catch (_a) {// Too bad if there's an error
+ }
+ }
+ }
+ } else {
+ return p;
+ }
+ }
+ },
+
+ async mktempPromise(cb) {
+ registerCleanExit();
+
+ while (true) {
+ const p = getTempName(`xfs-`);
+
+ try {
+ await this.mkdirPromise(p);
+ } catch (error) {
+ if (error.code === `EEXIST`) {
+ continue;
+ } else {
+ throw error;
+ }
+ }
+
+ const realP = await this.realpathPromise(p);
+ tmpdirs.add(realP);
+
+ if (typeof cb !== `undefined`) {
+ try {
+ return await cb(realP);
+ } finally {
+ if (tmpdirs.has(realP)) {
+ tmpdirs.delete(realP);
+
+ try {
+ await this.removePromise(realP);
+ } catch (_a) {// Too bad if there's an error
+ }
+ }
+ }
+ } else {
+ return realP;
+ }
+ }
+ },
+
+ async rmtempPromise() {
+ await Promise.all(Array.from(tmpdirs.values()).map(async p => {
+ try {
+ await xfs.removePromise(p, {
+ maxRetries: 0
+ });
+ tmpdirs.delete(p);
+ } catch (_a) {// Too bad if there's an error
+ }
+ }));
+ },
+
+ rmtempSync() {
+ for (const p of tmpdirs) {
+ try {
+ xfs.removeSync(p);
+ tmpdirs.delete(p);
+ } catch (_a) {// Too bad if there's an error
+ }
+ }
+ }
+
+});
+// CONCATENATED MODULE: ../yarnpkg-fslib/sources/PosixFS.ts
+
+
+class PosixFS extends ProxiedFS {
+ constructor(baseFs) {
+ super(sources_path/* npath */.cS);
+ this.baseFs = baseFs;
+ }
+
+ mapFromBase(path) {
+ return sources_path/* npath.fromPortablePath */.cS.fromPortablePath(path);
+ }
+
+ mapToBase(path) {
+ return sources_path/* npath.toPortablePath */.cS.toPortablePath(path);
+ }
+
+}
+// EXTERNAL MODULE: external "url"
+var external_url_ = __webpack_require__(835);
+
+// CONCATENATED MODULE: ./sources/loader/internalTools.ts
+
+var ErrorCode;
+
+(function (ErrorCode) {
+ ErrorCode["API_ERROR"] = "API_ERROR";
+ ErrorCode["BLACKLISTED"] = "BLACKLISTED";
+ ErrorCode["BUILTIN_NODE_RESOLUTION_FAILED"] = "BUILTIN_NODE_RESOLUTION_FAILED";
+ ErrorCode["MISSING_DEPENDENCY"] = "MISSING_DEPENDENCY";
+ ErrorCode["MISSING_PEER_DEPENDENCY"] = "MISSING_PEER_DEPENDENCY";
+ ErrorCode["QUALIFIED_PATH_RESOLUTION_FAILED"] = "QUALIFIED_PATH_RESOLUTION_FAILED";
+ ErrorCode["INTERNAL"] = "INTERNAL";
+ ErrorCode["UNDECLARED_DEPENDENCY"] = "UNDECLARED_DEPENDENCY";
+ ErrorCode["UNSUPPORTED"] = "UNSUPPORTED";
+})(ErrorCode || (ErrorCode = {})); // Some errors are exposed as MODULE_NOT_FOUND for compatibility with packages
+// that expect this umbrella error when the resolution fails
+
+
+const MODULE_NOT_FOUND_ERRORS = new Set([ErrorCode.BLACKLISTED, ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, ErrorCode.MISSING_DEPENDENCY, ErrorCode.MISSING_PEER_DEPENDENCY, ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, ErrorCode.UNDECLARED_DEPENDENCY]);
+/**
+ * Simple helper function that assign an error code to an error, so that it can more easily be caught and used
+ * by third-parties.
+ */
+
+function internalTools_makeError(pnpCode, message, data = {}) {
+ const code = MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode;
+ const propertySpec = {
+ configurable: true,
+ writable: true,
+ enumerable: false
+ };
+ return Object.defineProperties(new Error(message), {
+ code: { ...propertySpec,
+ value: code
+ },
+ pnpCode: { ...propertySpec,
+ value: pnpCode
+ },
+ data: { ...propertySpec,
+ value: data
+ }
+ });
+}
+/**
+ * Returns the module that should be used to resolve require calls. It's usually the direct parent, except if we're
+ * inside an eval expression.
+ */
+
+function getIssuerModule(parent) {
+ let issuer = parent;
+
+ while (issuer && (issuer.id === `[eval]` || issuer.id === `<repl>` || !issuer.filename)) issuer = issuer.parent;
+
+ return issuer || null;
+}
+function getPathForDisplay(p) {
+ return sources_path/* npath.normalize */.cS.normalize(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(p));
+}
+// CONCATENATED MODULE: ./sources/loader/applyPatch.ts
+
+
+
+
+
+function applyPatch(pnpapi, opts) {
+ // @ts-expect-error
+ const builtinModules = new Set(external_module_.Module.builtinModules || Object.keys(process.binding(`natives`)));
+ /**
+ * The cache that will be used for all accesses occuring outside of a PnP context.
+ */
+
+ const defaultCache = {};
+ /**
+ * Used to disable the resolution hooks (for when we want to fallback to the previous resolution - we then need
+ * a way to "reset" the environment temporarily)
+ */
+
+ let enableNativeHooks = true; // @ts-expect-error
+
+ process.versions.pnp = String(pnpapi.VERSIONS.std);
+
+ const moduleExports = __webpack_require__(282);
+
+ moduleExports.findPnpApi = lookupSource => {
+ const lookupPath = lookupSource instanceof external_url_.URL ? (0,external_url_.fileURLToPath)(lookupSource) : lookupSource;
+ const apiPath = opts.manager.findApiPathFor(lookupPath);
+ if (apiPath === null) return null;
+ const apiEntry = opts.manager.getApiEntry(apiPath, true);
+ return apiEntry.instance;
+ };
+
+ function getRequireStack(parent) {
+ const requireStack = [];
+
+ for (let cursor = parent; cursor; cursor = cursor.parent) requireStack.push(cursor.filename || cursor.id);
+
+ return requireStack;
+ } // A small note: we don't replace the cache here (and instead use the native one). This is an effort to not
+ // break code similar to "delete require.cache[require.resolve(FOO)]", where FOO is a package located outside
+ // of the Yarn dependency tree. In this case, we defer the load to the native loader. If we were to replace the
+ // cache by our own, the native loader would populate its own cache, which wouldn't be exposed anymore, so the
+ // delete call would be broken.
+
+
+ const originalModuleLoad = external_module_.Module._load;
+
+ external_module_.Module._load = function (request, parent, isMain) {
+ if (!enableNativeHooks) return originalModuleLoad.call(external_module_.Module, request, parent, isMain); // Builtins are managed by the regular Node loader
+
+ if (builtinModules.has(request)) {
+ try {
+ enableNativeHooks = false;
+ return originalModuleLoad.call(external_module_.Module, request, parent, isMain);
+ } finally {
+ enableNativeHooks = true;
+ }
+ }
+
+ const parentApiPath = opts.manager.getApiPathFromParent(parent);
+ const parentApi = parentApiPath !== null ? opts.manager.getApiEntry(parentApiPath, true).instance : null; // Requests that aren't covered by the PnP runtime goes through the
+ // parent `_load` implementation. This is required for VSCode, for example,
+ // which override `_load` to provide additional builtins to its extensions.
+
+ if (parentApi === null) return originalModuleLoad(request, parent, isMain); // The 'pnpapi' name is reserved to return the PnP api currently in use
+ // by the program
+
+ if (request === `pnpapi`) return parentApi; // Request `Module._resolveFilename` (ie. `resolveRequest`) to tell us
+ // which file we should load
+
+ const modulePath = external_module_.Module._resolveFilename(request, parent, isMain); // We check whether the module is owned by the dependency tree of the
+ // module that required it. If it isn't, then we need to create a new
+ // store and possibly load its sandboxed PnP runtime.
+
+
+ const isOwnedByRuntime = parentApi !== null ? parentApi.findPackageLocator(modulePath) !== null : false;
+ const moduleApiPath = isOwnedByRuntime ? parentApiPath : opts.manager.findApiPathFor(sources_path/* npath.dirname */.cS.dirname(modulePath));
+ const entry = moduleApiPath !== null ? opts.manager.getApiEntry(moduleApiPath) : {
+ instance: null,
+ cache: defaultCache
+ }; // Check if the module has already been created for the given file
+
+ const cacheEntry = entry.cache[modulePath];
+ if (cacheEntry) return cacheEntry.exports; // Create a new module and store it into the cache
+ // @ts-expect-error
+
+ const module = new external_module_.Module(modulePath, parent); // @ts-expect-error
+
+ module.pnpApiPath = moduleApiPath;
+ entry.cache[modulePath] = module; // The main module is exposed as global variable
+
+ if (isMain) {
+ process.mainModule = module;
+ module.id = `.`;
+ } // Try to load the module, and remove it from the cache if it fails
+
+
+ let hasThrown = true;
+
+ try {
+ // @ts-expect-error
+ module.load(modulePath);
+ hasThrown = false;
+ } finally {
+ if (hasThrown) {
+ delete external_module_.Module._cache[modulePath];
+ }
+ }
+
+ return module.exports;
+ };
+
+ function getIssuerSpecsFromPaths(paths) {
+ return paths.map(path => ({
+ apiPath: opts.manager.findApiPathFor(path),
+ path,
+ module: null
+ }));
+ }
+
+ function getIssuerSpecsFromModule(module) {
+ const issuer = getIssuerModule(module);
+ const issuerPath = issuer !== null ? sources_path/* npath.dirname */.cS.dirname(issuer.filename) : process.cwd();
+ return [{
+ apiPath: opts.manager.getApiPathFromParent(issuer),
+ path: issuerPath,
+ module
+ }];
+ }
+
+ function makeFakeParent(path) {
+ const fakeParent = new external_module_.Module(``);
+ const fakeFilePath = sources_path/* npath.join */.cS.join(path, `[file]`);
+ fakeParent.paths = external_module_.Module._nodeModulePaths(fakeFilePath);
+ return fakeParent;
+ } // Splits a require request into its components, or return null if the request is a file path
+
+
+ const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/;
+ const originalModuleResolveFilename = external_module_.Module._resolveFilename;
+
+ external_module_.Module._resolveFilename = function (request, parent, isMain, options) {
+ if (builtinModules.has(request)) return request;
+ if (!enableNativeHooks) return originalModuleResolveFilename.call(external_module_.Module, request, parent, isMain, options);
+
+ if (options && options.plugnplay === false) {
+ const {
+ plugnplay,
+ ...rest
+ } = options; // Workaround a bug present in some version of Node (now fixed)
+ // https://github.com/nodejs/node/pull/28078
+
+ const forwardedOptions = Object.keys(rest).length > 0 ? rest : undefined;
+
+ try {
+ enableNativeHooks = false;
+ return originalModuleResolveFilename.call(external_module_.Module, request, parent, isMain, forwardedOptions);
+ } finally {
+ enableNativeHooks = true;
+ }
+ } // We check that all the options present here are supported; better
+ // to fail fast than to introduce subtle bugs in the runtime.
+
+
+ if (options) {
+ const optionNames = new Set(Object.keys(options));
+ optionNames.delete(`paths`);
+ optionNames.delete(`plugnplay`);
+
+ if (optionNames.size > 0) {
+ throw internalTools_makeError(ErrorCode.UNSUPPORTED, `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})`);
+ }
+ }
+
+ const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent);
+
+ if (request.match(pathRegExp) === null) {
+ const parentDirectory = (parent === null || parent === void 0 ? void 0 : parent.filename) != null ? sources_path/* npath.dirname */.cS.dirname(parent.filename) : null;
+ const absoluteRequest = sources_path/* npath.isAbsolute */.cS.isAbsolute(request) ? request : parentDirectory !== null ? sources_path/* npath.resolve */.cS.resolve(parentDirectory, request) : null;
+
+ if (absoluteRequest !== null) {
+ const apiPath = parentDirectory === sources_path/* npath.dirname */.cS.dirname(absoluteRequest) && (parent === null || parent === void 0 ? void 0 : parent.pnpApiPath) ? parent.pnpApiPath : opts.manager.findApiPathFor(absoluteRequest);
+
+ if (apiPath !== null) {
+ issuerSpecs.unshift({
+ apiPath,
+ path: parentDirectory,
+ module: null
+ });
+ }
+ }
+ }
+
+ let firstError;
+
+ for (const {
+ apiPath,
+ path,
+ module
+ } of issuerSpecs) {
+ let resolution;
+ const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null;
+
+ try {
+ if (issuerApi !== null) {
+ resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null);
+ } else {
+ if (path === null) throw new Error(`Assertion failed: Expected the path to be set`);
+ resolution = originalModuleResolveFilename.call(external_module_.Module, request, module || makeFakeParent(path), isMain);
+ }
+ } catch (error) {
+ firstError = firstError || error;
+ continue;
+ }
+
+ if (resolution !== null) {
+ return resolution;
+ }
+ }
+
+ const requireStack = getRequireStack(parent);
+ Object.defineProperty(firstError, `requireStack`, {
+ configurable: true,
+ writable: true,
+ enumerable: false,
+ value: requireStack
+ });
+ if (requireStack.length > 0) firstError.message += `\nRequire stack:\n- ${requireStack.join(`\n- `)}`;
+ throw firstError;
+ };
+
+ const originalFindPath = external_module_.Module._findPath;
+
+ external_module_.Module._findPath = function (request, paths, isMain) {
+ if (request === `pnpapi`) return false;
+ if (!enableNativeHooks) return originalFindPath.call(external_module_.Module, request, paths, isMain);
+
+ for (const path of paths || []) {
+ let resolution;
+
+ try {
+ const pnpApiPath = opts.manager.findApiPathFor(path);
+
+ if (pnpApiPath !== null) {
+ const api = opts.manager.getApiEntry(pnpApiPath, true).instance;
+ resolution = api.resolveRequest(request, path) || false;
+ } else {
+ resolution = originalFindPath.call(external_module_.Module, request, [path], isMain);
+ }
+ } catch (error) {
+ continue;
+ }
+
+ if (resolution) {
+ return resolution;
+ }
+ }
+
+ return false;
+ };
+
+ patchFs((external_fs_default()), new PosixFS(opts.fakeFs));
+}
+// CONCATENATED MODULE: ./sources/loader/hydrateRuntimeState.ts
+
+function hydrateRuntimeState(data, {
+ basePath
+}) {
+ const portablePath = sources_path/* npath.toPortablePath */.cS.toPortablePath(basePath);
+ const absolutePortablePath = sources_path/* ppath.resolve */.y1.resolve(portablePath);
+ const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null;
+ const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => {
+ return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => {
+ return [packageReference, {
+ // We use ppath.join instead of ppath.resolve because:
+ // 1) packageInformationData.packageLocation is a relative path when part of the SerializedState
+ // 2) ppath.join preserves trailing slashes
+ packageLocation: sources_path/* ppath.join */.y1.join(absolutePortablePath, packageInformationData.packageLocation),
+ packageDependencies: new Map(packageInformationData.packageDependencies),
+ packagePeers: new Set(packageInformationData.packagePeers),
+ linkType: packageInformationData.linkType,
+ discardFromLookup: packageInformationData.discardFromLookup || false
+ }];
+ }))];
+ }));
+ const packageLocatorsByLocations = new Map();
+ const packageLocationLengths = new Set();
+
+ for (const [packageName, storeData] of data.packageRegistryData) {
+ for (const [packageReference, packageInformationData] of storeData) {
+ if (packageName === null !== (packageReference === null)) throw new Error(`Assertion failed: The name and reference should be null, or neither should`);
+ if (packageInformationData.discardFromLookup) continue; // @ts-expect-error: TypeScript isn't smart enough to understand the type assertion
+
+ const packageLocator = {
+ name: packageName,
+ reference: packageReference
+ };
+ packageLocatorsByLocations.set(packageInformationData.packageLocation, packageLocator);
+ packageLocationLengths.add(packageInformationData.packageLocation.length);
+ }
+ }
+
+ for (const location of data.locationBlacklistData) packageLocatorsByLocations.set(location, null);
+
+ const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => {
+ return [packageName, new Set(packageReferences)];
+ }));
+ const fallbackPool = new Map(data.fallbackPool);
+ const dependencyTreeRoots = data.dependencyTreeRoots;
+ const enableTopLevelFallback = data.enableTopLevelFallback;
+ return {
+ basePath: portablePath,
+ dependencyTreeRoots,
+ enableTopLevelFallback,
+ fallbackExclusionList,
+ fallbackPool,
+ ignorePattern,
+ packageLocationLengths: [...packageLocationLengths].sort((a, b) => b - a),
+ packageLocatorsByLocations,
+ packageRegistry
+ };
+}
+// CONCATENATED MODULE: ./sources/loader/makeApi.ts
+
+
+
+
+function makeApi(runtimeState, opts) {
+ const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0;
+ const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); // @ts-expect-error
+
+ const builtinModules = new Set(external_module_.Module.builtinModules || Object.keys(process.binding(`natives`))); // Splits a require request into its components, or return null if the request is a file path
+
+ const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; // Matches if the path starts with a valid path qualifier (./, ../, /)
+ // eslint-disable-next-line no-unused-vars
+
+ const isStrictRegExp = /^\.{0,2}\//; // Matches if the path must point to a directory (ie ends with /)
+
+ const isDirRegExp = /\/$/; // We only instantiate one of those so that we can use strict-equal comparisons
+
+ const topLevelLocator = {
+ name: null,
+ reference: null
+ }; // Used for compatibility purposes - cf setupCompatibilityLayer
+
+ const fallbackLocators = []; // To avoid emitting the same warning multiple times
+
+ const emittedWarnings = new Set();
+ if (runtimeState.enableTopLevelFallback === true) fallbackLocators.push(topLevelLocator);
+
+ if (opts.compatibilityMode !== false) {
+ // ESLint currently doesn't have any portable way for shared configs to
+ // specify their own plugins that should be used (cf issue #10125). This
+ // will likely get fixed at some point but it'll take time, so in the
+ // meantime we'll just add additional fallback entries for common shared
+ // configs.
+ // Similarly, Gatsby generates files within the `public` folder located
+ // within the project, but doesn't pre-resolve the `require` calls to use
+ // its own dependencies. Meaning that when PnP see a file from the `public`
+ // folder making a require, it thinks that your project forgot to list one
+ // of your dependencies.
+ for (const name of [`react-scripts`, `gatsby`]) {
+ const packageStore = runtimeState.packageRegistry.get(name);
+
+ if (packageStore) {
+ for (const reference of packageStore.keys()) {
+ if (reference === null) {
+ throw new Error(`Assertion failed: This reference shouldn't be null`);
+ } else {
+ fallbackLocators.push({
+ name,
+ reference
+ });
+ }
+ }
+ }
+ }
+ }
+ /**
+ * The setup code will be injected here. The tables listed below are guaranteed to be filled after the call to
+ * the $$DYNAMICALLY_GENERATED_CODE function.
+ */
+
+
+ const {
+ ignorePattern,
+ packageRegistry,
+ packageLocatorsByLocations,
+ packageLocationLengths
+ } = runtimeState;
+ /**
+ * Allows to print useful logs just be setting a value in the environment
+ */
+
+ function makeLogEntry(name, args) {
+ return {
+ fn: name,
+ args,
+ error: null,
+ result: null
+ };
+ }
+
+ function maybeLog(name, fn) {
+ if (opts.allowDebug === false) return fn;
+
+ if (Number.isFinite(debugLevel)) {
+ if (debugLevel >= 2) {
+ return (...args) => {
+ const logEntry = makeLogEntry(name, args);
+
+ try {
+ return logEntry.result = fn(...args);
+ } catch (error) {
+ throw logEntry.error = error;
+ } finally {
+ console.trace(logEntry);
+ }
+ };
+ } else if (debugLevel >= 1) {
+ return (...args) => {
+ try {
+ return fn(...args);
+ } catch (error) {
+ const logEntry = makeLogEntry(name, args);
+ logEntry.error = error;
+ console.trace(logEntry);
+ throw error;
+ }
+ };
+ }
+ }
+
+ return fn;
+ }
+ /**
+ * Returns information about a package in a safe way (will throw if they cannot be retrieved)
+ */
+
+
+ function getPackageInformationSafe(packageLocator) {
+ const packageInformation = getPackageInformation(packageLocator);
+
+ if (!packageInformation) {
+ throw internalTools_makeError(ErrorCode.INTERNAL, `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)`);
+ }
+
+ return packageInformation;
+ }
+ /**
+ * Returns whether the specified locator is a dependency tree root (in which case it's part of the project) or not
+ */
+
+
+ function isDependencyTreeRoot(packageLocator) {
+ if (packageLocator.name === null) return true;
+
+ for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) return true;
+
+ return false;
+ }
+ /**
+ * Implements the node resolution for folder access and extension selection
+ */
+
+
+ function applyNodeExtensionResolution(unqualifiedPath, candidates, {
+ extensions
+ }) {
+ let stat;
+
+ try {
+ candidates.push(unqualifiedPath);
+ stat = opts.fakeFs.statSync(unqualifiedPath);
+ } catch (error) {} // If the file exists and is a file, we can stop right there
+
+
+ if (stat && !stat.isDirectory()) return opts.fakeFs.realpathSync(unqualifiedPath); // If the file is a directory, we must check if it contains a package.json with a "main" entry
+
+ if (stat && stat.isDirectory()) {
+ let pkgJson;
+
+ try {
+ pkgJson = JSON.parse(opts.fakeFs.readFileSync(sources_path/* ppath.join */.y1.join(unqualifiedPath, `package.json`), `utf8`));
+ } catch (error) {}
+
+ let nextUnqualifiedPath;
+ if (pkgJson && pkgJson.main) nextUnqualifiedPath = sources_path/* ppath.resolve */.y1.resolve(unqualifiedPath, pkgJson.main); // If the "main" field changed the path, we start again from this new location
+
+ if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) {
+ const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, {
+ extensions
+ });
+
+ if (resolution !== null) {
+ return resolution;
+ }
+ }
+ } // Otherwise we check if we find a file that match one of the supported extensions
+
+
+ for (let i = 0, length = extensions.length; i < length; i++) {
+ const candidateFile = `${unqualifiedPath}${extensions[i]}`;
+ candidates.push(candidateFile);
+
+ if (opts.fakeFs.existsSync(candidateFile)) {
+ return candidateFile;
+ }
+ } // Otherwise, we check if the path is a folder - in such a case, we try to use its index
+
+
+ if (stat && stat.isDirectory()) {
+ for (let i = 0, length = extensions.length; i < length; i++) {
+ const candidateFile = sources_path/* ppath.format */.y1.format({
+ dir: unqualifiedPath,
+ name: `index`,
+ ext: extensions[i]
+ });
+ candidates.push(candidateFile);
+
+ if (opts.fakeFs.existsSync(candidateFile)) {
+ return candidateFile;
+ }
+ }
+ } // Otherwise there's nothing else we can do :(
+
+
+ return null;
+ }
+ /**
+ * This function creates fake modules that can be used with the _resolveFilename function.
+ * Ideally it would be nice to be able to avoid this, since it causes useless allocations
+ * and cannot be cached efficiently (we recompute the nodeModulePaths every time).
+ *
+ * Fortunately, this should only affect the fallback, and there hopefully shouldn't have a
+ * lot of them.
+ */
+
+
+ function makeFakeModule(path) {
+ // @ts-expect-error
+ const fakeModule = new external_module_.Module(path, null);
+ fakeModule.filename = path;
+ fakeModule.paths = external_module_.Module._nodeModulePaths(path);
+ return fakeModule;
+ }
+ /**
+ * Normalize path to posix format.
+ */
+
+
+ function normalizePath(p) {
+ return sources_path/* npath.toPortablePath */.cS.toPortablePath(p);
+ }
+ /**
+ * Forward the resolution to the next resolver (usually the native one)
+ */
+
+
+ function callNativeResolution(request, issuer) {
+ if (issuer.endsWith(`/`)) issuer = sources_path/* ppath.join */.y1.join(issuer, `internal.js`); // Since we would need to create a fake module anyway (to call _resolveLookupPath that
+ // would give us the paths to give to _resolveFilename), we can as well not use
+ // the {paths} option at all, since it internally makes _resolveFilename create another
+ // fake module anyway.
+
+ return external_module_.Module._resolveFilename(request, makeFakeModule(sources_path/* npath.fromPortablePath */.cS.fromPortablePath(issuer)), false, {
+ plugnplay: false
+ });
+ }
+ /**
+ *
+ */
+
+
+ function isPathIgnored(path) {
+ if (ignorePattern === null) return false;
+ const subPath = sources_path/* ppath.contains */.y1.contains(runtimeState.basePath, path);
+ if (subPath === null) return false;
+
+ if (ignorePattern.test(subPath.replace(/\/$/, ``))) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ /**
+ * This key indicates which version of the standard is implemented by this resolver. The `std` key is the
+ * Plug'n'Play standard, and any other key are third-party extensions. Third-party extensions are not allowed
+ * to override the standard, and can only offer new methods.
+ *
+ * If a new version of the Plug'n'Play standard is released and some extensions conflict with newly added
+ * functions, they'll just have to fix the conflicts and bump their own version number.
+ */
+
+
+ const VERSIONS = {
+ std: 3,
+ resolveVirtual: 1,
+ getAllLocators: 1
+ };
+ /**
+ * We export a special symbol for easy access to the top level locator.
+ */
+
+ const topLevel = topLevelLocator;
+ /**
+ * Gets the package information for a given locator. Returns null if they cannot be retrieved.
+ */
+
+ function getPackageInformation({
+ name,
+ reference
+ }) {
+ const packageInformationStore = packageRegistry.get(name);
+ if (!packageInformationStore) return null;
+ const packageInformation = packageInformationStore.get(reference);
+ if (!packageInformation) return null;
+ return packageInformation;
+ }
+ /**
+ * Find all packages that depend on the specified one.
+ *
+ * Note: This is a private function; we expect consumers to implement it
+ * themselves. We keep it that way because this implementation isn't
+ * optimized at all, since we only need it when printing errors.
+ */
+
+
+ function findPackageDependents({
+ name,
+ reference
+ }) {
+ const dependents = [];
+
+ for (const [dependentName, packageInformationStore] of packageRegistry) {
+ if (dependentName === null) continue;
+
+ for (const [dependentReference, packageInformation] of packageInformationStore) {
+ if (dependentReference === null) continue;
+ const dependencyReference = packageInformation.packageDependencies.get(name);
+ if (dependencyReference !== reference) continue; // Don't forget that all packages depend on themselves
+
+ if (dependentName === name && dependentReference === reference) continue;
+ dependents.push({
+ name: dependentName,
+ reference: dependentReference
+ });
+ }
+ }
+
+ return dependents;
+ }
+ /**
+ * Find all packages that broke the peer dependency on X, starting from Y.
+ *
+ * Note: This is a private function; we expect consumers to implement it
+ * themselves. We keep it that way because this implementation isn't
+ * optimized at all, since we only need it when printing errors.
+ */
+
+
+ function findBrokenPeerDependencies(dependency, initialPackage) {
+ const brokenPackages = new Map();
+ const alreadyVisited = new Set();
+
+ const traversal = currentPackage => {
+ const identifier = JSON.stringify(currentPackage.name);
+ if (alreadyVisited.has(identifier)) return;
+ alreadyVisited.add(identifier);
+ const dependents = findPackageDependents(currentPackage);
+
+ for (const dependent of dependents) {
+ const dependentInformation = getPackageInformationSafe(dependent);
+
+ if (dependentInformation.packagePeers.has(dependency)) {
+ traversal(dependent);
+ } else {
+ let brokenSet = brokenPackages.get(dependent.name);
+ if (typeof brokenSet === `undefined`) brokenPackages.set(dependent.name, brokenSet = new Set());
+ brokenSet.add(dependent.reference);
+ }
+ }
+ };
+
+ traversal(initialPackage);
+ const brokenList = [];
+
+ for (const name of [...brokenPackages.keys()].sort()) for (const reference of [...brokenPackages.get(name)].sort()) brokenList.push({
+ name,
+ reference
+ });
+
+ return brokenList;
+ }
+ /**
+ * Finds the package locator that owns the specified path. If none is found, returns null instead.
+ */
+
+
+ function findPackageLocator(location) {
+ let relativeLocation = normalizePath(sources_path/* ppath.relative */.y1.relative(runtimeState.basePath, location));
+ if (!relativeLocation.match(isStrictRegExp)) relativeLocation = `./${relativeLocation}`;
+ if (location.match(isDirRegExp) && !relativeLocation.endsWith(`/`)) relativeLocation = `${relativeLocation}/`;
+ let from = 0; // If someone wants to use a binary search to go from O(n) to O(log n), be my guest
+
+ while (from < packageLocationLengths.length && packageLocationLengths[from] > relativeLocation.length) from += 1;
+
+ for (let t = from; t < packageLocationLengths.length; ++t) {
+ const locator = packageLocatorsByLocations.get(relativeLocation.substr(0, packageLocationLengths[t]));
+ if (typeof locator === `undefined`) continue; // Ensures that the returned locator isn't a blacklisted one.
+ //
+ // Blacklisted packages are packages that cannot be used because their dependencies cannot be deduced. This only
+ // happens with peer dependencies, which effectively have different sets of dependencies depending on their
+ // parents.
+ //
+ // In order to deambiguate those different sets of dependencies, the Yarn implementation of PnP will generate a
+ // symlink for each combination of <package name>/<package version>/<dependent package> it will find, and will
+ // blacklist the target of those symlinks. By doing this, we ensure that files loaded through a specific path
+ // will always have the same set of dependencies, provided the symlinks are correctly preserved.
+ //
+ // Unfortunately, some tools do not preserve them, and when it happens PnP isn't able anymore to deduce the set of
+ // dependencies based on the path of the file that makes the require calls. But since we've blacklisted those
+ // paths, we're able to print a more helpful error message that points out that a third-party package is doing
+ // something incompatible!
+
+ if (locator === null) {
+ const locationForDisplay = getPathForDisplay(location);
+ throw internalTools_makeError(ErrorCode.BLACKLISTED, `A forbidden path has been used in the package resolution process - this is usually caused by one of your tools calling 'fs.realpath' on the return value of 'require.resolve'. Since we need to use symlinks to simultaneously provide valid filesystem paths and disambiguate peer dependencies, they must be passed untransformed to 'require'.\n\nForbidden path: ${locationForDisplay}`, {
+ location: locationForDisplay
+ });
+ }
+
+ return locator;
+ }
+
+ return null;
+ }
+ /**
+ * Transforms a request (what's typically passed as argument to the require function) into an unqualified path.
+ * This path is called "unqualified" because it only changes the package name to the package location on the disk,
+ * which means that the end result still cannot be directly accessed (for example, it doesn't try to resolve the
+ * file extension, or to resolve directories to their "index.js" content). Use the "resolveUnqualified" function
+ * to convert them to fully-qualified paths, or just use "resolveRequest" that do both operations in one go.
+ *
+ * Note that it is extremely important that the `issuer` path ends with a forward slash if the issuer is to be
+ * treated as a folder (ie. "/tmp/foo/" rather than "/tmp/foo" if "foo" is a directory). Otherwise relative
+ * imports won't be computed correctly (they'll get resolved relative to "/tmp/" instead of "/tmp/foo/").
+ */
+
+
+ function resolveToUnqualified(request, issuer, {
+ considerBuiltins = true
+ } = {}) {
+ // The 'pnpapi' request is reserved and will always return the path to the PnP file, from everywhere
+ if (request === `pnpapi`) return sources_path/* npath.toPortablePath */.cS.toPortablePath(opts.pnpapiResolution); // Bailout if the request is a native module
+
+ if (considerBuiltins && builtinModules.has(request)) return null;
+ const requestForDisplay = getPathForDisplay(request);
+ const issuerForDisplay = issuer && getPathForDisplay(issuer); // We allow disabling the pnp resolution for some subpaths.
+ // This is because some projects, often legacy, contain multiple
+ // levels of dependencies (ie. a yarn.lock inside a subfolder of
+ // a yarn.lock). This is typically solved using workspaces, but
+ // not all of them have been converted already.
+
+ if (issuer && isPathIgnored(issuer)) {
+ // Absolute paths that seem to belong to a PnP tree are still
+ // handled by our runtime even if the issuer isn't. This is
+ // because the native Node resolution uses a special version
+ // of the `stat` syscall which would otherwise bypass the
+ // filesystem layer we require to access the files.
+ if (!sources_path/* ppath.isAbsolute */.y1.isAbsolute(request) || findPackageLocator(request) === null) {
+ const result = callNativeResolution(request, issuer);
+
+ if (result === false) {
+ throw internalTools_makeError(ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)\n\nRequire request: "${requestForDisplay}"\nRequired by: ${issuerForDisplay}\n`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay
+ });
+ }
+
+ return sources_path/* npath.toPortablePath */.cS.toPortablePath(result);
+ }
+ }
+
+ let unqualifiedPath; // If the request is a relative or absolute path, we just return it normalized
+
+ const dependencyNameMatch = request.match(pathRegExp);
+
+ if (!dependencyNameMatch) {
+ if (sources_path/* ppath.isAbsolute */.y1.isAbsolute(request)) {
+ unqualifiedPath = sources_path/* ppath.normalize */.y1.normalize(request);
+ } else {
+ if (!issuer) {
+ throw internalTools_makeError(ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay
+ });
+ } // We use ppath.join instead of ppath.resolve because:
+ // 1) The request is a relative path in this branch
+ // 2) ppath.join preserves trailing slashes
+
+
+ const absoluteIssuer = sources_path/* ppath.resolve */.y1.resolve(issuer);
+
+ if (issuer.match(isDirRegExp)) {
+ unqualifiedPath = sources_path/* ppath.normalize */.y1.normalize(sources_path/* ppath.join */.y1.join(absoluteIssuer, request));
+ } else {
+ unqualifiedPath = sources_path/* ppath.normalize */.y1.normalize(sources_path/* ppath.join */.y1.join(sources_path/* ppath.dirname */.y1.dirname(absoluteIssuer), request));
+ }
+ } // No need to use the return value; we just want to check the blacklist status
+
+
+ findPackageLocator(unqualifiedPath);
+ } // Things are more hairy if it's a package require - we then need to figure out which package is needed, and in
+ // particular the exact version for the given location on the dependency tree
+ else {
+ if (!issuer) {
+ throw internalTools_makeError(ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay
+ });
+ }
+
+ const [, dependencyName, subPath] = dependencyNameMatch;
+ const issuerLocator = findPackageLocator(issuer); // If the issuer file doesn't seem to be owned by a package managed through pnp, then we resort to using the next
+ // resolution algorithm in the chain, usually the native Node resolution one
+
+ if (!issuerLocator) {
+ const result = callNativeResolution(request, issuer);
+
+ if (result === false) {
+ throw internalTools_makeError(ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).\n\nRequire path: "${requestForDisplay}"\nRequired by: ${issuerForDisplay}\n`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay
+ });
+ }
+
+ return sources_path/* npath.toPortablePath */.cS.toPortablePath(result);
+ }
+
+ const issuerInformation = getPackageInformationSafe(issuerLocator); // We obtain the dependency reference in regard to the package that request it
+
+ let dependencyReference = issuerInformation.packageDependencies.get(dependencyName);
+ let fallbackReference = null; // If we can't find it, we check if we can potentially load it from the packages that have been defined as potential fallbacks.
+ // It's a bit of a hack, but it improves compatibility with the existing Node ecosystem. Hopefully we should eventually be able
+ // to kill this logic and become stricter once pnp gets enough traction and the affected packages fix themselves.
+
+ if (dependencyReference == null) {
+ if (issuerLocator.name !== null) {
+ // To allow programs to become gradually stricter, starting from the v2 we enforce that workspaces cannot depend on fallbacks.
+ // This works by having a list containing all their locators, and checking when a fallback is required whether it's one of them.
+ const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name);
+ const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference);
+
+ if (canUseFallbacks) {
+ for (let t = 0, T = fallbackLocators.length; t < T; ++t) {
+ const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]);
+ const reference = fallbackInformation.packageDependencies.get(dependencyName);
+ if (reference == null) continue;
+ if (alwaysWarnOnFallback) fallbackReference = reference;else dependencyReference = reference;
+ break;
+ }
+
+ if (runtimeState.enableTopLevelFallback) {
+ if (dependencyReference == null && fallbackReference === null) {
+ const reference = runtimeState.fallbackPool.get(dependencyName);
+
+ if (reference != null) {
+ fallbackReference = reference;
+ }
+ }
+ }
+ }
+ }
+ } // If we can't find the path, and if the package making the request is the top-level, we can offer nicer error messages
+
+
+ let error = null;
+
+ if (dependencyReference === null) {
+ if (isDependencyTreeRoot(issuerLocator)) {
+ error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerForDisplay}\n`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay,
+ dependencyName
+ });
+ } else {
+ const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator);
+
+ if (brokenAncestors.every(ancestor => isDependencyTreeRoot(ancestor))) {
+ error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n${brokenAncestors.map(ancestorLocator => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}\n`).join(``)}\n`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay,
+ issuerLocator: Object.assign({}, issuerLocator),
+ dependencyName,
+ brokenAncestors
+ });
+ } else {
+ error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n${brokenAncestors.map(ancestorLocator => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}\n`).join(``)}\n`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay,
+ issuerLocator: Object.assign({}, issuerLocator),
+ dependencyName,
+ brokenAncestors
+ });
+ }
+ }
+ } else if (dependencyReference === undefined) {
+ if (!considerBuiltins && builtinModules.has(request)) {
+ if (isDependencyTreeRoot(issuerLocator)) {
+ error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerForDisplay}\n`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay,
+ dependencyName
+ });
+ } else {
+ error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerForDisplay}\n`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay,
+ issuerLocator: Object.assign({}, issuerLocator),
+ dependencyName
+ });
+ }
+ } else {
+ if (isDependencyTreeRoot(issuerLocator)) {
+ error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerForDisplay}\n`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay,
+ dependencyName
+ });
+ } else {
+ error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${requestForDisplay}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay,
+ issuerLocator: Object.assign({}, issuerLocator),
+ dependencyName
+ });
+ }
+ }
+ }
+
+ if (dependencyReference == null) {
+ if (fallbackReference === null || error === null) throw error || new Error(`Assertion failed: Expected an error to have been set`);
+ dependencyReference = fallbackReference;
+ const message = error.message.replace(/\n.*/g, ``);
+ error.message = message;
+
+ if (!emittedWarnings.has(message)) {
+ emittedWarnings.add(message);
+ process.emitWarning(error);
+ }
+ } // We need to check that the package exists on the filesystem, because it might not have been installed
+
+
+ const dependencyLocator = Array.isArray(dependencyReference) ? {
+ name: dependencyReference[0],
+ reference: dependencyReference[1]
+ } : {
+ name: dependencyName,
+ reference: dependencyReference
+ };
+ const dependencyInformation = getPackageInformationSafe(dependencyLocator);
+
+ if (!dependencyInformation.packageLocation) {
+ throw internalTools_makeError(ErrorCode.MISSING_DEPENDENCY, `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.\n\nRequired package: ${dependencyLocator.name}@${dependencyLocator.reference} (via "${requestForDisplay}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n`, {
+ request: requestForDisplay,
+ issuer: issuerForDisplay,
+ dependencyLocator: Object.assign({}, dependencyLocator)
+ });
+ } // Now that we know which package we should resolve to, we only have to find out the file location
+ // packageLocation is always absolute as it's returned by getPackageInformationSafe
+
+
+ const dependencyLocation = dependencyInformation.packageLocation;
+
+ if (subPath) {
+ // We use ppath.join instead of ppath.resolve because:
+ // 1) subPath is always a relative path
+ // 2) ppath.join preserves trailing slashes
+ unqualifiedPath = sources_path/* ppath.join */.y1.join(dependencyLocation, subPath);
+ } else {
+ unqualifiedPath = dependencyLocation;
+ }
+ }
+
+ return sources_path/* ppath.normalize */.y1.normalize(unqualifiedPath);
+ }
+ /**
+ * Transforms an unqualified path into a qualified path by using the Node resolution algorithm (which automatically
+ * appends ".js" / ".json", and transforms directory accesses into "index.js").
+ */
+
+
+ function resolveUnqualified(unqualifiedPath, {
+ extensions = Object.keys(external_module_.Module._extensions)
+ } = {}) {
+ const candidates = [];
+ const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, {
+ extensions
+ });
+
+ if (qualifiedPath) {
+ return sources_path/* ppath.normalize */.y1.normalize(qualifiedPath);
+ } else {
+ const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath);
+ throw internalTools_makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Qualified path resolution failed - none of the candidates can be found on the disk.\n\nSource path: ${unqualifiedPathForDisplay}\n${candidates.map(candidate => `Rejected candidate: ${getPathForDisplay(candidate)}\n`).join(``)}`, {
+ unqualifiedPath: unqualifiedPathForDisplay
+ });
+ }
+ }
+ /**
+ * Transforms a request into a fully qualified path.
+ *
+ * Note that it is extremely important that the `issuer` path ends with a forward slash if the issuer is to be
+ * treated as a folder (ie. "/tmp/foo/" rather than "/tmp/foo" if "foo" is a directory). Otherwise relative
+ * imports won't be computed correctly (they'll get resolved relative to "/tmp/" instead of "/tmp/foo/").
+ */
+
+
+ function resolveRequest(request, issuer, {
+ considerBuiltins,
+ extensions
+ } = {}) {
+ const unqualifiedPath = resolveToUnqualified(request, issuer, {
+ considerBuiltins
+ });
+ if (unqualifiedPath === null) return null;
+
+ try {
+ return resolveUnqualified(unqualifiedPath, {
+ extensions
+ });
+ } catch (resolutionError) {
+ if (resolutionError.pnpCode === `QUALIFIED_PATH_RESOLUTION_FAILED`) Object.assign(resolutionError.data, {
+ request: getPathForDisplay(request),
+ issuer: issuer && getPathForDisplay(issuer)
+ });
+ throw resolutionError;
+ }
+ }
+
+ function resolveVirtual(request) {
+ const normalized = sources_path/* ppath.normalize */.y1.normalize(request);
+ const resolved = VirtualFS.resolveVirtual(normalized);
+ return resolved !== normalized ? resolved : null;
+ }
+
+ return {
+ VERSIONS,
+ topLevel,
+ getLocator: (name, referencish) => {
+ if (Array.isArray(referencish)) {
+ return {
+ name: referencish[0],
+ reference: referencish[1]
+ };
+ } else {
+ return {
+ name,
+ reference: referencish
+ };
+ }
+ },
+ getDependencyTreeRoots: () => {
+ return [...runtimeState.dependencyTreeRoots];
+ },
+
+ getAllLocators() {
+ const locators = [];
+
+ for (const [name, entry] of packageRegistry) for (const reference of entry.keys()) if (name !== null && reference !== null) locators.push({
+ name,
+ reference
+ });
+
+ return locators;
+ },
+
+ getPackageInformation: locator => {
+ const info = getPackageInformation(locator);
+ if (info === null) return null;
+ const packageLocation = sources_path/* npath.fromPortablePath */.cS.fromPortablePath(info.packageLocation);
+ const nativeInfo = { ...info,
+ packageLocation
+ };
+ return nativeInfo;
+ },
+ findPackageLocator: path => {
+ return findPackageLocator(sources_path/* npath.toPortablePath */.cS.toPortablePath(path));
+ },
+ resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts) => {
+ const portableIssuer = issuer !== null ? sources_path/* npath.toPortablePath */.cS.toPortablePath(issuer) : null;
+ const resolution = resolveToUnqualified(sources_path/* npath.toPortablePath */.cS.toPortablePath(request), portableIssuer, opts);
+ if (resolution === null) return null;
+ return sources_path/* npath.fromPortablePath */.cS.fromPortablePath(resolution);
+ }),
+ resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts) => {
+ return sources_path/* npath.fromPortablePath */.cS.fromPortablePath(resolveUnqualified(sources_path/* npath.toPortablePath */.cS.toPortablePath(unqualifiedPath), opts));
+ }),
+ resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts) => {
+ const portableIssuer = issuer !== null ? sources_path/* npath.toPortablePath */.cS.toPortablePath(issuer) : null;
+ const resolution = resolveRequest(sources_path/* npath.toPortablePath */.cS.toPortablePath(request), portableIssuer, opts);
+ if (resolution === null) return null;
+ return sources_path/* npath.fromPortablePath */.cS.fromPortablePath(resolution);
+ }),
+ resolveVirtual: maybeLog(`resolveVirtual`, path => {
+ const result = resolveVirtual(sources_path/* npath.toPortablePath */.cS.toPortablePath(path));
+
+ if (result !== null) {
+ return sources_path/* npath.fromPortablePath */.cS.fromPortablePath(result);
+ } else {
+ return null;
+ }
+ })
+ };
+}
+// CONCATENATED MODULE: ./sources/loader/makeManager.ts
+
+
+function makeManager(pnpapi, opts) {
+ const initialApiPath = sources_path/* npath.toPortablePath */.cS.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null));
+ const initialApiStats = opts.fakeFs.statSync(sources_path/* npath.toPortablePath */.cS.toPortablePath(initialApiPath));
+ const apiMetadata = new Map([[initialApiPath, {
+ cache: external_module_.Module._cache,
+ instance: pnpapi,
+ stats: initialApiStats,
+ lastRefreshCheck: Date.now()
+ }]]);
+
+ function loadApiInstance(pnpApiPath) {
+ const nativePath = sources_path/* npath.fromPortablePath */.cS.fromPortablePath(pnpApiPath); // @ts-expect-error
+
+ const module = new external_module_.Module(nativePath, null); // @ts-expect-error
+
+ module.load(nativePath);
+ return module.exports;
+ }
+
+ function refreshApiEntry(pnpApiPath, apiEntry) {
+ const timeNow = Date.now();
+ if (timeNow - apiEntry.lastRefreshCheck < 500) return;
+ apiEntry.lastRefreshCheck = timeNow;
+ const stats = opts.fakeFs.statSync(pnpApiPath);
+
+ if (stats.mtime > apiEntry.stats.mtime) {
+ console.warn(`[Warning] The runtime detected new informations in a PnP file; reloading the API instance (${pnpApiPath})`);
+ apiEntry.instance = loadApiInstance(pnpApiPath);
+ apiEntry.stats = stats;
+ }
+ }
+
+ function getApiEntry(pnpApiPath, refresh = false) {
+ let apiEntry = apiMetadata.get(pnpApiPath);
+
+ if (typeof apiEntry !== `undefined`) {
+ if (refresh) {
+ refreshApiEntry(pnpApiPath, apiEntry);
+ }
+ } else {
+ apiMetadata.set(pnpApiPath, apiEntry = {
+ cache: {},
+ instance: loadApiInstance(pnpApiPath),
+ stats: opts.fakeFs.statSync(pnpApiPath),
+ lastRefreshCheck: Date.now()
+ });
+ }
+
+ return apiEntry;
+ }
+
+ const findApiPathCache = new Map();
+
+ function addToCacheAndReturn(start, end, target) {
+ if (target !== null) target = VirtualFS.resolveVirtual(target);
+ let curr;
+ let next = start;
+
+ do {
+ curr = next;
+ findApiPathCache.set(curr, target);
+ next = sources_path/* ppath.dirname */.y1.dirname(curr);
+ } while (curr !== end);
+
+ return target;
+ }
+
+ function findApiPathFor(modulePath) {
+ const start = sources_path/* ppath.resolve */.y1.resolve(sources_path/* npath.toPortablePath */.cS.toPortablePath(modulePath));
+ let curr;
+ let next = start;
+
+ do {
+ curr = next;
+ const cached = findApiPathCache.get(curr);
+ if (cached !== undefined) return addToCacheAndReturn(start, curr, cached);
+ const candidate = sources_path/* ppath.join */.y1.join(curr, `.pnp.js`);
+ if (xfs.existsSync(candidate) && xfs.statSync(candidate).isFile()) return addToCacheAndReturn(start, curr, candidate);
+ const cjsCandidate = sources_path/* ppath.join */.y1.join(curr, `.pnp.cjs`);
+ if (xfs.existsSync(cjsCandidate) && xfs.statSync(cjsCandidate).isFile()) return addToCacheAndReturn(start, curr, cjsCandidate);
+ next = sources_path/* ppath.dirname */.y1.dirname(curr);
+ } while (curr !== sources_path/* PortablePath.root */.LZ.root);
+
+ return addToCacheAndReturn(start, curr, null);
+ }
+
+ function getApiPathFromParent(parent) {
+ if (parent == null) return initialApiPath;
+
+ if (typeof parent.pnpApiPath === `undefined`) {
+ if (parent.filename !== null) {
+ return parent.pnpApiPath = findApiPathFor(parent.filename);
+ } else {
+ return initialApiPath;
+ }
+ }
+
+ if (parent.pnpApiPath !== null) return parent.pnpApiPath;
+ return null;
+ }
+
+ return {
+ getApiPathFromParent,
+ findApiPathFor,
+ getApiEntry
+ };
+}
+// CONCATENATED MODULE: ./sources/loader/_entryPoint.ts
+
+
+
+
+
+
+
+
+ // We must copy the fs into a local, because otherwise
+// 1. we would make the NodeFS instance use the function that we patched (infinite loop)
+// 2. Object.create(fs) isn't enough, since it won't prevent the proto from being modified
+
+const localFs = { ...(external_fs_default())
+};
+const nodeFs = new NodeFS(localFs);
+const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState);
+const defaultPnpapiResolution = __filename; // We create a virtual filesystem that will do three things:
+// 1. all requests inside a folder named "$$virtual" will be remapped according the virtual folder rules
+// 2. all requests going inside a Zip archive will be handled by the Zip fs implementation
+// 3. any remaining request will be forwarded to Node as-is
+
+const defaultFsLayer = new VirtualFS({
+ baseFs: new ZipOpenFS({
+ baseFs: nodeFs,
+ libzip: getLibzipSync(),
+ maxOpenFiles: 80,
+ readOnlyArchives: true
+ })
+});
+let manager;
+const defaultApi = Object.assign(makeApi(defaultRuntimeState, {
+ fakeFs: defaultFsLayer,
+ pnpapiResolution: defaultPnpapiResolution
+}), {
+ /**
+ * Can be used to generate a different API than the default one (for example
+ * to map it on `/` rather than the local directory path, or to use a
+ * different FS layer than the default one).
+ */
+ makeApi: ({
+ basePath = undefined,
+ fakeFs = defaultFsLayer,
+ pnpapiResolution = defaultPnpapiResolution,
+ ...rest
+ }) => {
+ const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState;
+ return makeApi(apiRuntimeState, {
+ fakeFs,
+ pnpapiResolution,
+ ...rest
+ });
+ },
+
+ /**
+ * Will inject the specified API into the environment, monkey-patching FS. Is
+ * automatically called when the hook is loaded through `--require`.
+ */
+ setup: api => {
+ applyPatch(api || defaultApi, {
+ fakeFs: defaultFsLayer,
+ manager
+ });
+ }
+});
+manager = makeManager(defaultApi, {
+ fakeFs: defaultFsLayer
+}); // eslint-disable-next-line arca/no-default-export
+
+/* harmony default export */ const _entryPoint = (defaultApi);
+
+if (__non_webpack_module__.parent && __non_webpack_module__.parent.id === `internal/preload`) {
+ defaultApi.setup();
+
+ if (__non_webpack_module__.filename) {
+ // We delete it from the cache in order to support the case where the CLI resolver is invoked from "yarn run"
+ // It's annoying because it might cause some issues when the file is multiple times in NODE_OPTIONS, but it shouldn't happen anyway.
+ delete (external_module_default())._cache[__non_webpack_module__.filename];
+ }
+}
+
+if (process.mainModule === __non_webpack_module__) {
+ const reportError = (code, message, data) => {
+ process.stdout.write(`${JSON.stringify([{
+ code,
+ message,
+ data
+ }, null])}\n`);
+ };
+
+ const reportSuccess = resolution => {
+ process.stdout.write(`${JSON.stringify([null, resolution])}\n`);
+ };
+
+ const processResolution = (request, issuer) => {
+ try {
+ reportSuccess(defaultApi.resolveRequest(request, issuer));
+ } catch (error) {
+ reportError(error.code, error.message, error.data);
+ }
+ };
+
+ const processRequest = data => {
+ try {
+ const [request, issuer] = JSON.parse(data);
+ processResolution(request, issuer);
+ } catch (error) {
+ reportError(`INVALID_JSON`, error.message, error.data);
+ }
+ };
+
+ if (process.argv.length > 2) {
+ if (process.argv.length !== 4) {
+ process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} <request> <issuer>\n`);
+ process.exitCode = 64;
+ /* EX_USAGE */
+ } else {
+ processResolution(process.argv[2], process.argv[3]);
+ }
+ } else {
+ let buffer = ``;
+ const decoder = new (external_string_decoder_default()).StringDecoder();
+ process.stdin.on(`data`, chunk => {
+ buffer += decoder.write(chunk);
+
+ do {
+ const index = buffer.indexOf(`\n`);
+ if (index === -1) break;
+ const line = buffer.slice(0, index);
+ buffer = buffer.slice(index + 1);
+ processRequest(line);
+ } while (true);
+ });
+ }
+}
+
+/***/ }),
+
+/***/ 368:
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+var frozenFs = Object.assign({}, __webpack_require__(747));
+var Module = typeof Module !== "undefined" ? Module : {};
+var moduleOverrides = {};
+var key;
+for (key in Module) {
+ if (Module.hasOwnProperty(key)) {
+ moduleOverrides[key] = Module[key];
+ }
+}
+var arguments_ = [];
+var thisProgram = "./this.program";
+var quit_ = function(status, toThrow) {
+ throw toThrow;
+};
+var ENVIRONMENT_IS_WORKER = false;
+var ENVIRONMENT_IS_NODE = true;
+var scriptDirectory = "";
+function locateFile(path) {
+ if (Module["locateFile"]) {
+ return Module["locateFile"](path, scriptDirectory);
+ }
+ return scriptDirectory + path;
+}
+var read_, readBinary;
+var nodeFS;
+var nodePath;
+if (ENVIRONMENT_IS_NODE) {
+ if (ENVIRONMENT_IS_WORKER) {
+ scriptDirectory = __webpack_require__(622).dirname(scriptDirectory) + "/";
+ } else {
+ scriptDirectory = __dirname + "/";
+ }
+ read_ = function shell_read(filename, binary) {
+ var ret = tryParseAsDataURI(filename);
+ if (ret) {
+ return binary ? ret : ret.toString();
+ }
+ if (!nodeFS) nodeFS = frozenFs;
+ if (!nodePath) nodePath = __webpack_require__(622);
+ filename = nodePath["normalize"](filename);
+ return nodeFS["readFileSync"](filename, binary ? null : "utf8");
+ };
+ readBinary = function readBinary(filename) {
+ var ret = read_(filename, true);
+ if (!ret.buffer) {
+ ret = new Uint8Array(ret);
+ }
+ assert(ret.buffer);
+ return ret;
+ };
+ if (process["argv"].length > 1) {
+ thisProgram = process["argv"][1].replace(/\\/g, "/");
+ }
+ arguments_ = process["argv"].slice(2);
+ if (true) {
+ module["exports"] = Module;
+ }
+ quit_ = function(status) {
+ process["exit"](status);
+ };
+ Module["inspect"] = function() {
+ return "[Emscripten Module object]";
+ };
+} else {
+}
+var out = Module["print"] || console.log.bind(console);
+var err = Module["printErr"] || console.warn.bind(console);
+for (key in moduleOverrides) {
+ if (moduleOverrides.hasOwnProperty(key)) {
+ Module[key] = moduleOverrides[key];
+ }
+}
+moduleOverrides = null;
+if (Module["arguments"]) arguments_ = Module["arguments"];
+if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
+if (Module["quit"]) quit_ = Module["quit"];
+var STACK_ALIGN = 16;
+function alignMemory(size, factor) {
+ if (!factor) factor = STACK_ALIGN;
+ return Math.ceil(size / factor) * factor;
+}
+var tempRet0 = 0;
+var setTempRet0 = function(value) {
+ tempRet0 = value;
+};
+var wasmBinary;
+if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
+var noExitRuntime;
+if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
+if (typeof WebAssembly !== "object") {
+ abort("no native wasm support detected");
+}
+function getValue(ptr, type, noSafe) {
+ type = type || "i8";
+ if (type.charAt(type.length - 1) === "*") type = "i32";
+ switch (type) {
+ case "i1":
+ return HEAP8[ptr >> 0];
+ case "i8":
+ return HEAP8[ptr >> 0];
+ case "i16":
+ return HEAP16[ptr >> 1];
+ case "i32":
+ return HEAP32[ptr >> 2];
+ case "i64":
+ return HEAP32[ptr >> 2];
+ case "float":
+ return HEAPF32[ptr >> 2];
+ case "double":
+ return HEAPF64[ptr >> 3];
+ default:
+ abort("invalid type for getValue: " + type);
+ }
+ return null;
+}
+var wasmMemory;
+var wasmTable = new WebAssembly.Table({
+ initial: 31,
+ maximum: 31,
+ element: "anyfunc"
+});
+var ABORT = false;
+var EXITSTATUS = 0;
+function assert(condition, text) {
+ if (!condition) {
+ abort("Assertion failed: " + text);
+ }
+}
+function getCFunc(ident) {
+ var func = Module["_" + ident];
+ assert(
+ func,
+ "Cannot call unknown function " + ident + ", make sure it is exported"
+ );
+ return func;
+}
+function ccall(ident, returnType, argTypes, args, opts) {
+ var toC = {
+ string: function(str) {
+ var ret = 0;
+ if (str !== null && str !== undefined && str !== 0) {
+ var len = (str.length << 2) + 1;
+ ret = stackAlloc(len);
+ stringToUTF8(str, ret, len);
+ }
+ return ret;
+ },
+ array: function(arr) {
+ var ret = stackAlloc(arr.length);
+ writeArrayToMemory(arr, ret);
+ return ret;
+ }
+ };
+ function convertReturnValue(ret) {
+ if (returnType === "string") return UTF8ToString(ret);
+ if (returnType === "boolean") return Boolean(ret);
+ return ret;
+ }
+ var func = getCFunc(ident);
+ var cArgs = [];
+ var stack = 0;
+ if (args) {
+ for (var i = 0; i < args.length; i++) {
+ var converter = toC[argTypes[i]];
+ if (converter) {
+ if (stack === 0) stack = stackSave();
+ cArgs[i] = converter(args[i]);
+ } else {
+ cArgs[i] = args[i];
+ }
+ }
+ }
+ var ret = func.apply(null, cArgs);
+ ret = convertReturnValue(ret);
+ if (stack !== 0) stackRestore(stack);
+ return ret;
+}
+function cwrap(ident, returnType, argTypes, opts) {
+ argTypes = argTypes || [];
+ var numericArgs = argTypes.every(function(type) {
+ return type === "number";
+ });
+ var numericRet = returnType !== "string";
+ if (numericRet && numericArgs && !opts) {
+ return getCFunc(ident);
+ }
+ return function() {
+ return ccall(ident, returnType, argTypes, arguments, opts);
+ };
+}
+var UTF8Decoder =
+ typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
+function UTF8ArrayToString(heap, idx, maxBytesToRead) {
+ var endIdx = idx + maxBytesToRead;
+ var endPtr = idx;
+ while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr;
+ if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) {
+ return UTF8Decoder.decode(heap.subarray(idx, endPtr));
+ } else {
+ var str = "";
+ while (idx < endPtr) {
+ var u0 = heap[idx++];
+ if (!(u0 & 128)) {
+ str += String.fromCharCode(u0);
+ continue;
+ }
+ var u1 = heap[idx++] & 63;
+ if ((u0 & 224) == 192) {
+ str += String.fromCharCode(((u0 & 31) << 6) | u1);
+ continue;
+ }
+ var u2 = heap[idx++] & 63;
+ if ((u0 & 240) == 224) {
+ u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
+ } else {
+ u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63);
+ }
+ if (u0 < 65536) {
+ str += String.fromCharCode(u0);
+ } else {
+ var ch = u0 - 65536;
+ str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));
+ }
+ }
+ }
+ return str;
+}
+function UTF8ToString(ptr, maxBytesToRead) {
+ return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
+}
+function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
+ if (!(maxBytesToWrite > 0)) return 0;
+ var startIdx = outIdx;
+ var endIdx = outIdx + maxBytesToWrite - 1;
+ for (var i = 0; i < str.length; ++i) {
+ var u = str.charCodeAt(i);
+ if (u >= 55296 && u <= 57343) {
+ var u1 = str.charCodeAt(++i);
+ u = (65536 + ((u & 1023) << 10)) | (u1 & 1023);
+ }
+ if (u <= 127) {
+ if (outIdx >= endIdx) break;
+ heap[outIdx++] = u;
+ } else if (u <= 2047) {
+ if (outIdx + 1 >= endIdx) break;
+ heap[outIdx++] = 192 | (u >> 6);
+ heap[outIdx++] = 128 | (u & 63);
+ } else if (u <= 65535) {
+ if (outIdx + 2 >= endIdx) break;
+ heap[outIdx++] = 224 | (u >> 12);
+ heap[outIdx++] = 128 | ((u >> 6) & 63);
+ heap[outIdx++] = 128 | (u & 63);
+ } else {
+ if (outIdx + 3 >= endIdx) break;
+ heap[outIdx++] = 240 | (u >> 18);
+ heap[outIdx++] = 128 | ((u >> 12) & 63);
+ heap[outIdx++] = 128 | ((u >> 6) & 63);
+ heap[outIdx++] = 128 | (u & 63);
+ }
+ }
+ heap[outIdx] = 0;
+ return outIdx - startIdx;
+}
+function stringToUTF8(str, outPtr, maxBytesToWrite) {
+ return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
+}
+function lengthBytesUTF8(str) {
+ var len = 0;
+ for (var i = 0; i < str.length; ++i) {
+ var u = str.charCodeAt(i);
+ if (u >= 55296 && u <= 57343)
+ u = (65536 + ((u & 1023) << 10)) | (str.charCodeAt(++i) & 1023);
+ if (u <= 127) ++len;
+ else if (u <= 2047) len += 2;
+ else if (u <= 65535) len += 3;
+ else len += 4;
+ }
+ return len;
+}
+function allocateUTF8(str) {
+ var size = lengthBytesUTF8(str) + 1;
+ var ret = _malloc(size);
+ if (ret) stringToUTF8Array(str, HEAP8, ret, size);
+ return ret;
+}
+function writeArrayToMemory(array, buffer) {
+ HEAP8.set(array, buffer);
+}
+var WASM_PAGE_SIZE = 65536;
+function alignUp(x, multiple) {
+ if (x % multiple > 0) {
+ x += multiple - (x % multiple);
+ }
+ return x;
+}
+var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
+function updateGlobalBufferAndViews(buf) {
+ buffer = buf;
+ Module["HEAP8"] = HEAP8 = new Int8Array(buf);
+ Module["HEAP16"] = HEAP16 = new Int16Array(buf);
+ Module["HEAP32"] = HEAP32 = new Int32Array(buf);
+ Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
+ Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
+ Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
+ Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
+ Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
+}
+var INITIAL_INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
+if (Module["wasmMemory"]) {
+ wasmMemory = Module["wasmMemory"];
+} else {
+ wasmMemory = new WebAssembly.Memory({
+ initial: INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE,
+ maximum: 2147483648 / WASM_PAGE_SIZE
+ });
+}
+if (wasmMemory) {
+ buffer = wasmMemory.buffer;
+}
+INITIAL_INITIAL_MEMORY = buffer.byteLength;
+updateGlobalBufferAndViews(buffer);
+var __ATPRERUN__ = [];
+var __ATINIT__ = [];
+var __ATMAIN__ = [];
+var __ATPOSTRUN__ = [];
+var runtimeInitialized = false;
+function preRun() {
+ if (Module["preRun"]) {
+ if (typeof Module["preRun"] == "function")
+ Module["preRun"] = [Module["preRun"]];
+ while (Module["preRun"].length) {
+ addOnPreRun(Module["preRun"].shift());
+ }
+ }
+ callRuntimeCallbacks(__ATPRERUN__);
+}
+function initRuntime() {
+ runtimeInitialized = true;
+ if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
+ TTY.init();
+ callRuntimeCallbacks(__ATINIT__);
+}
+function preMain() {
+ FS.ignorePermissions = false;
+ callRuntimeCallbacks(__ATMAIN__);
+}
+function postRun() {
+ if (Module["postRun"]) {
+ if (typeof Module["postRun"] == "function")
+ Module["postRun"] = [Module["postRun"]];
+ while (Module["postRun"].length) {
+ addOnPostRun(Module["postRun"].shift());
+ }
+ }
+ callRuntimeCallbacks(__ATPOSTRUN__);
+}
+function addOnPreRun(cb) {
+ __ATPRERUN__.unshift(cb);
+}
+function addOnPostRun(cb) {
+ __ATPOSTRUN__.unshift(cb);
+}
+var Math_abs = Math.abs;
+var Math_ceil = Math.ceil;
+var Math_floor = Math.floor;
+var Math_min = Math.min;
+var runDependencies = 0;
+var runDependencyWatcher = null;
+var dependenciesFulfilled = null;
+function getUniqueRunDependency(id) {
+ return id;
+}
+function addRunDependency(id) {
+ runDependencies++;
+ if (Module["monitorRunDependencies"]) {
+ Module["monitorRunDependencies"](runDependencies);
+ }
+}
+function removeRunDependency(id) {
+ runDependencies--;
+ if (Module["monitorRunDependencies"]) {
+ Module["monitorRunDependencies"](runDependencies);
+ }
+ if (runDependencies == 0) {
+ if (runDependencyWatcher !== null) {
+ clearInterval(runDependencyWatcher);
+ runDependencyWatcher = null;
+ }
+ if (dependenciesFulfilled) {
+ var callback = dependenciesFulfilled;
+ dependenciesFulfilled = null;
+ callback();
+ }
+ }
+}
+Module["preloadedImages"] = {};
+Module["preloadedAudios"] = {};
+function abort(what) {
+ if (Module["onAbort"]) {
+ Module["onAbort"](what);
+ }
+ what += "";
+ err(what);
+ ABORT = true;
+ EXITSTATUS = 1;
+ what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
+ var e = new WebAssembly.RuntimeError(what);
+ throw e;
+}
+function hasPrefix(str, prefix) {
+ return String.prototype.startsWith
+ ? str.startsWith(prefix)
+ : str.indexOf(prefix) === 0;
+}
+var dataURIPrefix = "data:application/octet-stream;base64,";
+function isDataURI(filename) {
+ return hasPrefix(filename, dataURIPrefix);
+}
+var wasmBinaryFile =
+ "data:application/octet-stream;base64,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AkEgaiQAC4sDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEEATQ0AIAMpAxhC////////////AFYNACADKQMYQgBYDQEgAygCIA0BCyADKAIkQQxqQRJBABAVIANCfzcDKAwBCyADKAIkLQA1QQFxBEAgA0J/NwMoDAELAn8jAEEQayIAIAMoAiQ2AgwgACgCDC0ANEEBcQsEQCADQgA3AygMAQsgAykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQIiICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAgs2AQF/IwBBEGsiASAANgIMAn4gASgCDC0AAEEBcQRAIAEoAgwpAwggASgCDCkDEH0MAQtCAAsLsgECAX8BfiMAQRBrIgEkACABIAA2AgQgASABKAIEQggQHzYCAAJAIAEoAgBFBEAgAUIANwMIDAELIAEgASgCAC0AAK0gASgCAC0AB61COIYgASgCAC0ABq1CMIZ8IAEoAgAtAAWtQiiGfCABKAIALQAErUIghnwgASgCAC0AA61CGIZ8IAEoAgAtAAKtQhCGfCABKAIALQABrUIIhnx8NwMICyABKQMIIQIgAUEQaiQAIAILqAEBAX8jAEEQayIBJAAgASAANgIIAkAgASgCCCgCIEEATQRAIAEoAghBDGpBEkEAEBUgAUF/NgIMDAELIAEoAggiACAAKAIgQX9qNgIgIAEoAggoAiBFBEAgASgCCEEAQgBBAhAiGiABKAIIKAIABEAgASgCCCgCABAyQQBIBEAgASgCCEEMakEUQQAQFQsLCyABQQA2AgwLIAEoAgwhACABQRBqJAAgAAvxAgICfwF+AkAgAkUNACAAIAJqIgNBf2ogAToAACAAIAE6AAAgAkEDSQ0AIANBfmogAToAACAAIAE6AAEgA0F9aiABOgAAIAAgAToAAiACQQdJDQAgA0F8aiAB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ECwQMwsgASgCDCgCVBAWIAEoAgxBADYCVAsgAUEQaiQAC/EBAQF/IwBBEGsiASAANgIMIAEoAgxBADYCACABKAIMQQA6AAQgASgCDEEAOgAFIAEoAgxBAToABiABKAIMQb8GOwEIIAEoAgxBCjsBCiABKAIMQQA7AQwgASgCDEF/NgIQIAEoAgxBADYCFCABKAIMQQA2AhggASgCDEIANwMgIAEoAgxCADcDKCABKAIMQQA2AjAgASgCDEEANgI0IAEoAgxBADYCOCABKAIMQQA2AjwgASgCDEEAOwFAIAEoAgxBgIDYjXg2AkQgASgCDEIANwNIIAEoAgxBADsBUCABKAIMQQA7AVIgASgCDEEANgJUC9oTAQF/IwBBsAFrIgMkACADIAA2AqgBIAMgATYCpAEgAyACNgKgASADQQA2ApABIAMgAygCpAEoAjBBABA7NgKUASADIAMoAqQBKAI4QQAQOzYCmAECQAJAAkACQCADKAKUAUECRgRAIAMoApgBQQFGDQELIAMoApQBQQFGBEAgAygCmAFBAkYNAQsgAygClAFBAkcNASADKAKYAUECRw0BCyADKAKkASIAIAAvAQxBgBByOwEMDAELIAMoAqQBIgAgAC8BDEH/7wNxOwEMIAMoApQBQQJGBEAgA0H14AEgAygCpAEoAjAgAygCqAFBCGoQxAE2ApABIAMoApABRQRAIANBfzYCrAEMAwsLAkAgAygCoAFBgAJxDQAgAygCmAFBAkcNACADQfXGASADKAKkASgCOCADKAKoAUEIahDEATYCSCADKAJIRQRAIAMoApABECQgA0F/NgKsAQwDCyADKAJIIAMoApABNgIAIAMgAygCSDYCkAELCwJAIAMoAqQBLwFSRQRAIAMoAqQBIgAgAC8BDEH+/wNxOwEMDAELIAMoAqQBIgAgAC8BDEEBcjsBDAsgAyADKAKkASADKAKgARCAAUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBAqNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBUgAygCkAEQJCADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAuIAMoAhwgAygCpAEpAyAQLgwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLgsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAuCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC4LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFSADKAIcEBcgAygCkAEQJCADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQUDYCjAEgAygCHBAXIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECo2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFSADKAKQARAkIANBfzYCrAEMAgsgAygCEEECECAgAygCEEHP0wBBAhBAIAMoAhAgAygCpAEvAVJB/wFxEIoBIAMoAhAgAygCpAEoAhBB//8DcRAgAn8jAEEQayIAIAMoAhA2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBUgAygCEBAXIAMoApABECQgA0F/NgKsAQwCCyADQYGyAkEHIANBFWpBgAYQUDYCDCADKAIQEBcgAygCDCADKAKQATYCACADIAMoAgw2ApABCyADIANB0ABqQi4QKiIANgJMIABFBEAgAygCqAFBCGpBDkEAEBUgAygCkAEQJCADQX82AqwBDAELIAMoAkxBxdMAQcrTACADKAKgAUGAAnEbQQQQQCADKAKgAUGAAnFFBEAgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQgLQf//A3EQIAsgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQoLQf//A3EQICADKAJMIAMoAqQBLwEMECACQCADLQCFAUEBcQRAIAMoAkxB4wAQIAwBCyADKAJMIAMoAqQBKAIQQf//A3EQIAsgAygCpAEoAhQgA0GeAWogA0GcAWoQwwEgAygCTCADLwGeARAgIAMoAkwgAy8BnAEQIAJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIQwBCyADKAJMIAMoAqQBKAIYECELAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAhIAMoAkxBfxAhDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIQwBCyADKAJMQX8QIQsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAhDAELIAMoAkxBfxAhCwsgAygCTCADKAKkASgCMBBSQf//A3EQICADIAMoAqQBKAI0IAMoAqABEIIBQf//A3EgAygCkAFBgAYQggFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAgIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFJB//8DcRAgIAMoAkwgAygCpAEoAjxB//8DcRAgIAMoAkwgAygCpAEvAUAQICADKAJMIAMoAqQBKAJEECECQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAhDAELIAMoAkxBfxAhCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFSADKAJMEBcgAygCkAEQJCADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNkEASARAIAMoAkwQFyADKAKQARAkIANBfzYCrAEMAQsgAygCTBAXIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQhgFBAEgEQCADKAKQARAkIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQgQFBAEgEQCADKAKQARAkIANBfzYCrAEMAgsLIAMoApABECQgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCBAUEASARAIANBfzYC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IAMoAoABKAIAIAMpA3CnQQR0aigCACADEPEBBEAgAygCfEEVQQAQFSADEFwgA0J/NwOIAQwDBSADKAKAASgCACADKQNwp0EEdGooAgAoAjQgAygCNBCFASEAIAMoAoABKAIAIAMpA3CnQQR0aigCACAANgI0IAMoAoABKAIAIAMpA3CnQQR0aigCAEEBOgAEIANBADYCNCADEFwgAyADKQNwQgF8NwNwDAILAAsLIAMCfiADKQNgIAMpA2h9Qv///////////wBUBEAgAykDYCADKQNofQwBC0L///////////8ACzcDiAELIAMpA4gBIQQgA0GQAWokACAEC6YBAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCEBD6ASIANgIMAkAgAEUEQCADQQA2AhwMAQsgAygCDCADKAIYNgIAIAMoAgwgAygCFDYCBCADKAIUQRBxBEAgAygCDCIAIAAoAhRBAnI2AhQgAygCDCIAIAAoAhhBAnI2AhgLIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC9UBAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCAJAAkAgBCkDEEL///////////8AVwRAIAQpAxBCgICAgICAgICAf1kNAQsgBCgCCEEEQT0QFSAEQX82AhwMAQsCfyAEKQMQIQEgBCgCDCEAIAQoAhgiAigCTEF/TARAIAIgASAAEJYBDAELIAIgASAAEJYBC0EASARAIAQoAghBBEG0nAEoAgAQFSAEQX82AhwMAQsgBEEANgIcCyAEKAIcIQAgBEEgaiQAIAALJwACf0EAQQAgABAFIgAgAEEbRhsiAEUNABpBtJwBIAA2AgBBAAsaC14BAX8jAEEQayIDJAAgAyABQcCAgAJxBH8gAyACQQRqNgIMIAIoAgAFQQALNgIAIAAgAUGAgAJyIAMQESIAQYFgTwRAQbScAUEAIABrNgIAQX8hAAsgA0EQaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAiGiABKAIMQQA2AiQLIAFBEGokAAszAQF/An8gABAGIgFBYUYEQCAAEBIhAQsgAUGBYE8LBH9BtJwBQQAgAWs2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IEUNACABKAIIKAIkDQELIAFBATYCDAwBCyABIAEoAggoAhw2AgQCQAJAIAEoAgRFDQAgASgCBCgCACABKAIIRw0AIAEoAgQoAgRBKkYNASABKAIEKAIEQTlGDQEgASgCBCgCBEHFAEYNASABKAIEKAIEQckARg0BIAEoAgQoAgRB2wBGDQEgASgCBCgCBEHnAEYNASABKAIEKAIEQfEARg0BIAEoAgQoAgRBmgVGDQELIAFBATYCDAwBCyABQQA2AgwLIAEoAgwL0gQBAX8jAEEgayIDIAA2AhwgAyABNgIYIAMgAjYCFCADIAMoAhxB3BZqIAMoAhRBAnRqKAIANgIQIAMgAygCFEEBdDYCDANAAkAgAygCDCADKAIcKALQKEoNAAJAIAMoAgwgAygCHCgC0ChODQAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBOBEAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBHDQEgAygCHCADKAIMQQJ0akHgFmooAgAgAygCHEHYKGpqLQAAIAMoAhxB3BZqIAMoAgxBAnRqKAIAIAMoAhxB2Chqai0AAEoNAQsgAyADKAIMQQFqNgIMCyADKAIYIAMoAhBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvnCAEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHE5FBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUF/ajYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAUhFBEAgAigCLCACKAIkIAIoAhgQdSACIAIoAhhBf2o2AhgMAQsLIAIgAigCHDYCDANAIAIgAigCLCgC4BY2AhggAigCLEHcFmohASACKAIsIgMoAtAoIQAgAyAAQX9qNgLQKCACKAIsIABBAnQgAWooAgA2AuAWIAIoAiwgAigCJEEBEHUgAiACKAIsKALgFjYCFCACKAIYIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQX9qIQAgBCAANgLUKCAAQQJ0IANqIAE2AgAgAigCFCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEF/aiEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAiQgAigCDEECdGogAigCJCACKAIYQQJ0ai8BACACKAIkIAIoAhRBAnRqLwEAajsBACACKAIMIAIoAixB2ChqagJ/IAIoAhggAigCLEHYKGpqLQAAIAIoAhQgAigCLEHYKGpqLQAATgRAIAIoAhggAigCLEHYKGpqLQAADAELIAIoAhQgAigCLEHYKGpqLQAAC0EBajoAACACKAIkIAIoAhRBAnRqIAIoAgwiADsBAiACKAIkIAIoAhhBAnRqIAA7AQIgAiACKAIMIgBBAWo2AgwgAigCLCAANgLgFiACKAIs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AykDKCEBIANBMGokACABC3cBAX8jAEEQayICIAA2AgggAiABNgIEAkACQAJAIAIoAggpAyhC/////w9aDQAgAigCCCkDIEL/////D1oNACACKAIEQYAEcUUNASACKAIIKQNIQv////8PVA0BCyACQQE6AA8MAQsgAkEAOgAPCyACLQAPQQFxC9kCAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgA0EMakIEECo2AggCQCADKAIIRQRAIANBfzYCHAwBCwNAIAMoAhQEQCADKAIUKAIEIAMoAhBxQYAGcQRAIAMoAghCABAtGiADKAIIIAMoAhQvAQgQICADKAIIIAMoAhQvAQoQIAJ/IwBBEGsiACADKAIINgIMIAAoAgwtAABBAXFFCwRAIAMoAhhBCGpBFEEAEBUgAygCCBAXIANBfzYCHAwECyADKAIYIANBDGpCBBA2QQBIBEAgAygCCBAXIANBfzYCHAwECyADKAIULwEKQQBKBEAgAygCGCADKAIUKAIMIAMoAhQvAQqtEDZBAEgEQCADKAIIEBcgA0F/NgIcDAULCwsgAyADKAIUKAIANgIUDAELCyADKAIIEBcgA0EANgIcCyADKAIcIQAgA0EgaiQAIAALaAEBfyMAQRBrIgIgADYCDCACIAE2AgggAkEAOwEGA0AgAigCDARAIAIoAgwoAgQgAigCCHFBgAZxBEAgAiACKAIMLwEKIAIvAQZBBGpqOwEGCyACIAIoAgwoAgA2AgwMAQsLIAIvAQYL8AEBAX8jAEEQayIBJAAgASAANgIMIAEgASgCDDYCCCABQQA2AgQDQCABKAIMBEACQAJAIAEoAgwvAQhB9cYBRg0AIAEoAgwvAQhB9eABRg0AIAEoAgwvAQhBgbICRg0AIAEoAgwvAQhBAUcNAQsgASABKAIMKAIANgIAIAEoAgggASgCDEYEQCABIAEoAgA2AggLIAEoAgxBADYCACABKAIMECQgASgCBARAIAEoAgQgASgCADYCAAsgASABKAIANgIMDAILIAEgASgCDDYCBCABIAEoAgwoAgA2AgwMAQsLIAEoAgghACABQRBqJAAgAAuzBAEBfyMAQUBqIgUkACAFIAA2AjggBSABOwE2IAUgAjYCMCAFIAM2AiwgBSAENgIoIAUgBSgCOCAFLwE2rRAqIgA2AiQCQCAARQRAIAUoAihBDkEAEBUgBUEAOgA/DAELIAVBADYCICAFQQA2AhgDQAJ/IwBBEGsiACAFKAIkNgIMIAAoAgwtAABBAXELBH8gBSgCJBAwQgRaBUEAC0EBcQRAIAUgBSgCJBAeOwEWIAUgBSgCJBAeOwEUIAUgBSgCJCAFLwEUrRAfNgIQIAUoAhBFBEAgBSgCKEEVQQAQFSAFKAIkEBcgBSgCGBAkIAVBADoAPwwDCyAFIAUvARYgBS8BFCAFKAIQIAUoAjAQUCIANgIcIABFBEAgBSgCKEEOQQAQFSAFKAIkEBcgBSgCGBAkIAVBADoAPwwDCwJAIAUoAhgEQCAFKAIgIAUoAhw2AgAgBSAFKAIcNgIgDAELIAUgBSgCHCIANgIgIAUgADYCGAsMAQsLIAUoAiQQSEEBcUUEQCAFIAUoAiQQMD4CDCAFIAUoAiQgBSgCDK0QHzYCCAJAAkAgBSgCDEEETw0AIAUoAghFDQAgBSgCCEGy0wAgBSgCDBBTRQ0BCyAFKAIoQRVBABAVIAUoAiQQFyAFKAIYECQgBUEAOgA/DAILCyAFKAIkEBcCQCAFKAIsBEAgBSgCLCAFKAIYNgIADAELIAUoAhgQJAsgBUEBOgA/CyAFLQA/QQFxIQAgBUFAayQAIAAL7wIBAX8jAEEgayICJAAgAiAANgIYIAIgATYCFAJAIAIoAhhFBEAgAiACKAIUNgIcDAELIAIgAigCGDYCCANAIAIoAggoAgAEQCACIAIoAggoAgA2AggMAQsLA0AgAigCFARAIAIgAigCFCgCADYCECACQQA2AgQgAiACKAIYNgIMA0ACQCACKAIMRQ0AAkAgAigCDC8BCCACKAIULwEIRw0AIAIoAgwvAQogAigCFC8BCkcNACACKAIMLwEKBEAgAigCDCgCDCACKAIUKAIMIAIoAgwvAQoQUw0BCyACKAIMIgAgACgCBCACKAIUKAIEQYAGcXI2AgQgAkEBNgIEDAELIAIgAigCDCgCADYCDAwBCwsgAigCFEEANgIAAkAgAigCBARAIAIoAhQQJAwBCyACKAIIIAIoAhQiADYCACACIAA2AggLIAIgAigCEDYCFAwBCwsgAiACKAIYNgIcCyACKAIcIQAgAkEgaiQAIAALXQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCBEUEQCACQQA2AgwMAQsgAiACKAIIIAIoAgQoAgAgAigCBC8BBK0QNjYCDAsgAigCDCEAIAJBEGokACAAC48BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQAJAIAIoAggEQCACKAIEDQELIAIgAigCCCACKAIERjYCDAwBCyACKAIILwEEIAIoAgQvAQRHBEAgAkEANgIMDAELIAIgAigCCCgCACACKAIEKAIAIAIoAggvAQQQU0U2AgwLIAIoAgwhACACQRBqJAAgAAtVAQF/IwBBEGsiASQAIAEgADYCDCABQQBBAEEAEBs2AgggASgCDARAIAEgASgCCCABKAIMKAIAIAEoAgwvAQQQGzYCCAsgASgCCCEAIAFBEGokACAAC6ABAQF/IwBBIGsiBSQAIAUgADYCGCAFIAE2AhQgBSACOwESIAUgAzoAESAFIAQ2AgwgBSAFKAIYIAUoAhQgBS8BEiAFLQARQQFxIAUoAgwQYCIANgIIAkAgAEUEQCAFQQA2AhwMAQsgBSAFKAIIIAUvARJBACAFKAIMEFE2AgQgBSgCCBAWIAUgBSgCBDYCHAsgBSgCHCEAIAVBIGokACAAC18BAX8jAEEQayICJAAgAiAANgIIIAIgAToAByACIAIoAghCARAfNgIAAkAgAigCAEUEQCACQX82AgwMAQsgAigCACACLQAHOgAAIAJBADYCDAsgAigCDBogAkEQaiQAC1QBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIBEB82AgQCQCABKAIERQRAIAFBADoADwwBCyABIAEoAgQtAAA6AA8LIAEtAA8hACABQRBqJAAgAAs4AQF/IwBBEGsiASAANgIMIAEoAgxBADYCACABKAIMQQA2AgQgASgCDEEANgIIIAEoAgxBADoADAufAgEBfyMAQUBqIgUkACAFIAA3AzAgBSABNwMoIAUgAjYCJCAFIAM3AxggBSAENgIUIAUCfyAFKQMYQhBUBEAgBSgCFEESQQAQFUEADAELIAUoAiQLNgIEAkAgBSgCBEUEQCAFQn83AzgMAQsCQAJAAkACQAJAIAUoAgQoAggOAwIAAQMLIAUgBSkDMCAFKAIEKQMAfDcDCAwDCyAFIAUpAyggBSgCBCkDAHw3AwgMAgsgBSAFKAIEKQMANwMIDAELIAUoAhRBEkEAEBUgBUJ/NwM4DAELAkAgBSkDCEIAWQRAIAUpAwggBSkDKFgNAQsgBSgCFEESQQAQFSAFQn83AzgMAQsgBSAFKQMINwM4CyAFKQM4IQAgBUFAayQAIAAL6gECAX8BfiMAQSBrIgQkACAEIAA2AhggBCABNgIUIAQgAjYCECAEIAM2AgwgBCAEKAIMEI8BIgA2AggCQCAARQRAIARBADYCHAwBCyMAQRBrIgAgBCgCGDYCDCAAKAIMIgAgACgCMEEBajYCMCAEKAIIIAQoAhg2AgAgBCgCCCAEKAIUNgIEIAQoAgggBCgCEDYCCCAEKAIYIAQoAhBBAEIAQQ4gBCgCFBENACEFIAQoAgggBTcDGCAEKAIIKQMYQgBTBEAgBCgCCEI/NwMYCyAEIAQoAgg2AhwLIAQoAhwhACAEQSBqJAAgAAvqAQEBfyMAQRBrIgEkACABIAA2AgggAUE4EBkiADYCBAJAIABFBEAgASgCCEEOQQAQFSABQQA2AgwMAQsgASgCBEEANgIAIAEoAgRBADYCBCABKAIEQQA2AgggASgCBEEANgIgIAEoAgRBADYCJCABKAIEQQA6ACggASgCBEEANgIsIAEoAgRBATYCMCMAQRBrIgAgASgCBEEMajYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCABKAIEQQA6ADQgASgCBEEAOgA1IAEgASgCBDYCDAsgASgCDCEAIAFBEGokACAAC7ABAgF/AX4jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIQEI8BIgA2AgwCQCAARQRAIANBADYCHAwBCyADKAIMIAMoAhg2AgQgAygCDCADKAIUNgIIIAMoAhRBAEIAQQ4gAygCGBEPACEEIAMoAgwgBDcDGCADKAIMKQMYQgBTBEAgAygCDEI/NwMYCyADIAMoAgw2AhwLIAMoAhwhACADQSBqJAAgAAvDAgEBfyMAQRBrIgMgADYCDCADIAE2AgggAyACNgIEIAMoAggpAwBCAoNCAFIEQCADKAIMIAMoAggpAxA3AxALIAMoAggpAwBCBINCAFIEQCADKAIMIAMoAggpAxg3AxgLIAMoAggpAwBCCINCAFIEQCADKAIMIAMoAggpAyA3AyALIAMoAggpAwBCEINCAFIEQCADKAIMIAMoAggoAig2AigLIAMoAggpAwBCIINCAFIEQCADKAIMIAMoAggoAiw2AiwLIAMoAggpAwBCwACDQgBSBEAgAygCDCADKAIILwEwOwEwCyADKAIIKQMAQoABg0IAUgRAIAMoAgwgAygCCC8BMjsBMgsgAygCCCkDAEKAAoNCAFIEQCADKAIMIAMoAggoAjQ2AjQLIAMoAgwiACADKAIIKQMAIAApAwCENwMAQQALggUBAX8jAEHgAGsiAyQAIAMgADYCWCADIAE2AlQgAyACNgJQAkACQCADKAJUQQBOBEAgAygCWA0BCyADKAJQQRJBABAVIANBADYCXAwBCyADIAMoAlQ2AkwjAEEQayIAIAMoAlg2AgwgAyAAKAIMKQMYNwNAQeCbASkDAEJ/UQRAIANBfzYCFCADQQM2AhAgA0EHNgIMIANBBjYCCCADQQI2AgQgA0EBNgIAQeCbAUEAIAMQNzcDACADQX82AjQgA0EPNgIwIANBDTYCLCADQQw2AiggA0EKNgIkIANBCTYCIEHomwFBCCADQSBqEDc3AwALQeCbASkDACADKQNAQeCbASkDAINSBEAgAygCUEEcQQAQFSADQQA2AlwMAQtB6JsBKQMAIAMpA0BB6JsBKQMAg1IEQCADIAMoAkxBEHI2AkwLIAMoAkxBGHFBGEYEQCADKAJQQRlBABAVIANBADYCXAwBCyADIAMoAlggAygCUBD4ATYCPAJAAkACQCADKAI8QQFqDgIAAQILIANBADYCXAwCCyADKAJMQQFxRQRAIAMoAlBBCUEAEBUgA0EANgJcDAILIAMgAygCWCADKAJMIAMoAlAQZjYCXAwBCyADKAJMQQJxBEAgAygCUEEKQQAQFSADQQA2AlwMAQsgAygCWBBJQQBIBEAgAygCUCADKAJYEBggA0EANgJcDAELAkAgAygCTEEIcQRAIAMgAygCWCADKAJMIAMoAlAQZjYCOAwBCyADIAMoAlggAygCTCADKAJQEPcBNgI4CyADKAI4RQRAIAMoAlgQMhogA0EANgJcDAELIAMgAygCODYCXAsgAygCXCEAIANB4ABqJAAgAAuOAQEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAJBADYCBCACKAIIBEAjAEEQayIAIAIoAgg2AgwgAiAAKAIMKAIANgIEIAIoAggQpwFBAUYEQCMAQRBrIgAgAigCCDYCDEG0nAEgACgCDCgCBDYCAAsLIAIoAgwEQCACKAIMIAIoAgQ2AgALIAJBEGokAAuVAQEBfyMAQRBrIgEkACABIAA2AggCQAJ/IwBBEGsiACABKAIINgIMIAAoAgwpAxhCgIAQg1ALBEAgASgCCCgCAARAIAEgASgCCCgCABCUAUEBcToADwwCCyABQQE6AA8MAQsgASABKAIIQQBCAEESECI+AgQgASABKAIEQQBHOgAPCyABLQAPQQFxIQAgAUEQaiQAIAALfwEBfyMAQSBrIgMkACADIAA2AhggAyABNwMQIANBADYCDCADIAI2AggCQCADKQMQQv///////////wBWBEAgAygCCEEEQT0QFSADQX82AhwMAQsgAyADKAIYIAMpAxAgAygCDCADKAIIEGc2AhwLIAMoAhwhACADQSBqJAAgAAt9ACACQQFGBEAgASAAKAIIIAAoAgRrrH0hAQsCQCAAKAIUIAAoAhxLBEAgAEEAQQAgACgCJBEBABogACgCFEUNAQsgAEEANgIcIABCADcDECAAIAEgAiAAKAIoERAAQgBTDQAgAEIANwIEIAAgACgCAEFvcTYCAEEADwtBfwviAgECfyMAQSBrIgMkAAJ/AkACQEH0lwEgASwAABCYAUUEQEG0nAFBHDYCAAwBC0GYCRAZIgINAQtBAAwBCyACQQBBkAEQMyABQSsQmAFFBEAgAkEIQQQgAS0AAEHyAEYbNgIACwJAIAEtAABB4QBHBEAgAigCACEBDAELIABBA0EAEAQiAUGACHFFBEAgAyABQYAIcjYCECAAQQQgA0EQahAEGgsgAiACKAIAQYABciIBNgIACyACQf8BOgBLIAJBgAg2AjAgAiAANgI8IAIgAkGYAWo2AiwCQCABQQhxDQAgAyADQRhqNgIAIABBk6gBIAMQDg0AIAJBCjoASwsgAkEaNgIoIAJBGzYCJCACQRw2AiAgAkEdNgIMQdygASgCAEUEQCACQX82AkwLIAJBsKEBKAIANgI4QbChASgCACIABEAgACACNgI0C0GwoQEgAjYCACACCyEAIANBIGokACAACxoAIAAgARCFAiIAQQAgAC0AACABQf8BcUYbCxgAIAAoAkxBf0wEQCAAEJoBDwsgABCaAQtgAgJ/AX4gACgCKCEBQQEhAiAAQgAgAC0AAEGAAXEEf0ECQQEgACgCFCAAKAIc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KAIYKQMwWgRAIAIoAhhBCGpBEkEAEBUgAkF/NgIcDAELIAIoAhgoAhhBAnEEQCACKAIYQQhqQRlBABAVIAJBfzYCHAwBCyACIAIoAhggAikDEEEAIAIoAhhBCGoQTyIANgIMIABFBEAgAkF/NgIcDAELIAIoAhgoAlAgAigCDCACKAIYQQhqEFlBAXFFBEAgAkF/NgIcDAELIAIoAhggAikDEBCgAgRAIAJBfzYCHAwBCyACKAIYKAJAIAIpAxCnQQR0akEBOgAMIAJBADYCHAsgAigCHCEAIAJBIGokACAAC5gCAAJAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQCABQXdqDgoAAQIJAwQFBgkHCAsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgACACQRYRBAALDwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC0oBA38gACgCACwAAEFQakEKSQRAA0AgACgCACIBLAAAIQMgACABQQFqNgIAIAMgAkEKbGpBUGohAiABLAABQVBqQQpJDQALCyACC38CAX8BfiAAvSIDQjSIp0H/D3EiAkH/D0cEfCACRQRAIAEgAEQAAAAAAAAAAGEEf0EABSAARAAAAAAAAPBDoiABEKQBIQAgASgCAEFAags2AgAgAA8LIAEgAkGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvwUgAAsLEgAgAEUEQEEADwsgACABELQCC+UBAQJ/IAJBAEchAwJAAkACQCACRQ0AIABBA3FFDQAgAUH/AXEhBANAIAAtAAAgBEYNAiAAQQFqIQAgAkF/aiICQQBHIQMgAkUNASAAQQNxDQALCyADRQ0BCwJAIAAtAAAgAUH/AXFGDQAgAkEESQ0AIAFB/wFxQYGChAhsIQMDQCAAKAIAIANzIgRBf3MgBEH//ft3anFBgIGChHhxDQEgAEEEaiEAIAJB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HAvkAQEBfyMAQSBrIgMkACADIAA6ABsgAyABNgIUIAMgAjYCECADQcgAEBkiADYCDAJAIABFBEAgAygCEEEBQbScASgCABAVIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEH+fWo2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEF/aiIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5gQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAgxBBWsgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcUVFNgIQIAIoAihBAEEAIAIoAhAQVyACKAIoKAIIIAIoAigoAhRBBGtqIAIoAhw6AAAgAigCKCgCCCACKAIoKAIUQQNraiACKAIcQQh2OgAAIAIoAigoAgggAigCKCgCFEECa2ogAigCHEF/czoAACACKAIoKAIIIAIoAigoAhRBAWtqIAIoAhxBf3NBCHY6AAAgAigCKCgCABAdIAIoAhgEQCACKAIYIAIoAhxLBEAgAiACKAIcNgIYCyACKAIoKAIAKAIMIAIoAigoAjggAigCKCgCXGogAigCGBAaGiACKAIoKAIAIgAgAigCGCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIYazYCECACKAIoKAIAIgAgAigCGCAAKAIUajYCFCACKAIoIgAgAigCGCAAKAJcajYCXCACIAIoAhwgAigCGGs2AhwLIAIoAhwEQCACKAIoKAIAIAIoAigoAgAoAgwgAigCHBBzGiACKAIoKAIAIgAgAigCHCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIcazYCECACKAIoKAIAIgAgAigCHCAAKAIUajYCFAsgAigCEEUNAQsLIAIgAigCDCACKAIoKAIAKAIEazYCDCACKAIMBEACQCACKAIMIAIoAigoAixPBEAgAigCKEECNgKwLSACKAIoKAI4IAIoAigoAgAoAgAgAigCKCgCLGsgAigCKCgCLBAaGiACKAIoIAIoAigoAiw2AmwMAQsgAigCKCgCPCACKAIoKAJsayACKAIMTQRAIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBoaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsLIAIoAigoAjggAigCKCgCbGogAigCKCgCACgCACACKAIMayACKAIMEBoaIAIoAigiACACKAIMIAAoAmxqNgJsCyACKAIoIAIoAigoAmw2AlwgAigCKCIBAn8gAigCDCACKAIoKAIsIAIoAigoArQta0sEQCACKAIoKAIsIAIoAigoArQtawwBCyACKAIMCyABKAK0LWo2ArQtCyACKAIoKALALSACKAIoKAJsSQRAIAIoAiggAigCKCgCbDYCwC0LAkAgAigCEARAIAJBAzYCLAwBCwJAIAIoAiRFDQAgAigCJEEERg0AIAIoAigoAgAoAgQNACACKAIoKAJsIAIoAigoAlxHDQAgAkEBNgIsDAELIAIgAigCKCgCPCACKAIoKAJsa0EBazYCFAJAIAIoAigoAgAoAgQgAigCFE0NACACKAIoKAJcIAIoAigoAixIDQAgAigCKCIAIAAoAlwgAigCKCgCLGs2AlwgAigCKCIAIAAoAmwgAigCKCgCLGs2AmwgAigCKCgCOCACKAIoKAI4IAIoAigoAixqIAIoAigoAmwQGhogAigCKCgCsC1BAkkEQCACKAIoIgAgACgCsC1BAWo2ArAtCyACIAIoAigoAiwgAigCFGo2AhQLIAIoAhQgAigCKCgCACgCBEsEQCACIAIoAigoAgAoAgQ2AhQLIAIoAhQEQCACKAIoKAIAIAIoAigoAjggAigCKCgCbGogAigCFBBzGiACKAIoIgAgAigCFCAAKAJsajYCbAsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCyACIAIoAigoArwtQSpqQQN1NgIUIAICf0H//wMgAigCKCgCDCACKAIUa0H//wNLDQAaIAIoAigoAgwgAigCFGsLNgIUIAICfyACKAIUIAIoAigoAixLBEAgAigCKCgCLAwBCyACKAIUCzYCICACIAIoAigoAmwgAigCKCgCXGs2AhgCQCACKAIYIAIoAiBJBEAgAigCGEUEQCACKAIkQQRHDQILIAIoAiRFDQEgAigCKCgCACgCBA0BIAIoAhggAigCFEsNAQsgAgJ/IAIoAhggAigCFEsEQCACKAIUDAELIAIoAhgLNgIcIAICf0EAIAIoAiRBBEcNABpBACACKAIoKAIAKAIEDQAaIAIoAhwgAigCGEYLQQFxRUU2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBXIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHQsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHQEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIcKAJABEAgASgCCCgCKCAB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A0hCGnxBABAoQQBIBEAgAigCKEEIaiACKAIoKAIAEBggAkF/NgIsDAELIAIgAigCKCgCAEIEIAJBGGogAigCKEEIahBBIgA2AhQgAEUEQCACQX82AiwMAQsgAiACKAIUEB47ARIgAiACKAIUEB47ARAgAigCFBBIQQFxRQRAIAIoAhQQFyACKAIoQQhqQRRBABAVIAJBfzYCLAwBCyACKAIUEBcgAi8BEEEASgRAIAIoAigoAgAgAi8BEq1BARAoQQBIBEAgAigCKEEIakEEQbScASgCABAVIAJBfzYCLAwCCyACQQAgAigCKCgCACACLwEQQQAgAigCKEEIahBgNgIIIAIoAghFBEAgAkF/NgIsDAILIAIoAgggAi8BEEGAAiACQQxqIAIoAihBCGoQhAFBAXFFBEAgAigCCBAWIAJBfzYCLAwCCyACKAIIEBYgAigCDARAIAIgAigCDBCDATYCDCACKAIcKAIAKAI0IAIoAgwQhQEhACACKAIcKAIAIAA2AjQLCyACKAIcKAIAQQE6AAQCQCACKAIcKAIERQ0AIAIoAhwoAgQtAARBAXENACACKAIcKAIEIAIoAhwoAgAoAjQ2AjQgAigCHCgCBEEBOgAECyACQQA2AiwLIAIoAiwhACACQTBqJAAgAAsHACAAKAIAC4wBAQF/IwBBIGsiAiQAIAIgADYCGCACIAE2AhQgAkEANgIQAkAgAigCFEUEQCACQQA2AhwMAQsgAiACKAIUEBk2AgwgAigCDEUEQCACKAIQQQ5BABAVIAJBADYCHAwBCyACKAIMIAIoAhggAigCFBAaGiACIAIoAgw2AhwLIAIoAhwhACACQSBqJAAgAAsYAEGonAFCADcCAEGwnAFBADYCAEGonAELiAEBAX8jAEEgayIDJAAgAyAANgIUIAMgATYCECADIAI3AwgCQAJAIAMoAhQoAiRBAUYEQCADKQMIQv///////////wBYDQELIAMoAhRBDGpBEkEAEBUgA0J/NwMYDAELIAMgAygCFCADKAIQIAMpAwhBCxAiNwMYCyADKQMYIQIgA0EgaiQAIAILcwEBfyMAQSBrIgEkACABIAA2AhggAUIINwMQIAEgASgCGCkDECABKQMQfDcDCAJAIAEpAwggASgCGCkDEFQEQCABKAIYQQA6AAAgAUF/NgIcDAELIAEgASgCGCAB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IAIgADYCSCACIAE2AkQgAkEIaiIAEDwCQCACKAJIIAAQOQRAIwBBEGsiACACKAJINgIMIAIgACgCDEEMajYCBCMAQRBrIgAgAigCBDYCDAJAIAAoAgwoAgBBBUcNACMAQRBrIgAgAigCBDYCDCAAKAIMKAIEQSxHDQAgAkEANgJMDAILIAIoAkQgAigCBBBEIAJBfzYCTAwBCyACQQE2AkwLIAIoAkwhACACQdAAaiQAIAAL6gEBAX8jAEEwayIDJAAgAyAANgIoIAMgATYCJCADIAI2AiAjAEEQayIAIANBCGoiATYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCADIAMoAiggARD7ASIANgIYAkAgAEUEQCADKAIgIANBCGoiABCTASAAEDggA0EANgIsDAELIAMgAygCGCADKAIkIANBCGoQkgEiADYCHCAARQRAIAMoAhgQHCADKAIgIANBCGoiABCTASAAEDggA0EANgIsDAELIANBCGoQOCADIAMoAhw2AiwLIAMoAiwhACADQTBqJAAgAAvIAgEBfyMAQRBrIgEkACABIAA2AgggAUHYABAZNgIEAkAgASgCBEUEQCABKAIIQQ5BABAVIAFBADYCDAwBCyABKAIIEIEDIQAgASgCBCAANgJQIABFBEAgASgCBBAWIAFBADYCDAwBCyABKAIEQQA2AgAgASgCBEEANgIEIwBBEGsiACABKAIEQQhqNgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIAEoAgRBADYCGCABKAIEQQA2AhQgASgCBEEANgIcIAEoAgRBADYCJCABKAIEQQA2AiAgASgCBEEAOgAoIAEoAgRCADcDOCABKAIEQgA3AzAgASgCBEEANgJAIAEoAgRBADYCSCABKAIEQQA2AkQgASgCBEEANgJMIAEoAgRBADYCVCABIAEoAgQ2AgwLIAEoAgwhACABQRBqJAAgAAuBAQEBfyMAQSBrIgIkACACIAA2AhggAkIANwMQIAJCfzcDCCACIAE2AgQCQAJAIAIoAhgEQCACKQMIQn9ZDQELIAIoAgRBEkEAEBUgAkEANgIcDAELIAIgAigCGCACKQMQIAIpAwggAigCBBD/ATYCHAsgAigCHCEAIAJBIGokACAAC80BAQJ/IwBBIGsiASQAIAEgADYCGCAB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CyAAIAFBf2oiAWoiAi0AAEEvRw0ACyACC6kBAQN/AkAgAC0AACICRQ0AA0AgAS0AACIERQRAIAIhAwwCCwJAIAIgBEYNACACQSByIAIgAkG/f2pBGkkbIAEtAAAiAkEgciACIAJBv39qQRpJG0YNACAALQAAIQMMAgsgAUEBaiEBIAAtAAEhAiAAQQFqIQAgAg0ACwsgA0H/AXEiAEEgciAAIABBv39qQRpJGyABLQAAIgBBIHIgACAAQb9/akEaSRtrC+gDAQN/IwBBsAFrIgEkACABIAA2AqgBIAEoAqgBEDgCQAJAIAEoAqgBKAIAQQBOBEAgASgCqAEoAgBBoA4oAgBIDQELIAEgASgCqAEoAgA2AhAgAUEgakG8lwEgAUEQahBvIAFBADYCpAEgASABQSBqNgKgAQwBCyABIAEoAqgBKAIAQQJ0QaANaigCADYCpAECQAJAAkACQCABKAKoASgCAEECdEGwDmooAgBBf2oOAgABAgsgASABKAKoASgCBEGQmgEoAgAQpAI2AqABDAILIwBBEGsiACABKAKoASgCBDYCDCABQQAgACgCDGtBAnRB2NQAaigCADYCoAEMAQsgAUEANgKgAQsLAkAgASgCoAFFBEAgASABKAKkATYCrAEMAQsgASABKAKgARAsAn8gASgCpAEEQCABKAKkARAsQQJqDAELQQALakEBahAZIgA2AhwgAEUEQCABQdgNKAIANgKsAQwBCyABKAIcIQACfyABKAKkAQRAIAEoAqQBDAELQdSXAQshAkHVlwFB1JcBIAEoAqQBGyEDIAEgASgCoAE2AgggASADNgIEIAEgAjYCACAAQc2XASABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAtxAQN/AkACQANAIAAgAkHQiAFqLQAARwRAQdcAIQMgAkEBaiICQdcARw0BDAILCyACIgMNAEGwiQEhAAwBC0GwiQEhAgNAIAItAAAhBCACQQFqIgAhAiAEDQAgACECIANBf2oiAw0ACwsgASgCFBogAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGhogACAAKAIUIAFqNgIUIAILigEBAn8jAEGgAWsiAyQAIANBCGpBuIcBQZABEBoaIAMgADYCNCADIAA2AhwgA0F+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QQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEACwYAQaShAQsGAEGgoQELBgBBmKEBC9kDAgJ/An4jAEEgayICJAACQCABQv///////////wCDIgVCgICAgICAwP9DfCAFQoCAgICAgMCAvH98VARAIAFCBIYgAEI8iIQhBCAAQv//////////D4MiAEKBgICAgICAgAhaBEAgBEKBgICAgICAgMAAfCEEDAILIARCgICAgICAgIBAfSEEIABCgICAgICAgIAIhUIAUg0BIARCAYMgBHwhBAwBCyAAUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIAFCBIYgAEI8iIRC/////////wODQoCAgICAgID8/wCEIQQMAQtCgICAgICAgPj/ACEEIAVC////////v//DAFYNAEIAIQQgBUIwiKciA0GR9wBJDQAgAkEQaiAAIAFC////////P4NCgICAgICAwACEIgQgA0H/iH9qELMCIAIgACAEQYH4ACADaxCyAiACKQMIQgSGIAIpAwAiAEI8iIQhBCACKQMQIAIpAxiEQgBSrSAAQv//////////D4OEIgBCgYCAgICAgIAIWgRAIARCAXwhBAwBCyAAQoCAgICAgICACIVCAFINACAEQgGDIAR8IQQLIAJBIGokACAEIAFCgICAgICAgICAf4OEvwtQAQF+AkAgA0HAAHEEQCACIANBQGqtiCEBQgAhAgwBCyADRQ0AIAJBwAAgA2uthiABIAOtIgSIhCEBIAIgBIghAgsgACABNwMAIAAgAjcDCAtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAuLAgACQCAABH8gAUH/AE0NAQJAQZCaASgCACgCAEUEQCABQYB/cUGAvwNGDQMMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAg8LIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCAfGpB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBA8LC0G0nAFBGTYCAEF/BUEBCw8LIAAgAToAAEEBC74CAQF/IwBBwMAAayIDJAAgAyAANgK4QCADIAE2ArRAIAMgAjcDqEACQCADKAK0QBBJQQBIBEAgAygCuEBBCGogAygCtEAQGCADQX82ArxADAELIANBADYCDCADQgA3AxADQAJAIAMgAygCtEAgA0EgakKAwAAQLyICNwMYIAJCAFcNACADKAK4QCADQSBqIAMpAxgQNkEASARAIANBfzYCDAUgAykDGEKAwABSDQIgAygCuEAoAlRFDQIgAykDqEBCAFcNAiADIAMpAxggAykDEHw3AxAgAygCuEAoAlQgAykDELkgAykDqEC5oxBYDAILCwsgAykDGEIAUwRAIAMoArhAQQhqIAMoArRAEBggA0F/NgIMCyADKAK0QBAyGiADIAMoAgw2ArxACyADKAK8QCEAIANBwMAAaiQAIAALqgEBAX8jAEEwayIDJAAgAyAANgIoIAMgATYCJCADIAI3AxggAyADKAIoKAIAEDUiAjcDEAJAIAJCAFMEQCADQX82AiwMAQsgAyADKAIoIAMoAiQgAykDGBCQAyICNwMAIAJCAFMEQCADQX82AiwMAQsgAyADKAIoKAIAEDUiAjcDCCACQgBTBEAgA0F/NgIsDAELIANBADYCLAsgAygCLCEAIANBMGokACAAC/4BAQF/IwBBoMAAayICJAAgAiAANgKYQCACIAE3A5BAIAIgAikDkEC6OQMAAkADQCACKQOQQEIAVgRAIAICfkKAwAAgAikDkEBCgMAAVg0AGiACKQOQQAs+AgwgAigCmEAoAgAgAkEQaiACKAIMrSACKAKYQEEIahBhQQBIBEAgAkF/NgKcQAwDCyACKAKYQCACQRBqIAIoAgytEDZBAEgEQCACQX82ApxADAMFIAIgAikDkEAgAjUCDH03A5BAIAIoAphAKAJUIAIrAwAgAikDkEC6oSACKwMAoxBYDAILAAsLIAJBADYCnEALIAIoApxAIQAgAkGgwABqJAAgAAvnEQIBfwF+IwBBoAFrIgMkACADIAA2ApgBIAMgATYClAEgAyACNgKQAQJAIAMoApQBIANBOGoQOUEASARAIAMoApgBQQhqIAMoApQBEBggA0F/NgKcAQwBCyADKQM4QsAAg1AEQCADIAMpAzhCwACENwM4IANBADsBaAsCQAJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQsgAy8BaEUNACADKAKQASADLwFoNgIQDAELAkACQCADKAKQASgCEA0AIAMpAzhCBINQDQAgAyADKQM4QgiENwM4IAMgAykDUDcDWAwBCyADIAMpAzhC9////w+DNwM4CwsgAykDOEKAAYNQBEAgAyADKQM4QoABhDcDOCADQQA7AWoLIANBgAI2AiQCQCADKQM4QgSDUARAIAMgAygCJEGACHI2AiQgA0J/NwNwDAELIAMoApABIAMpA1A3AyggAyADKQNQNwNwAkAgAykDOEIIg1AEQAJAAkACQAJAAkACfwJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQtBCAwBCyADKAKQASgCEAtB//8DcQ4NAgMDAwMDAwMBAwMDAAMLIANClMLk8w83AxAMAwsgA0KDg7D/DzcDEAwCCyADQv////8PNwMQDAELIANCADcDEAsgAykDUCADKQMQVgRAIAMgAygCJEGACHI2AiQLDAELIAMoApABIAMpA1g3AyALCyADIAMoApgBKAIAEDUiBDcDiAEgBEIAUwRAIAMoApgBQQhqIAMoApgBKAIAEBggA0F/NgKcAQwBCyADKAKQASIAIAAvAQxB9/8DcTsBDCADIAMoApgBIAMoApABIAMoAiQQXiIANgIoIABBAEgEQCADQX82ApwBDAELIAMgAy8BaAJ/AkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BC0EIDAELIAMoApABKAIQC0H//wNxRzoAIiADIAMtACJBAXEEfyADLwFoQQBHBUEAC0EBcToAISADIAMvAWgEfyADLQAhBUEBC0EBcToAICADIAMtACJBAXEEfyADKAKQASgCEEEARwVBAAtBAXE6AB8gAwJ/QQEgAy0AIkEBcQ0AGkEBIAMoApABKAIAQYABcQ0AGiADKAKQAS8BUiADLwFqRwtBAXE6AB4gAyADLQAeQQFxBH8gAy8BakEARwVBAAtBAXE6AB0gAyADLQAeQQFxBH8gAygCkAEvAVJBAEcFQQALQQFxOgAcIAMgAygClAE2AjQjAEEQayIAIAMoAjQ2AgwgACgCDCIAIAAoAjBBAWo2AjAgAy0AHUEBcQRAIAMgAy8BakEAEHciADYCDCAARQRAIAMoApgBQQhqQRhBABAVIAMoAjQQHCADQX82ApwBDAILIAMgAygCmAEgAygCNCADLwFqQQAgAygCmAEoAhwgAygCDBEGACIANgIwIABFBEAgAygCNBAcIANBfzYCnAEMAgsgAygCNBAcIAMgAygCMDYCNAsgAy0AIUEBcQRAIAMgAygCmAEgAygCNCADLwFoEKsBIgA2AjAgAEUEQCADKAI0EBwgA0F/NgKcAQwCCyADKAI0EBwgAyADKAIwNgI0CyADLQAgQQFxBEAgAyADKAKYASADKAI0QQAQqgEiADYCMCAARQRAIAMoAjQQHCADQX82ApwBDAILIAMoAjQQHCADIAMoAjA2AjQLIAMtAB9BAXEEQCADIAMoApgBIAMoAjQgAygCkAEoAhAgAygCkAEvAVAQwgIiADYCMCAARQRAIAMoAjQQHCADQX82ApwBDAILIAMoAjQQHCADIAMoAjA2AjQLIAMtABxBAXEEQCADQQA2AgQCQCADKAKQASgCVARAIAMgAygCkAEoAlQ2AgQMAQsgAygCmAEoAhwEQCADIAMoApgBKAIcNgIECwsgAyADKAKQAS8BUkEBEHciADYCCCAARQRAIAMoApgBQQhqQRhBABAVIAMoAjQQHCADQX82ApwBDAILIAMgAygCmAEgAygCNCADKAKQAS8BUkEBIAMoAgQgAygCCBEGACIANgIwIABFBEAgAygCNBAcIANBfzYCnAEMAgsgAygCNBAcIAMgAygCMDYCNAsgAyADKAKYASgCABA1IgQ3A4ABIARCAFMEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAyADKAKYASADKAI0IAMpA3AQtQI2AiwgAygCNCADQThqEDlBAEgEQCADKAKYAUEIaiADKAI0EBggA0F/NgIsCyADIAMoAjQQuwIiADoAIyAAQRh0QRh1QQBIBEAgAygCmAFBCGogAygCNBAYIANBfzYCLAsgAygCNBAcIAMoAixBAEgEQCADQX82ApwBDAELIAMgAygCmAEoAgAQNSIENwN4IARCAFMEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAygCmAEoAgAgAykDiAEQqAFBAEgEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAykDOELkAINC5ABSBEAgAygCmAFBCGpBFEEAEBUgA0F/NgKcAQwBCyADKAKQASgCAEEgcUUEQAJAIAMpAzhCEINCAFIEQCADKAKQASADKAJgNgIUDAELIAMoApABQRRqEAEaCwsgAygCkAEgAy8BaDYCECADKAKQASADKAJkNgIYIAMoApABIAMpA1A3AyggAygCkAEgAykDeCADKQOAAX03AyAgAygCkAEgAygCkAEvAQxB+f8DcSADLQAjQQF0cjsBDCADKAKQASADKAIkQYAIcUEARxCKAyADIAMoApgBIAMoApABIAMoAiQQXiIANgIsIABBAEgEQCADQX82ApwBDAELIAMoAiggAygCLEcEQCADKAKYAUEIakEUQQAQFSADQX82ApwBDAELIAMoApgBKAIAIAMpA3gQqAFBAEgEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgA0EANgKcAQsgAygCnAEhACADQaABaiQAIAALrwIBAX8jAEEgayICIAA2AhwgAiABNgIYIAJBADYCFCACQgA3AwACQCACKAIcLQAoQQFxRQRAIAIoAhwoAhggAigCHCgCFEYNAQsgAkEBNgIUCyACQgA3AwgDQCACKQMIIAIoAhwpAzBUBEACQAJAIAIoAhwoAkAgAikDCKdBBHRqKAIIDQAgAigCHCgCQCACKQMIp0EEdGotAAxBAXENACACKAIcKAJAIAIpAwinQQR0aigCBEUNASACKAIcKAJAIAIpAwinQQR0aigCBCgCAEUNAQsgAkEBNgIUCyACKAIcKAJAIAIpAwinQQR0ai0ADEEBcUUEQCACIAIpAwBCAXw3AwALIAIgAikDCEIBfDcDCAwBCwsgAigCGARAIAIoAhggAikDADcDAAsgAigCFAuMEAMCfwF+AXwjAEHgAGsiASQAIAEgADYCWAJAIAEoAlhFBEAgAUF/NgJcDAELIAEgASgCWCABQUBrELkCNgIkIAEpA0BQBEACQCABKAJYKAIEQQhxRQRAIAEoAiRFDQELIAEoAlgoAgAQhAJBAEgEQAJAAn8jAEEQayICIAEoAlgoAgA2AgwjAEEQayIAIAIoAgxBDGo2AgwgACgCDCgCAEEWRgsEQCMAQRBrIgIgASgC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NgI8IAEoAlAgASgCODYCQCABKAJYIAEoAjAQ1gIgASABKAJYKAIMNgJIIAEgASgCWCgCEDYCQCABIAEoAlgoAgA2AkwgASABKAJYKAIENgJEIAEgASgCUCgCPDYCPCABIAEoAlAoAkA2AjggASgCUCgCBEG//gBGBEAgASgCUEF/NgLINwsMDQsgASgCUEEANgLINwNAAkAgASABKAJQKAJQIAEoAjxBASABKAJQKAJYdEEBa3FBAnRqKAEANgEgIAEtACEgASgCOE0NACABKAJERQ0NIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCwJAIAEtACBFDQAgAS0AIEHwAXENACABIAEoASA2ARgDQAJAIAEgASgCUCgCUCABLwEaIAEoAjxBASABLQAZIAEtABhqdEEBa3EgAS0AGXZqQQJ0aigBADYBICABLQAZIAEtACFqIAEoAjhNDQAgASgCREUNDiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtABl2NgI8IAEgASgCOCABLQAZazYCOCABKAJQIgAgAS0AGSAAKALIN2o2Asg3CyABIAEoAjwgAS0AIXY2AjwgASABKAI4IAEtACFrNgI4IAEoAlAiACABLQAhIAAoAsg3ajYCyDcgASgCUCABLwEiNgJEIAEtACBFBEAgASgCUEHN/gA2AgQMDQsgAS0AIEEgcQRAIAEoAlBBfzYCyDcgASgCUEG//gA2AgQMDQsgAS0AIEHAAHEEQCABKAJYQYfxADYCGCABKAJQQdH+ADYCBAwNCyABKAJQIAEtACBBD3E2AkwgASgCUEHJ/gA2AgQLIAEoAlAoAkwEQANAIAEoAjggASgCUCgCTEkEQCABKAJERQ0NIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIgAgACgCRCABKAI8QQEgASgCUCgCTHRBAWtxajYCRCABIAEoAjwgASgCUCgCTHY2AjwgASABKAI4IAEoAlAoAkxrNgI4IAEoAlAiACAB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KAIMSQRAIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AiggAigCKCACKAIMSQRAIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLCyACIAIoAgQgAigCLEEBIAIoAgx0QQFrcWo2AgQgAiACKAIsIAIoAgx2NgIsIAIgAigCKCACKAIMazYCKCACIAIoAkggAigCRGs2AgwCQCACKAIEIAIoAgxLBEAgAiACKAIEIAIoAgxrNgIMIAIoAgwgAigCOEsEQCACKAJUKALENwRAIAIoAlxBsO0ANgIYIAIoAlRB0f4ANgIEDAoLCyACIAIoAjA2AgACQCACKAI0RQRAIAIgAigCACACKAI8IAIoAgxrajYCACACKAIMIAIoAghJBEAgAiACKAIIIAIoAgxrNgIIA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgxBf2oiADYCDCAADQALIAIgAigCSCACKAIEazYCAAsMAQsCQCACKAI0IAIoAgxJBEAgAiACKAIAIAIoAjwgAigCNGogAigCDGtqNgIAIAIgAigCDCACKAI0azYCDCACKAIMIAIoAghJBEAgAiACKAIIIAIoAgxrNgIIA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgxBf2oiADYCDCAADQALIAIgAigCMDYCACACKAI0IAIoAghJBEAgAiACKAI0NgIMIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALCwwBCyACIAIoAgAgAigCNCACKAIMa2o2AgAgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALCwsDQCACKAIIQQJNRQRAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCCEEDazYCCAwBCwsMAQsgAiACKAJIIAIoAgRrNgIAA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIIQQNrNgIIIAIoAghBAksNAAsLIAIoAggEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIoAghBAUsEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAACwsMAgsgAigCDEHAAHFFBEAgAkEQaiACKAIgIAIvARIgAigCLEEBIAIoAgx0QQFrcWpBAnRqKAEANgEADAELCyACKAJcQc7tADYCGCACKAJUQdH+ADYCBAwECwwCCyACKAIMQcAAcUUEQCACQRBqIAIoAiQgAi8BEiACKAIsQQEgAigCDHRBAWtxakECdGooAQA2AQAMAQsLIAIoAgxBIHEEQCACKAJUQb/+ADYCBAwCCyACKAJcQeTtADYCGCACKAJUQdH+ADYCBAwBC0EAIQAgAigCUCACKAJMSQR/IAIoAkggAigCQEkFQQALQQFxDQELCyACIAIoAihBA3Y2AgggAiACKAJQIAIoAghrNgJQIAIgAigCKCACKAIIQQN0azYCKCACIAIoAixBASACKAIodEEBa3E2AiwgAigCXCACKAJQNgIAIAIoAlwgAigCSDYCDCACKAJcAn8gAigCUCACKAJMSQRAIAIoAkwgAigCUGtBBWoMAQtBBSACKAJQIAIoAkxraws2AgQgAigCXAJ/IAIoAkggAigCQEkEQCACKAJAIAIoAkhrQYECagwBC0GBAiACKAJIIAIoAkBraws2AhAgAigCVCACKAIsNgI8IAIoAlQgAigCKDYCQAvBEAECfyMAQSBrIgIkACACIAA2AhggAiABNgIUAkADQAJAIAIoAhgoAnRBhgJJBEAgAigCGBBWAkAgAigCGCgCdEGGAk8NACACKAIUDQAgAkEANgIcDAQLIAIoAhgoAnRFDQELIAJBADYCECACKAIYKAJ0QQNPBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsgAigCGCACKAIYKAJgNgJ4IAIoAhggAigCGCgCcDYCZCACKAIYQQI2AmACQCACKAIQRQ0AIAIoAhgoAnggAigCGCgCgAFPDQAgAigCGCgCbCACKAIQayACKAIYKAIsQYYCa0sNACACKAIYIAIoAhAQsAEhACACKAIYIAA2AmACQCACKAIYKAJgQQVLDQAgAigCGCgCiAFBAUcEQCACKAIYKAJgQQNHDQEgAigCGCgCbCACKAIYKAJwa0GAIE0NAQsgAigCGEECNgJgCwsCQAJAIAIoAhgoAnhBA0kNACACKAIYKAJgIAIoAhgoAnhLDQAgAiACKAIYIgAoAmwgACgCdGpBfWo2AgggAiACKAIYKAJ4QX1qOgAHIAIgAigCGCIAKAJsIAAoAmRBf3NqOwEEIAIoAhgiACgCpC0gACgCoC1BAXRqIAIvAQQ7AQAgAi0AByEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACIAIvAQRBf2o7AQQgAigCGCACLQAHQYDZAGotAABBAnRqQZgJaiIAIAAvAQBBAWo7AQAgAigCGEGIE2oCfyACLwEEQYACSARAIAIvAQQtAIBVDAELIAIvAQRBB3VBgAJqLQCAVQtBAnRqIgAgAC8BAEEBajsBACACIAIoAhgoAqAtIAIoAhgoApwtQQFrRjYCDCACKAIYIgAgACgCdCACKAIYKAJ4QQFrazYCdCACKAIYIgAgACgCeEECazYCeANAIAIoAhgiASgCbEEBaiEAIAEgADYCbCAAIAIoAghNBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsgAigCGCIBKAJ4QX9qIQAgASAANgJ4IAANAAsgAigCGEEANgJoIAIoAhhBAjYCYCACKAIYIgAgACgCbEEBajYCbCACKAIMBEAgAigCGAJ/IAIoAhgoAlxBAE4EQCACKAIYKAI4IAIoAhgoAlxqDAELQQALIAIoAhgoAmwgAigCGCgCXGtBABApIAIoAhggAigCGCgCbDYCXCACKAIYKAIAEB0gAigCGCgCACgCEEUEQCACQQA2AhwMBgsLDAELAkAgAigCGCgCaARAIAIgAigCGCIAKAI4IAAoAmxqQX9qLQAAOgADIAIoAhgiACgCpC0gACgCoC1BAXRqQQA7AQAgAi0AAyEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACKAIYIAItAANBAnRqIgAgAC8BlAFBAWo7AZQBIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAgwEQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EAECkgAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHQsgAigCGCIAIAAoAmxBAWo2AmwgAigCGCIAIAAoAnRBf2o2AnQgAigCGCgCACgCEEUEQCACQQA2AhwMBgsMAQsgAigCGEEBNgJoIAIoAhgiACAAKAJsQQFqNgJsIAIoAhgiACAAKAJ0QX9qNgJ0CwsMAQsLIAIoAhgoAmgEQCACIAIoAhgiACgCOCAAKAJsakF/ai0AADoAAiACKAIYIgAoAqQtIAAoAqAtQQF0akEAOwEAIAItAAIhASACKAIYIgAoApgtIQMgACAAKAKgLSIAQQFqNgKgLSAAIANqIAE6AAAgAigCGCACLQACQQJ0aiIAIAAvAZQBQQFqOwGUASACIAIoAhgoAqAtIAIoAhgoApwtQQFrRjYCDCACKAIYQQA2AmgLIAIoAhgCfyACKAIYKAJsQQJJBEAgAigCGCgCbAwBC0ECCzYCtC0gAigCFEEERgRAIAIoAhgCfyACKAIYKAJcQQBOBEAgAigCGCgCOCACKAIYKAJcagwBC0EACyACKAIYKAJsIAIoAhgoAlxrQQEQKSACKAIYIAIoAhgoAmw2AlwgAigCGCgCABAdIAIoAhgoAgAoAhBFBEAgAkECNgIcDAILIAJBAzYCHAwBCyACKAIYKAKgLQRAIAIoAhgCfyACKAIYKAJcQQBOBEAgAigCGCgCOCACKAIYKAJcagwBC0EACyACKAIYKAJsIAIoAhgoAlxrQQAQKSACKAIYIAIoAhgoAmw2AlwgAigCGCgCABAdIAIoAhgoAgAoAhBFBEAgAkEANgIcDAILCyACQQE2AhwLIAIoAhwhACACQSBqJAAgAAuVDQECfyMAQSBrIgIkACACIAA2AhggAiABNgIUAkADQAJAIAIoAhgoAnRBhgJJBEAgAigCGBBWAkAgAigCGCgCdEGGAk8NACACKAIUDQAgAkEANgIcDAQLIAIoAhgoAnRFDQELIAJBADYCECACKAIYKAJ0QQNPBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsCQCACKAIQRQ0AIAIoAhgoAmwgAigCEGsgAigCGCgCLEGGAmtLDQAgAigCGCACKAIQELABIQAgAigCGCAANgJgCwJAIAIoAhgoAmBBA08EQCACIAIoAhgoAmBBfWo6AAsgAiACKAIYIgAoAmwgACgCcGs7AQggAigCGCIAKAKkLSAAKAKgLUEBdGogAi8BCDsBACACLQALIQEgAigCGCIAKAKYLSEDIAAgACgCoC0iAEEBajYCoC0gACADaiABOgAAIAIgAi8BCEF/ajsBCCACKAIYIAItAAtBgNkAai0AAEECdGpBmAlqIgAgAC8BAEEBajsBACACKAIYQYgTagJ/IAIvAQhBgAJIBEAgAi8BCC0AgFUMAQsgAi8BCEEHdUGAAmotAIBVC0ECdGoiACAALwEAQQFqOwEAIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAhgiACAAKAJ0IAIoAhgoAmBrNgJ0AkACQCACKAIYKAJgIAIoAhgoAoABSw0AIAIoAhgoAnRBA0kNACACKAIYIgAgACgCYEF/ajYCYANAIAIoAhgiACAAKAJsQQFqNgJsIAIoAhggAigCGCgCVCACKAIYKAI4IAIoAhgoAmxBAmpqLQAAIAIoAhgoAkggAigCGCgCWHRzcTYCSCACKAIYKAJAIAIoAhgoAmwgAigCGCgCNHFBAXRqIAIoAhgoAkQgAigCGCgCSEEBdGovAQAiADsBACACIABB//8DcTYCECACKAIYKAJEIAIoAhgoAkhBAXRqIAIoAhgoAmw7AQAgAigCGCIBKAJgQX9qIQAgASAANgJgIAANAAsgAigCGCIAIAAoAmxBAWo2AmwMAQsgAigCGCIAIAIoAhgoAmAgACgCbGo2AmwgAigCGEEANgJgIAIoAhggAigCGCgCOCACKAIYKAJsai0AADYCSCACKAIYIAIoAhgoAlQgAigCGCgCOCACKAIYKAJsQQFqai0AACACKAIYKAJIIAIoAhgoAlh0c3E2AkgLDAELIAIgAigCGCIAKAI4IAAoAmxqLQAAOgAHIAIoAhgiACgCpC0gACgCoC1BAXRqQQA7AQAgAi0AByEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACKAIYIAItAAdBAnRqIgAgAC8BlAFBAWo7AZQBIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAhgiACAAKAJ0QX9qNgJ0IAIoAhgiACAAKAJsQQFqNgJsCyACKAIMBEAgAigCGAJ/IAIoAhgoAlxBAE4EQCACKAIYKAI4IAIoAhgoAlxqDAELQQALIAIoAhgoAmwgAigCGCgCXGtBABApIAIoAhggAigCGCgCbDYCXCACKAIYKAIAEB0gAigCGCgCACgCEEUEQCACQQA2AhwMBAsLDAELCyACKAIYAn8gAigCGCgCbEECSQRAIAIoAhgoAmwMAQtBAgs2ArQtIAIoAhRBBEYEQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EBECkgAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHSACKAIYKAIAKAIQRQRAIAJBAjYCHAwCCyACQQM2AhwMAQsgAigCGCgCoC0EQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EAECkgAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHSACKAIYKAIAKAIQRQRAIAJBADYCHAwCCwsgAkEBNgIcCyACKAIcIQAgAkEgaiQAIAALuwwBAn8jAEEwayICJAAgAiAANgIoIAIgATYCJAJAA0ACQCACKAIoKAJ0QYICTQRAIAIoAigQVgJAIAIoAigoAnRBggJLDQAgAigCJA0AIAJBADYCLAwECyACKAIoKAJ0RQ0BCyACKAIoQQA2AmACQCACKAIoKAJ0QQNJDQAgAigCKCgCbEEATQ0AIAIgAigCKCgCOCACKAIoKAJsakF/ajYCGCACIAIoAhgtAAA2AhwgAigCHCEAIAIgAigCGCIBQQFqNgIYAkAgAS0AASAARw0AIAIoAhwhACACIAIoAhgiAUEBajYCGCABLQABIABHDQAgAigCHCEAIAIgAigCGCIBQQFqNgIYIAEtAAEgAEcNACACIAIoAigoAjggAigCKCgCbGpBggJqNgIUA0AgAigCHCEBIAIgAigCGCIDQQFqNgIYAn9BACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCGCACKAIUSQtBAXENAAsgAigCKEGCAiACKAIUIAIoAhhrazYCYCACKAIoKAJgIAIoAigoAnRLBEAgAigCKCACKAIoKAJ0NgJgCwsLAkAgAigCKCgCYEEDTwRAIAIgAigCKCgCYEF9ajoAEyACQQE7ARAgAigCKCIAKAKkLSAAKAKgLUEBdGogAi8BEDsBACACLQATIQEgAigCKCIAKAKYLSEDIAAgACgCoC0iAEEBajYCoC0gACADaiABOgAAIAIgAi8BEEF/ajsBECACKAIoIAItABNBgNkAai0AAEECdGpBmAlqIgAgAC8BAEEBajsBACACKAIoQYgTagJ/IAIvARBBgAJIBEAgAi8BEC0AgFUMAQsgAi8BEEEHdUGAAmotAIBVC0ECdGoiACAALwEAQQFqOwEAIAIgAigCKCgCoC0gAigCKCgCnC1BAWtGNgIgIAIoAigiACAAKAJ0IAIoAigoAmBrNgJ0IAIoAigiACACKAIoKAJgIAAoAmxqNgJsIAIoAihBADYCYAwBCyACIAIoAigiACgCOCAAKAJsai0AADoADyACKAIoIgAoAqQtIAAoAqAtQQF0akEAOwEAIAItAA8hASACKAIoIgAoApgtIQMgACAAKAKgLSIAQQFqNgKgLSAAIANqIAE6AAAgAigCKCACLQAPQQJ0aiIAIAAvAZQBQQFqOwGUASACIAIoAigoAqAtIAIoAigoApwtQQFrRjYCICACKAIoIgAgACgCdEF/ajYCdCACKAIoIgAgACgCbEEBajYCbAsgAigCIARAIAIoAigCfyACKAIoKAJcQQBOBEAgAigCKCgCOCACKAIoKAJcagwBC0EACyACKAIoKAJsIAIoAigoAlxrQQAQKSACKAIoIAIoAigoAmw2AlwgAigCKCgCABAdIAIoAigoAgAoAhBFBEAgAkEANgIsDAQLCwwBCwsgAigCKEEANgK0LSACKAIkQQRGBEAgAigCKAJ/IAIoAigoAlxBAE4EQCACKAIoKAI4IAIoAigoAlxqDAELQQALIAIoAigoAmwgAigCKCgCXGtBARApIAIoAiggAigCKCgCbDYCXCACKAIoKAIAEB0gAigCKCgCACgCEEUEQCACQQI2AiwMAgsgAkEDNgIsDAELIAIoAigoAqAtBEAgAigCKAJ/IAIoAigoAlxBAE4EQCACKAIoKAI4IAIoAigoAlxqDAELQQALIAIoAigoAmwgAigCKCgCXGtBABApIAIoAiggAigCKCgCbDYCXCACKAIoKAIAEB0gAigCKCgCACgCEEUEQCACQQA2AiwMAgsLIAJBATYCLAsgAigCLCEAIAJBMGokACAAC8AFAQJ/IwBBIGsiAiQA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AgQgAkEANgIQA0AgAigCEEEPSkUEQCACKAI8QbwWaiACKAIQQQF0akEAOwEAIAIgAigCEEEBajYCEAwBCwsgAigCNCACKAI8QdwWaiACKAI8KALUKEECdGooAgBBAnRqQQA7AQIgAiACKAI8KALUKEEBajYCHANAIAIoAhxBvQRIBEAgAiACKAI8QdwWaiACKAIcQQJ0aigCADYCGCACIAIoAjQgAigCNCACKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgAigCECACKAIgSgRAIAIgAigCIDYCECACIAIoAgRBAWo2AgQLIAIoAjQgAigCGEECdGogAigCEDsBAiACKAIYIAIoAjBMBEAgAigCPCACKAIQQQF0akG8FmoiACAALwEAQQFqOwEAIAJBADYCDCACKAIYIAIoAiROBEAgAiACKAIoIAIoAhggAigCJGtBAnRqKAIANgIMCyACIAIoAjQgAigCGEECdGovAQA7AQogAigCPCIAIAAoAqgtIAIvAQogAigCECACKAIMamxqNgKoLSACKAIsBEAgAigCPCIAIAAoAqwtIAIvAQogAigCLCACKAIYQQJ0ai8BAiACKAIMamxqNgKsLQsLIAIgAigCHEEBajYCHAwBCwsCQCACKAIERQ0AA0AgAiACKAIgQQFrNgIQA0AgAigCPEG8FmogAigCEEEBdGovAQBFBEAgAiACKAIQQX9qNgIQDAELCyACKAI8IAIoAhBBAXRqQbwWaiIAIAAvAQBBf2o7AQAgAigCPCACKAIQQQF0akG+FmoiACAALwEAQQJqOwEAIAIoAjwgAigCIEEBdGpBvBZqIgAgAC8BAEF/ajsBACACIAIoAgRBAms2AgQgAigCBEEASg0ACyACIAIoAiA2AhADQCACKAIQRQ0BIAIgAigCPEG8FmogAigCEEEBdGovAQA2AhgDQCACKAIYBEAgAigCPEHcFmohACACIAIoAhxBf2oiATYCHCACIAFBAnQgAGooAgA2AhQgAigCFCACKAIwSg0BIAIoAjQgAigCFEECdGovAQIgAigCEEcEQCACKAI8IgAgACgCqC0gAigCNCACKAIUQQJ0ai8BACACKAIQIAIoAjQgAigCFEECdGovAQJrbGo2AqgtIAIoAjQgAigCFEECdGogAigCEDsBAgsgAiACKAIYQX9qNgIYDAELCyACIAIo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KAIMIAEoAgxB/BRqNgKwFiABKAIMQajbADYCuBYgASgCDEEAOwG4LSABKAIMQQA2ArwtIAEoAgwQuQEgAUEQaiQAC9cNAQF/IwBBIGsiAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYQRB2NgIMIAMgAygCGEH//wNxNgIYAkAgAygCEEEBRgRAIAMgAygCFC0AACADKAIYajYCGCADKAIYQfH/A08EQCADIAMoAhhB8f8DazYCGAsgAyADKAIYIAMoAgxqNgIMIAMoAgxB8f8DTwRAIAMgAygCDEHx/wNrNgIMCyADIAMoAhggAygCDEEQdHI2AhwMAQsgAygCFEUEQCADQQE2AhwMAQsgAygCEEEQSQRAA0AgAyADKAIQIgBBf2o2AhAgAARAIAMgAygCFCIAQQFqNgIUIAMgAC0AACADKAIYajYCGCADIAMoAhggAygCDGo2AgwMAQsLIAMoAhhB8f8DTwRAIAMgAygCGEHx/wNrNgIYCyADIAMoAgxB8f8DcDYCDCADIAMoAhggAygCDEEQdHI2AhwMAQsDQCADKAIQQbArSUUEQCADIAMoAhBBsCtrNgIQIANB2wI2AggDQCADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFCADIAMoAghBf2oiADYCCCAADQALIAMgAygCGEHx/wNwNgIYIAMgAygCDEHx/wNwNgIMDAELCyADKAIQBEADQCADKAIQQRBJRQRAIAMgAygCEEEQazYCECADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFAwBCwsDQCADIAMoAhAiAEF/ajYCECAABEAgAyADKAIUIgBBAWo2AhQgAyAALQAAIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDAwBCwsgAyADKAIYQfH/A3A2AhggAyADKAIMQfH/A3A2AgwLIAMgAygC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KAIEDAELIAMoAgwoAgALQYAEEF4iADYCECAAQQBIBEAgA0J/NwO4AQwDCyADKAIQBEAgA0EBOgAXCyADIAMpAxhCAXw3AxgMAQsLIAMgAygCtAEoAgAQNSICNwMgIAJCAFMEQCADKAK0AUEIaiADKAK0ASgCABAYIANCfzcDuAEMAQsgAyADKQMgIAMpA6ABfTcDmAECQCADKQOgAUL/////D1gEQCADKQOoAUL//wNYDQELIANBAToAFwsgAyADQTBqQuIAECoiADYCLCAARQRAIAMoArQBQQhqQQ5BABAVIANCfzcDuAEMAQsgAy0AF0EBcQRAIAMoAixBttMAQQQQQCADKAIsQiwQLiADKAIsQS0QICADKAIsQS0QICADKAIsQQAQISADKAIsQQAQISADKAIsIAMpA6gBEC4gAygCLCADKQOoARAuIAMoAiwgAykDmAEQLiADKAIsIAMpA6ABEC4gAygCLEG70wBBBBBAIAMoAixBABAhIAMoAiwgAykDoAEgAykDmAF8EC4gAygCLEEBECELIAMoAixBwNMAQQQQQCADKAIsQQAQISADKAIsAn5C//8DIAMpA6gBQv//A1oNABogAykDqAELp0H//wNxECAgAygCLAJ+Qv//AyADKQOoAUL//wNaDQAaIAMpA6gBC6dB//8DcRAgIAMoAiwCf0F/IAMpA5gBQv////8PWg0AGiADKQOYAacLECEgAygCLAJ/QX8gAykDoAFC/////w9aDQAaIAMpA6ABpwsQISADAn8gAygCtAEtAChBAXEEQCADKAK0ASgCJAwBCyADKAK0ASgCIAs2ApQBIAMoAiwCfyADKAKUAQRAIAMoApQBLwEEDAELQQALQf//A3EQIAJ/IwBBEGsiACADKAIsNgIMIAAoAgwtAABBAXFFCwRAIAMoArQBQQhqQRRBABAVIAMoAiwQFyADQn83A7gBDAELIAMoArQBAn8jAEEQayIAIAMoAiw2AgwgACgCDCgCBAsCfiMAQRBrIgAgAygCLDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCLBAXIANCfzcDuAEMAQsgAygCLBAXIAMoApQBBEAgAygCtAEgAygClAEoAgAgAygClAEvAQStEDZBAEgEQCADQn83A7gBDAILCyADIAMpA5gBNwO4AQsgAykDuAEhAiADQcABaiQAIAILBwAgACgCIAsIAEEBQTgQewsDAAELC/KNAScAQYAIC5QFTm8gZXJyb3IATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQAQ2xvc2luZyB6aXAgYXJjaGl2ZSBmYWlsZWQAU2VlayBlcnJvcgBSZWFkIGVycm9yAFdyaXRlIGVycm9yAENSQyBlcnJvcgBDb250YWluaW5nIHppcCBhcmNoaXZlIHdhcyBjbG9zZWQATm8gc3VjaCBmaWxlAEZpbGUgYWxyZWFkeSBleGlzdHMAQ2FuJ3Qgb3BlbiBmaWxlAEZhaWx1cmUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlAFpsaWIgZXJyb3IATWFsbG9jIGZhaWx1cmUARW50cnkgaGFzIGJlZW4gY2hhbmdlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABQcmVtYXR1cmUgZW5kIG9mIGZpbGUASW52YWxpZCBhcmd1bWVudABOb3QgYSB6aXAgYXJjaGl2ZQBJbnRlcm5hbCBlcnJvcgBaaXAgYXJjaGl2ZSBpbmNvbnNpc3RlbnQAQ2FuJ3QgcmVtb3ZlIGZpbGUARW50cnkgaGFzIGJlZW4gZGVsZXRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAFJlYWQtb25seSBhcmNoaXZlAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkAFJlc291cmNlIHN0aWxsIGluIHVzZQBUZWxsIGVycm9yAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAEGhDQuAAQQAAAkEAAAvBAAATgQAAGkEAAB0BAAAfwQAAIsEAACVBAAAtwQAAMQEAADYBAAA6AQAAAkFAAAUBQAAIwUAADoFAABbBQAAcQUAAIIFAACUBQAAowUAALwFAADOBQAA5QUAAAUGAAAXBgAALAYAAEQGAABcBgAAcgYAAH0GAAAgAEG4DgsRAQAAAAEAAAABAAAAAQAAAAEAQdwOCwkBAAAAAQAAAAIAQYgPCwEBAEGoDwsB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CAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkAvwEJAH8ACQB/AQkA/wAJAP8BCQAAAAcAQAAHACAABwBgAAcAEAAHAFAABwAwAAcAcAAHAAgA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cnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAFVua25vd24gZXJyb3IgJWQAJXMlcyVzAAA6IAAvcHJvYy9zZWxmL2ZkLwAvZGV2L3VyYW5kb20AcndhACVzLlhYWFhYWAByK2IAcmIAUEsFBgBBkJgBC04KAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAAQAAAAgAAAAQTAAAMEwAQZCaAQsCgFAAQciaAQsJHwAAAGRNAAADAEHkmgELjAEt9FFYz4yxwEb2tcspMQPHBFtwMLRd/SB4f4ua2FkpUGhIiaunVgNs/7fNiD/Ud7QrpaNw8brkqPxBg/3Zb+GKei8tdJYHHw0JXgN2LHD3QKUsp29XQaiqdN+gWGQDSsfEPFOur18YBBWx420ohqsMpL9D8OlQgTlXFlI3/////////////////////w==";
+if (!isDataURI(wasmBinaryFile)) {
+ wasmBinaryFile = locateFile(wasmBinaryFile);
+}
+function getBinary() {
+ try {
+ if (wasmBinary) {
+ return new Uint8Array(wasmBinary);
+ }
+ var binary = tryParseAsDataURI(wasmBinaryFile);
+ if (binary) {
+ return binary;
+ }
+ if (readBinary) {
+ return readBinary(wasmBinaryFile);
+ } else {
+ throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";
+ }
+ } catch (err) {
+ abort(err);
+ }
+}
+function createWasm() {
+ var info = { a: asmLibraryArg };
+ function receiveInstance(instance, module) {
+ var exports = instance.exports;
+ Module["asm"] = exports;
+ removeRunDependency("wasm-instantiate");
+ }
+ addRunDependency("wasm-instantiate");
+ function instantiateSync() {
+ var instance;
+ var module;
+ var binary;
+ try {
+ binary = getBinary();
+ module = new WebAssembly.Module(binary);
+ instance = new WebAssembly.Instance(module, info);
+ } catch (e) {
+ var str = e.toString();
+ err("failed to compile wasm module: " + str);
+ if (
+ str.indexOf("imported Memory") >= 0 ||
+ str.indexOf("memory import") >= 0
+ ) {
+ err(
+ "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."
+ );
+ }
+ throw e;
+ }
+ receiveInstance(instance, module);
+ }
+ if (Module["instantiateWasm"]) {
+ try {
+ var exports = Module["instantiateWasm"](info, receiveInstance);
+ return exports;
+ } catch (e) {
+ err("Module.instantiateWasm callback failed with error: " + e);
+ return false;
+ }
+ }
+ instantiateSync();
+ return Module["asm"];
+}
+var tempDouble;
+var tempI64;
+__ATINIT__.push({
+ func: function() {
+ ___wasm_call_ctors();
+ }
+});
+function callRuntimeCallbacks(callbacks) {
+ while (callbacks.length > 0) {
+ var callback = callbacks.shift();
+ if (typeof callback == "function") {
+ callback(Module);
+ continue;
+ }
+ var func = callback.func;
+ if (typeof func === "number") {
+ if (callback.arg === undefined) {
+ wasmTable.get(func)();
+ } else {
+ wasmTable.get(func)(callback.arg);
+ }
+ } else {
+ func(callback.arg === undefined ? null : callback.arg);
+ }
+ }
+}
+function demangle(func) {
+ return func;
+}
+function demangleAll(text) {
+ var regex = /\b_Z[\w\d_]+/g;
+ return text.replace(regex, function(x) {
+ var y = demangle(x);
+ return x === y ? x : y + " [" + x + "]";
+ });
+}
+function jsStackTrace() {
+ var error = new Error();
+ if (!error.stack) {
+ try {
+ throw new Error();
+ } catch (e) {
+ error = e;
+ }
+ if (!error.stack) {
+ return "(no stack trace available)";
+ }
+ }
+ return error.stack.toString();
+}
+function stackTrace() {
+ var js = jsStackTrace();
+ if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"]();
+ return demangleAll(js);
+}
+function _gmtime_r(time, tmPtr) {
+ var date = new Date(HEAP32[time >> 2] * 1e3);
+ HEAP32[tmPtr >> 2] = date.getUTCSeconds();
+ HEAP32[(tmPtr + 4) >> 2] = date.getUTCMinutes();
+ HEAP32[(tmPtr + 8) >> 2] = date.getUTCHours();
+ HEAP32[(tmPtr + 12) >> 2] = date.getUTCDate();
+ HEAP32[(tmPtr + 16) >> 2] = date.getUTCMonth();
+ HEAP32[(tmPtr + 20) >> 2] = date.getUTCFullYear() - 1900;
+ HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay();
+ HEAP32[(tmPtr + 36) >> 2] = 0;
+ HEAP32[(tmPtr + 32) >> 2] = 0;
+ var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
+ var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0;
+ HEAP32[(tmPtr + 28) >> 2] = yday;
+ if (!_gmtime_r.GMTString) _gmtime_r.GMTString = allocateUTF8("GMT");
+ HEAP32[(tmPtr + 40) >> 2] = _gmtime_r.GMTString;
+ return tmPtr;
+}
+function ___gmtime_r(a0, a1) {
+ return _gmtime_r(a0, a1);
+}
+var PATH = {
+ splitPath: function(filename) {
+ var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
+ return splitPathRe.exec(filename).slice(1);
+ },
+ normalizeArray: function(parts, allowAboveRoot) {
+ var up = 0;
+ for (var i = parts.length - 1; i >= 0; i--) {
+ var last = parts[i];
+ if (last === ".") {
+ parts.splice(i, 1);
+ } else if (last === "..") {
+ parts.splice(i, 1);
+ up++;
+ } else if (up) {
+ parts.splice(i, 1);
+ up--;
+ }
+ }
+ if (allowAboveRoot) {
+ for (; up; up--) {
+ parts.unshift("..");
+ }
+ }
+ return parts;
+ },
+ normalize: function(path) {
+ var isAbsolute = path.charAt(0) === "/",
+ trailingSlash = path.substr(-1) === "/";
+ path = PATH.normalizeArray(
+ path.split("/").filter(function(p) {
+ return !!p;
+ }),
+ !isAbsolute
+ ).join("/");
+ if (!path && !isAbsolute) {
+ path = ".";
+ }
+ if (path && trailingSlash) {
+ path += "/";
+ }
+ return (isAbsolute ? "/" : "") + path;
+ },
+ dirname: function(path) {
+ var result = PATH.splitPath(path),
+ root = result[0],
+ dir = result[1];
+ if (!root && !dir) {
+ return ".";
+ }
+ if (dir) {
+ dir = dir.substr(0, dir.length - 1);
+ }
+ return root + dir;
+ },
+ basename: function(path) {
+ if (path === "/") return "/";
+ path = PATH.normalize(path);
+ path = path.replace(/\/$/, "");
+ var lastSlash = path.lastIndexOf("/");
+ if (lastSlash === -1) return path;
+ return path.substr(lastSlash + 1);
+ },
+ extname: function(path) {
+ return PATH.splitPath(path)[3];
+ },
+ join: function() {
+ var paths = Array.prototype.slice.call(arguments, 0);
+ return PATH.normalize(paths.join("/"));
+ },
+ join2: function(l, r) {
+ return PATH.normalize(l + "/" + r);
+ }
+};
+function setErrNo(value) {
+ HEAP32[___errno_location() >> 2] = value;
+ return value;
+}
+var PATH_FS = {
+ resolve: function() {
+ var resolvedPath = "",
+ resolvedAbsolute = false;
+ for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
+ var path = i >= 0 ? arguments[i] : FS.cwd();
+ if (typeof path !== "string") {
+ throw new TypeError("Arguments to path.resolve must be strings");
+ } else if (!path) {
+ return "";
+ }
+ resolvedPath = path + "/" + resolvedPath;
+ resolvedAbsolute = path.charAt(0) === "/";
+ }
+ resolvedPath = PATH.normalizeArray(
+ resolvedPath.split("/").filter(function(p) {
+ return !!p;
+ }),
+ !resolvedAbsolute
+ ).join("/");
+ return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
+ },
+ relative: function(from, to) {
+ from = PATH_FS.resolve(from).substr(1);
+ to = PATH_FS.resolve(to).substr(1);
+ function trim(arr) {
+ var start = 0;
+ for (; start < arr.length; start++) {
+ if (arr[start] !== "") break;
+ }
+ var end = arr.length - 1;
+ for (; end >= 0; end--) {
+ if (arr[end] !== "") break;
+ }
+ if (start > end) return [];
+ return arr.slice(start, end - start + 1);
+ }
+ var fromParts = trim(from.split("/"));
+ var toParts = trim(to.split("/"));
+ var length = Math.min(fromParts.length, toParts.length);
+ var samePartsLength = length;
+ for (var i = 0; i < length; i++) {
+ if (fromParts[i] !== toParts[i]) {
+ samePartsLength = i;
+ break;
+ }
+ }
+ var outputParts = [];
+ for (var i = samePartsLength; i < fromParts.length; i++) {
+ outputParts.push("..");
+ }
+ outputParts = outputParts.concat(toParts.slice(samePartsLength));
+ return outputParts.join("/");
+ }
+};
+var TTY = {
+ ttys: [],
+ init: function() {},
+ shutdown: function() {},
+ register: function(dev, ops) {
+ TTY.ttys[dev] = { input: [], output: [], ops: ops };
+ FS.registerDevice(dev, TTY.stream_ops);
+ },
+ stream_ops: {
+ open: function(stream) {
+ var tty = TTY.ttys[stream.node.rdev];
+ if (!tty) {
+ throw new FS.ErrnoError(43);
+ }
+ stream.tty = tty;
+ stream.seekable = false;
+ },
+ close: function(stream) {
+ stream.tty.ops.flush(stream.tty);
+ },
+ flush: function(stream) {
+ stream.tty.ops.flush(stream.tty);
+ },
+ read: function(stream, buffer, offset, length, pos) {
+ if (!stream.tty || !stream.tty.ops.get_char) {
+ throw new FS.ErrnoError(60);
+ }
+ var bytesRead = 0;
+ for (var i = 0; i < length; i++) {
+ var result;
+ try {
+ result = stream.tty.ops.get_char(stream.tty);
+ } catch (e) {
+ throw new FS.ErrnoError(29);
+ }
+ if (result === undefined && bytesRead === 0) {
+ throw new FS.ErrnoError(6);
+ }
+ if (result === null || result === undefined) break;
+ bytesRead++;
+ buffer[offset + i] = result;
+ }
+ if (bytesRead) {
+ stream.node.timestamp = Date.now();
+ }
+ return bytesRead;
+ },
+ write: function(stream, buffer, offset, length, pos) {
+ if (!stream.tty || !stream.tty.ops.put_char) {
+ throw new FS.ErrnoError(60);
+ }
+ try {
+ for (var i = 0; i < length; i++) {
+ stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
+ }
+ } catch (e) {
+ throw new FS.ErrnoError(29);
+ }
+ if (length) {
+ stream.node.timestamp = Date.now();
+ }
+ return i;
+ }
+ },
+ default_tty_ops: {
+ get_char: function(tty) {
+ if (!tty.input.length) {
+ var result = null;
+ if (ENVIRONMENT_IS_NODE) {
+ var BUFSIZE = 256;
+ var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);
+ var bytesRead = 0;
+ try {
+ bytesRead = nodeFS.readSync(
+ process.stdin.fd,
+ buf,
+ 0,
+ BUFSIZE,
+ null
+ );
+ } catch (e) {
+ if (e.toString().indexOf("EOF") != -1) bytesRead = 0;
+ else throw e;
+ }
+ if (bytesRead > 0) {
+ result = buf.slice(0, bytesRead).toString("utf-8");
+ } else {
+ result = null;
+ }
+ } else if (
+ typeof window != "undefined" &&
+ typeof window.prompt == "function"
+ ) {
+ result = window.prompt("Input: ");
+ if (result !== null) {
+ result += "\n";
+ }
+ } else if (typeof readline == "function") {
+ result = readline();
+ if (result !== null) {
+ result += "\n";
+ }
+ }
+ if (!result) {
+ return null;
+ }
+ tty.input = intArrayFromString(result, true);
+ }
+ return tty.input.shift();
+ },
+ put_char: function(tty, val) {
+ if (val === null || val === 10) {
+ out(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ } else {
+ if (val != 0) tty.output.push(val);
+ }
+ },
+ flush: function(tty) {
+ if (tty.output && tty.output.length > 0) {
+ out(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ }
+ }
+ },
+ default_tty1_ops: {
+ put_char: function(tty, val) {
+ if (val === null || val === 10) {
+ err(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ } else {
+ if (val != 0) tty.output.push(val);
+ }
+ },
+ flush: function(tty) {
+ if (tty.output && tty.output.length > 0) {
+ err(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ }
+ }
+ }
+};
+var MEMFS = {
+ ops_table: null,
+ mount: function(mount) {
+ return MEMFS.createNode(null, "/", 16384 | 511, 0);
+ },
+ createNode: function(parent, name, mode, dev) {
+ if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
+ throw new FS.ErrnoError(63);
+ }
+ if (!MEMFS.ops_table) {
+ MEMFS.ops_table = {
+ dir: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr,
+ lookup: MEMFS.node_ops.lookup,
+ mknod: MEMFS.node_ops.mknod,
+ rename: MEMFS.node_ops.rename,
+ unlink: MEMFS.node_ops.unlink,
+ rmdir: MEMFS.node_ops.rmdir,
+ readdir: MEMFS.node_ops.readdir,
+ symlink: MEMFS.node_ops.symlink
+ },
+ stream: { llseek: MEMFS.stream_ops.llseek }
+ },
+ file: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr
+ },
+ stream: {
+ llseek: MEMFS.stream_ops.llseek,
+ read: MEMFS.stream_ops.read,
+ write: MEMFS.stream_ops.write,
+ allocate: MEMFS.stream_ops.allocate,
+ mmap: MEMFS.stream_ops.mmap,
+ msync: MEMFS.stream_ops.msync
+ }
+ },
+ link: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr,
+ readlink: MEMFS.node_ops.readlink
+ },
+ stream: {}
+ },
+ chrdev: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr
+ },
+ stream: FS.chrdev_stream_ops
+ }
+ };
+ }
+ var node = FS.createNode(parent, name, mode, dev);
+ if (FS.isDir(node.mode)) {
+ node.node_ops = MEMFS.ops_table.dir.node;
+ node.stream_ops = MEMFS.ops_table.dir.stream;
+ node.contents = {};
+ } else if (FS.isFile(node.mode)) {
+ node.node_ops = MEMFS.ops_table.file.node;
+ node.stream_ops = MEMFS.ops_table.file.stream;
+ node.usedBytes = 0;
+ node.contents = null;
+ } else if (FS.isLink(node.mode)) {
+ node.node_ops = MEMFS.ops_table.link.node;
+ node.stream_ops = MEMFS.ops_table.link.stream;
+ } else if (FS.isChrdev(node.mode)) {
+ node.node_ops = MEMFS.ops_table.chrdev.node;
+ node.stream_ops = MEMFS.ops_table.chrdev.stream;
+ }
+ node.timestamp = Date.now();
+ if (parent) {
+ parent.contents[name] = node;
+ }
+ return node;
+ },
+ getFileDataAsRegularArray: function(node) {
+ if (node.contents && node.contents.subarray) {
+ var arr = [];
+ for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
+ return arr;
+ }
+ return node.contents;
+ },
+ getFileDataAsTypedArray: function(node) {
+ if (!node.contents) return new Uint8Array(0);
+ if (node.contents.subarray)
+ return node.contents.subarray(0, node.usedBytes);
+ return new Uint8Array(node.contents);
+ },
+ expandFileStorage: function(node, newCapacity) {
+ var prevCapacity = node.contents ? node.contents.length : 0;
+ if (prevCapacity >= newCapacity) return;
+ var CAPACITY_DOUBLING_MAX = 1024 * 1024;
+ newCapacity = Math.max(
+ newCapacity,
+ (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) >>> 0
+ );
+ if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
+ var oldContents = node.contents;
+ node.contents = new Uint8Array(newCapacity);
+ if (node.usedBytes > 0)
+ node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
+ return;
+ },
+ resizeFileStorage: function(node, newSize) {
+ if (node.usedBytes == newSize) return;
+ if (newSize == 0) {
+ node.contents = null;
+ node.usedBytes = 0;
+ return;
+ }
+ if (!node.contents || node.contents.subarray) {
+ var oldContents = node.contents;
+ node.contents = new Uint8Array(newSize);
+ if (oldContents) {
+ node.contents.set(
+ oldContents.subarray(0, Math.min(newSize, node.usedBytes))
+ );
+ }
+ node.usedBytes = newSize;
+ return;
+ }
+ if (!node.contents) node.contents = [];
+ if (node.contents.length > newSize) node.contents.length = newSize;
+ else while (node.contents.length < newSize) node.contents.push(0);
+ node.usedBytes = newSize;
+ },
+ node_ops: {
+ getattr: function(node) {
+ var attr = {};
+ attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
+ attr.ino = node.id;
+ attr.mode = node.mode;
+ attr.nlink = 1;
+ attr.uid = 0;
+ attr.gid = 0;
+ attr.rdev = node.rdev;
+ if (FS.isDir(node.mode)) {
+ attr.size = 4096;
+ } else if (FS.isFile(node.mode)) {
+ attr.size = node.usedBytes;
+ } else if (FS.isLink(node.mode)) {
+ attr.size = node.link.length;
+ } else {
+ attr.size = 0;
+ }
+ attr.atime = new Date(node.timestamp);
+ attr.mtime = new Date(node.timestamp);
+ attr.ctime = new Date(node.timestamp);
+ attr.blksize = 4096;
+ attr.blocks = Math.ceil(attr.size / attr.blksize);
+ return attr;
+ },
+ setattr: function(node, attr) {
+ if (attr.mode !== undefined) {
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ node.timestamp = attr.timestamp;
+ }
+ if (attr.size !== undefined) {
+ MEMFS.resizeFileStorage(node, attr.size);
+ }
+ },
+ lookup: function(parent, name) {
+ throw FS.genericErrors[44];
+ },
+ mknod: function(parent, name, mode, dev) {
+ return MEMFS.createNode(parent, name, mode, dev);
+ },
+ rename: function(old_node, new_dir, new_name) {
+ if (FS.isDir(old_node.mode)) {
+ var new_node;
+ try {
+ new_node = FS.lookupNode(new_dir, new_name);
+ } catch (e) {}
+ if (new_node) {
+ for (var i in new_node.contents) {
+ throw new FS.ErrnoError(55);
+ }
+ }
+ }
+ delete old_node.parent.contents[old_node.name];
+ old_node.name = new_name;
+ new_dir.contents[new_name] = old_node;
+ old_node.parent = new_dir;
+ },
+ unlink: function(parent, name) {
+ delete parent.contents[name];
+ },
+ rmdir: function(parent, name) {
+ var node = FS.lookupNode(parent, name);
+ for (var i in node.contents) {
+ throw new FS.ErrnoError(55);
+ }
+ delete parent.contents[name];
+ },
+ readdir: function(node) {
+ var entries = [".", ".."];
+ for (var key in node.contents) {
+ if (!node.contents.hasOwnProperty(key)) {
+ continue;
+ }
+ entries.push(key);
+ }
+ return entries;
+ },
+ symlink: function(parent, newname, oldpath) {
+ var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
+ node.link = oldpath;
+ return node;
+ },
+ readlink: function(node) {
+ if (!FS.isLink(node.mode)) {
+ throw new FS.ErrnoError(28);
+ }
+ return node.link;
+ }
+ },
+ stream_ops: {
+ read: function(stream, buffer, offset, length, position) {
+ var contents = stream.node.contents;
+ if (position >= stream.node.usedBytes) return 0;
+ var size = Math.min(stream.node.usedBytes - position, length);
+ if (size > 8 && contents.subarray) {
+ buffer.set(contents.subarray(position, position + size), offset);
+ } else {
+ for (var i = 0; i < size; i++)
+ buffer[offset + i] = contents[position + i];
+ }
+ return size;
+ },
+ write: function(stream, buffer, offset, length, position, canOwn) {
+ if (buffer.buffer === HEAP8.buffer) {
+ canOwn = false;
+ }
+ if (!length) return 0;
+ var node = stream.node;
+ node.timestamp = Date.now();
+ if (buffer.subarray && (!node.contents || node.contents.subarray)) {
+ if (canOwn) {
+ node.contents = buffer.subarray(offset, offset + length);
+ node.usedBytes = length;
+ return length;
+ } else if (node.usedBytes === 0 && position === 0) {
+ node.contents = buffer.slice(offset, offset + length);
+ node.usedBytes = length;
+ return length;
+ } else if (position + length <= node.usedBytes) {
+ node.contents.set(buffer.subarray(offset, offset + length), position);
+ return length;
+ }
+ }
+ MEMFS.expandFileStorage(node, position + length);
+ if (node.contents.subarray && buffer.subarray) {
+ node.contents.set(buffer.subarray(offset, offset + length), position);
+ } else {
+ for (var i = 0; i < length; i++) {
+ node.contents[position + i] = buffer[offset + i];
+ }
+ }
+ node.usedBytes = Math.max(node.usedBytes, position + length);
+ return length;
+ },
+ llseek: function(stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) {
+ position += stream.position;
+ } else if (whence === 2) {
+ if (FS.isFile(stream.node.mode)) {
+ position += stream.node.usedBytes;
+ }
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(28);
+ }
+ return position;
+ },
+ allocate: function(stream, offset, length) {
+ MEMFS.expandFileStorage(stream.node, offset + length);
+ stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
+ },
+ mmap: function(stream, address, length, position, prot, flags) {
+ assert(address === 0);
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(43);
+ }
+ var ptr;
+ var allocated;
+ var contents = stream.node.contents;
+ if (!(flags & 2) && contents.buffer === buffer) {
+ allocated = false;
+ ptr = contents.byteOffset;
+ } else {
+ if (position > 0 || position + length < contents.length) {
+ if (contents.subarray) {
+ contents = contents.subarray(position, position + length);
+ } else {
+ contents = Array.prototype.slice.call(
+ contents,
+ position,
+ position + length
+ );
+ }
+ }
+ allocated = true;
+ ptr = FS.mmapAlloc(length);
+ if (!ptr) {
+ throw new FS.ErrnoError(48);
+ }
+ HEAP8.set(contents, ptr);
+ }
+ return { ptr: ptr, allocated: allocated };
+ },
+ msync: function(stream, buffer, offset, length, mmapFlags) {
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(43);
+ }
+ if (mmapFlags & 2) {
+ return 0;
+ }
+ var bytesWritten = MEMFS.stream_ops.write(
+ stream,
+ buffer,
+ 0,
+ length,
+ offset,
+ false
+ );
+ return 0;
+ }
+ }
+};
+var ERRNO_CODES = {
+ EPERM: 63,
+ ENOENT: 44,
+ ESRCH: 71,
+ EINTR: 27,
+ EIO: 29,
+ ENXIO: 60,
+ E2BIG: 1,
+ ENOEXEC: 45,
+ EBADF: 8,
+ ECHILD: 12,
+ EAGAIN: 6,
+ EWOULDBLOCK: 6,
+ ENOMEM: 48,
+ EACCES: 2,
+ EFAULT: 21,
+ ENOTBLK: 105,
+ EBUSY: 10,
+ EEXIST: 20,
+ EXDEV: 75,
+ ENODEV: 43,
+ ENOTDIR: 54,
+ EISDIR: 31,
+ EINVAL: 28,
+ ENFILE: 41,
+ EMFILE: 33,
+ ENOTTY: 59,
+ ETXTBSY: 74,
+ EFBIG: 22,
+ ENOSPC: 51,
+ ESPIPE: 70,
+ EROFS: 69,
+ EMLINK: 34,
+ EPIPE: 64,
+ EDOM: 18,
+ ERANGE: 68,
+ ENOMSG: 49,
+ EIDRM: 24,
+ ECHRNG: 106,
+ EL2NSYNC: 156,
+ EL3HLT: 107,
+ EL3RST: 108,
+ ELNRNG: 109,
+ EUNATCH: 110,
+ ENOCSI: 111,
+ EL2HLT: 112,
+ EDEADLK: 16,
+ ENOLCK: 46,
+ EBADE: 113,
+ EBADR: 114,
+ EXFULL: 115,
+ ENOANO: 104,
+ EBADRQC: 103,
+ EBADSLT: 102,
+ EDEADLOCK: 16,
+ EBFONT: 101,
+ ENOSTR: 100,
+ ENODATA: 116,
+ ETIME: 117,
+ ENOSR: 118,
+ ENONET: 119,
+ ENOPKG: 120,
+ EREMOTE: 121,
+ ENOLINK: 47,
+ EADV: 122,
+ ESRMNT: 123,
+ ECOMM: 124,
+ EPROTO: 65,
+ EMULTIHOP: 36,
+ EDOTDOT: 125,
+ EBADMSG: 9,
+ ENOTUNIQ: 126,
+ EBADFD: 127,
+ EREMCHG: 128,
+ ELIBACC: 129,
+ ELIBBAD: 130,
+ ELIBSCN: 131,
+ ELIBMAX: 132,
+ ELIBEXEC: 133,
+ ENOSYS: 52,
+ ENOTEMPTY: 55,
+ ENAMETOOLONG: 37,
+ ELOOP: 32,
+ EOPNOTSUPP: 138,
+ EPFNOSUPPORT: 139,
+ ECONNRESET: 15,
+ ENOBUFS: 42,
+ EAFNOSUPPORT: 5,
+ EPROTOTYPE: 67,
+ ENOTSOCK: 57,
+ ENOPROTOOPT: 50,
+ ESHUTDOWN: 140,
+ ECONNREFUSED: 14,
+ EADDRINUSE: 3,
+ ECONNABORTED: 13,
+ ENETUNREACH: 40,
+ ENETDOWN: 38,
+ ETIMEDOUT: 73,
+ EHOSTDOWN: 142,
+ EHOSTUNREACH: 23,
+ EINPROGRESS: 26,
+ EALREADY: 7,
+ EDESTADDRREQ: 17,
+ EMSGSIZE: 35,
+ EPROTONOSUPPORT: 66,
+ ESOCKTNOSUPPORT: 137,
+ EADDRNOTAVAIL: 4,
+ ENETRESET: 39,
+ EISCONN: 30,
+ ENOTCONN: 53,
+ ETOOMANYREFS: 141,
+ EUSERS: 136,
+ EDQUOT: 19,
+ ESTALE: 72,
+ ENOTSUP: 138,
+ ENOMEDIUM: 148,
+ EILSEQ: 25,
+ EOVERFLOW: 61,
+ ECANCELED: 11,
+ ENOTRECOVERABLE: 56,
+ EOWNERDEAD: 62,
+ ESTRPIPE: 135
+};
+var NODEFS = {
+ isWindows: false,
+ staticInit: function() {
+ NODEFS.isWindows = !!process.platform.match(/^win/);
+ var flags = { fs: fs.constants };
+ if (flags["fs"]) {
+ flags = flags["fs"];
+ }
+ NODEFS.flagsForNodeMap = {
+ 1024: flags["O_APPEND"],
+ 64: flags["O_CREAT"],
+ 128: flags["O_EXCL"],
+ 0: flags["O_RDONLY"],
+ 2: flags["O_RDWR"],
+ 4096: flags["O_SYNC"],
+ 512: flags["O_TRUNC"],
+ 1: flags["O_WRONLY"]
+ };
+ },
+ bufferFrom: function(arrayBuffer) {
+ return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer);
+ },
+ convertNodeCode: function(e) {
+ var code = e.code;
+ return ERRNO_CODES[code];
+ },
+ mount: function(mount) {
+ return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0);
+ },
+ createNode: function(parent, name, mode, dev) {
+ if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
+ throw new FS.ErrnoError(28);
+ }
+ var node = FS.createNode(parent, name, mode);
+ node.node_ops = NODEFS.node_ops;
+ node.stream_ops = NODEFS.stream_ops;
+ return node;
+ },
+ getMode: function(path) {
+ var stat;
+ try {
+ stat = fs.lstatSync(path);
+ if (NODEFS.isWindows) {
+ stat.mode = stat.mode | ((stat.mode & 292) >> 2);
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ return stat.mode;
+ },
+ realPath: function(node) {
+ var parts = [];
+ while (node.parent !== node) {
+ parts.push(node.name);
+ node = node.parent;
+ }
+ parts.push(node.mount.opts.root);
+ parts.reverse();
+ return PATH.join.apply(null, parts);
+ },
+ flagsForNode: function(flags) {
+ flags &= ~2097152;
+ flags &= ~2048;
+ flags &= ~32768;
+ flags &= ~524288;
+ var newFlags = 0;
+ for (var k in NODEFS.flagsForNodeMap) {
+ if (flags & k) {
+ newFlags |= NODEFS.flagsForNodeMap[k];
+ flags ^= k;
+ }
+ }
+ if (!flags) {
+ return newFlags;
+ } else {
+ throw new FS.ErrnoError(28);
+ }
+ },
+ node_ops: {
+ getattr: function(node) {
+ var path = NODEFS.realPath(node);
+ var stat;
+ try {
+ stat = fs.lstatSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ if (NODEFS.isWindows && !stat.blksize) {
+ stat.blksize = 4096;
+ }
+ if (NODEFS.isWindows && !stat.blocks) {
+ stat.blocks = ((stat.size + stat.blksize - 1) / stat.blksize) | 0;
+ }
+ return {
+ dev: stat.dev,
+ ino: stat.ino,
+ mode: stat.mode,
+ nlink: stat.nlink,
+ uid: stat.uid,
+ gid: stat.gid,
+ rdev: stat.rdev,
+ size: stat.size,
+ atime: stat.atime,
+ mtime: stat.mtime,
+ ctime: stat.ctime,
+ blksize: stat.blksize,
+ blocks: stat.blocks
+ };
+ },
+ setattr: function(node, attr) {
+ var path = NODEFS.realPath(node);
+ try {
+ if (attr.mode !== undefined) {
+ fs.chmodSync(path, attr.mode);
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ var date = new Date(attr.timestamp);
+ fs.utimesSync(path, date, date);
+ }
+ if (attr.size !== undefined) {
+ fs.truncateSync(path, attr.size);
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ },
+ lookup: function(parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ var mode = NODEFS.getMode(path);
+ return NODEFS.createNode(parent, name, mode);
+ },
+ mknod: function(parent, name, mode, dev) {
+ var node = NODEFS.createNode(parent, name, mode, dev);
+ var path = NODEFS.realPath(node);
+ try {
+ if (FS.isDir(node.mode)) {
+ fs.mkdirSync(path, node.mode);
+ } else {
+ fs.writeFileSync(path, "", { mode: node.mode });
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ return node;
+ },
+ rename: function(oldNode, newDir, newName) {
+ var oldPath = NODEFS.realPath(oldNode);
+ var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
+ try {
+ fs.renameSync(oldPath, newPath);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ oldNode.name = newName;
+ },
+ unlink: function(parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ try {
+ fs.unlinkSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ },
+ rmdir: function(parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ try {
+ fs.rmdirSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ },
+ readdir: function(node) {
+ var path = NODEFS.realPath(node);
+ try {
+ return fs.readdirSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ },
+ symlink: function(parent, newName, oldPath) {
+ var newPath = PATH.join2(NODEFS.realPath(parent), newName);
+ try {
+ fs.symlinkSync(oldPath, newPath);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ },
+ readlink: function(node) {
+ var path = NODEFS.realPath(node);
+ try {
+ path = fs.readlinkSync(path);
+ path = NODEJS_PATH.relative(
+ NODEJS_PATH.resolve(node.mount.opts.root),
+ path
+ );
+ return path;
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ }
+ },
+ stream_ops: {
+ open: function(stream) {
+ var path = NODEFS.realPath(stream.node);
+ try {
+ if (FS.isFile(stream.node.mode)) {
+ stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags));
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ },
+ close: function(stream) {
+ try {
+ if (FS.isFile(stream.node.mode) && stream.nfd) {
+ fs.closeSync(stream.nfd);
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ },
+ read: function(stream, buffer, offset, length, position) {
+ if (length === 0) return 0;
+ try {
+ return fs.readSync(
+ stream.nfd,
+ NODEFS.bufferFrom(buffer.buffer),
+ offset,
+ length,
+ position
+ );
+ } catch (e) {
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ },
+ write: function(stream, buffer, offset, length, position) {
+ try {
+ return fs.writeSync(
+ stream.nfd,
+ NODEFS.bufferFrom(buffer.buffer),
+ offset,
+ length,
+ position
+ );
+ } catch (e) {
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ },
+ llseek: function(stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) {
+ position += stream.position;
+ } else if (whence === 2) {
+ if (FS.isFile(stream.node.mode)) {
+ try {
+ var stat = fs.fstatSync(stream.nfd);
+ position += stat.size;
+ } catch (e) {
+ throw new FS.ErrnoError(NODEFS.convertNodeCode(e));
+ }
+ }
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(28);
+ }
+ return position;
+ },
+ mmap: function(stream, address, length, position, prot, flags) {
+ assert(address === 0);
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(43);
+ }
+ var ptr = FS.mmapAlloc(length);
+ NODEFS.stream_ops.read(stream, HEAP8, ptr, length, position);
+ return { ptr: ptr, allocated: true };
+ },
+ msync: function(stream, buffer, offset, length, mmapFlags) {
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(43);
+ }
+ if (mmapFlags & 2) {
+ return 0;
+ }
+ var bytesWritten = NODEFS.stream_ops.write(
+ stream,
+ buffer,
+ 0,
+ length,
+ offset,
+ false
+ );
+ return 0;
+ }
+ }
+};
+var NODERAWFS = {
+ lookupPath: function(path) {
+ return { path: path, node: { mode: NODEFS.getMode(path) } };
+ },
+ createStandardStreams: function() {
+ FS.streams[0] = {
+ fd: 0,
+ nfd: 0,
+ position: 0,
+ path: "",
+ flags: 0,
+ tty: true,
+ seekable: false
+ };
+ for (var i = 1; i < 3; i++) {
+ FS.streams[i] = {
+ fd: i,
+ nfd: i,
+ position: 0,
+ path: "",
+ flags: 577,
+ tty: true,
+ seekable: false
+ };
+ }
+ },
+ cwd: function() {
+ return process.cwd();
+ },
+ chdir: function() {
+ process.chdir.apply(void 0, arguments);
+ },
+ mknod: function(path, mode) {
+ if (FS.isDir(path)) {
+ fs.mkdirSync(path, mode);
+ } else {
+ fs.writeFileSync(path, "", { mode: mode });
+ }
+ },
+ mkdir: function() {
+ fs.mkdirSync.apply(void 0, arguments);
+ },
+ symlink: function() {
+ fs.symlinkSync.apply(void 0, arguments);
+ },
+ rename: function() {
+ fs.renameSync.apply(void 0, arguments);
+ },
+ rmdir: function() {
+ fs.rmdirSync.apply(void 0, arguments);
+ },
+ readdir: function() {
+ fs.readdirSync.apply(void 0, arguments);
+ },
+ unlink: function() {
+ fs.unlinkSync.apply(void 0, arguments);
+ },
+ readlink: function() {
+ return fs.readlinkSync.apply(void 0, arguments);
+ },
+ stat: function() {
+ return fs.statSync.apply(void 0, arguments);
+ },
+ lstat: function() {
+ return fs.lstatSync.apply(void 0, arguments);
+ },
+ chmod: function() {
+ fs.chmodSync.apply(void 0, arguments);
+ },
+ fchmod: function() {
+ fs.fchmodSync.apply(void 0, arguments);
+ },
+ chown: function() {
+ fs.chownSync.apply(void 0, arguments);
+ },
+ fchown: function() {
+ fs.fchownSync.apply(void 0, arguments);
+ },
+ truncate: function() {
+ fs.truncateSync.apply(void 0, arguments);
+ },
+ ftruncate: function() {
+ fs.ftruncateSync.apply(void 0, arguments);
+ },
+ utime: function() {
+ fs.utimesSync.apply(void 0, arguments);
+ },
+ open: function(path, flags, mode, suggestFD) {
+ if (typeof flags === "string") {
+ flags = VFS.modeStringToFlags(flags);
+ }
+ var nfd = fs.openSync(path, NODEFS.flagsForNode(flags), mode);
+ var fd = suggestFD != null ? suggestFD : FS.nextfd(nfd);
+ var stream = {
+ fd: fd,
+ nfd: nfd,
+ position: 0,
+ path: path,
+ flags: flags,
+ seekable: true
+ };
+ FS.streams[fd] = stream;
+ return stream;
+ },
+ close: function(stream) {
+ if (!stream.stream_ops) {
+ fs.closeSync(stream.nfd);
+ }
+ FS.closeStream(stream.fd);
+ },
+ llseek: function(stream, offset, whence) {
+ if (stream.stream_ops) {
+ return VFS.llseek(stream, offset, whence);
+ }
+ var position = offset;
+ if (whence === 1) {
+ position += stream.position;
+ } else if (whence === 2) {
+ position += fs.fstatSync(stream.nfd).size;
+ } else if (whence !== 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ stream.position = position;
+ return position;
+ },
+ read: function(stream, buffer, offset, length, position) {
+ if (stream.stream_ops) {
+ return VFS.read(stream, buffer, offset, length, position);
+ }
+ var seeking = typeof position !== "undefined";
+ if (!seeking && stream.seekable) position = stream.position;
+ var bytesRead = fs.readSync(
+ stream.nfd,
+ NODEFS.bufferFrom(buffer.buffer),
+ offset,
+ length,
+ position
+ );
+ if (!seeking) stream.position += bytesRead;
+ return bytesRead;
+ },
+ write: function(stream, buffer, offset, length, position) {
+ if (stream.stream_ops) {
+ return VFS.write(stream, buffer, offset, length, position);
+ }
+ if (stream.flags & +"1024") {
+ FS.llseek(stream, 0, +"2");
+ }
+ var seeking = typeof position !== "undefined";
+ if (!seeking && stream.seekable) position = stream.position;
+ var bytesWritten = fs.writeSync(
+ stream.nfd,
+ NODEFS.bufferFrom(buffer.buffer),
+ offset,
+ length,
+ position
+ );
+ if (!seeking) stream.position += bytesWritten;
+ return bytesWritten;
+ },
+ allocate: function() {
+ throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
+ },
+ mmap: function() {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ },
+ msync: function() {
+ return 0;
+ },
+ munmap: function() {
+ return 0;
+ },
+ ioctl: function() {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
+ }
+};
+var FS = {
+ root: null,
+ mounts: [],
+ devices: {},
+ streams: [],
+ nextInode: 1,
+ nameTable: null,
+ currentPath: "/",
+ initialized: false,
+ ignorePermissions: true,
+ trackingDelegate: {},
+ tracking: { openFlags: { READ: 1, WRITE: 2 } },
+ ErrnoError: null,
+ genericErrors: {},
+ filesystems: null,
+ syncFSRequests: 0,
+ handleFSError: function(e) {
+ if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace();
+ return setErrNo(e.errno);
+ },
+ lookupPath: function(path, opts) {
+ path = PATH_FS.resolve(FS.cwd(), path);
+ opts = opts || {};
+ if (!path) return { path: "", node: null };
+ var defaults = { follow_mount: true, recurse_count: 0 };
+ for (var key in defaults) {
+ if (opts[key] === undefined) {
+ opts[key] = defaults[key];
+ }
+ }
+ if (opts.recurse_count > 8) {
+ throw new FS.ErrnoError(32);
+ }
+ var parts = PATH.normalizeArray(
+ path.split("/").filter(function(p) {
+ return !!p;
+ }),
+ false
+ );
+ var current = FS.root;
+ var current_path = "/";
+ for (var i = 0; i < parts.length; i++) {
+ var islast = i === parts.length - 1;
+ if (islast && opts.parent) {
+ break;
+ }
+ current = FS.lookupNode(current, parts[i]);
+ current_path = PATH.join2(current_path, parts[i]);
+ if (FS.isMountpoint(current)) {
+ if (!islast || (islast && opts.follow_mount)) {
+ current = current.mounted.root;
+ }
+ }
+ if (!islast || opts.follow) {
+ var count = 0;
+ while (FS.isLink(current.mode)) {
+ var link = FS.readlink(current_path);
+ current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
+ var lookup = FS.lookupPath(current_path, {
+ recurse_count: opts.recurse_count
+ });
+ current = lookup.node;
+ if (count++ > 40) {
+ throw new FS.ErrnoError(32);
+ }
+ }
+ }
+ }
+ return { path: current_path, node: current };
+ },
+ getPath: function(node) {
+ var path;
+ while (true) {
+ if (FS.isRoot(node)) {
+ var mount = node.mount.mountpoint;
+ if (!path) return mount;
+ return mount[mount.length - 1] !== "/"
+ ? mount + "/" + path
+ : mount + path;
+ }
+ path = path ? node.name + "/" + path : node.name;
+ node = node.parent;
+ }
+ },
+ hashName: function(parentid, name) {
+ var hash = 0;
+ for (var i = 0; i < name.length; i++) {
+ hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
+ }
+ return ((parentid + hash) >>> 0) % FS.nameTable.length;
+ },
+ hashAddNode: function(node) {
+ var hash = FS.hashName(node.parent.id, node.name);
+ node.name_next = FS.nameTable[hash];
+ FS.nameTable[hash] = node;
+ },
+ hashRemoveNode: function(node) {
+ var hash = FS.hashName(node.parent.id, node.name);
+ if (FS.nameTable[hash] === node) {
+ FS.nameTable[hash] = node.name_next;
+ } else {
+ var current = FS.nameTable[hash];
+ while (current) {
+ if (current.name_next === node) {
+ current.name_next = node.name_next;
+ break;
+ }
+ current = current.name_next;
+ }
+ }
+ },
+ lookupNode: function(parent, name) {
+ var errCode = FS.mayLookup(parent);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode, parent);
+ }
+ var hash = FS.hashName(parent.id, name);
+ for (var node = FS.nameTable[hash]; node; node = node.name_next) {
+ var nodeName = node.name;
+ if (node.parent.id === parent.id && nodeName === name) {
+ return node;
+ }
+ }
+ return FS.lookup(parent, name);
+ },
+ createNode: function(parent, name, mode, rdev) {
+ var node = new FS.FSNode(parent, name, mode, rdev);
+ FS.hashAddNode(node);
+ return node;
+ },
+ destroyNode: function(node) {
+ FS.hashRemoveNode(node);
+ },
+ isRoot: function(node) {
+ return node === node.parent;
+ },
+ isMountpoint: function(node) {
+ return !!node.mounted;
+ },
+ isFile: function(mode) {
+ return (mode & 61440) === 32768;
+ },
+ isDir: function(mode) {
+ return (mode & 61440) === 16384;
+ },
+ isLink: function(mode) {
+ return (mode & 61440) === 40960;
+ },
+ isChrdev: function(mode) {
+ return (mode & 61440) === 8192;
+ },
+ isBlkdev: function(mode) {
+ return (mode & 61440) === 24576;
+ },
+ isFIFO: function(mode) {
+ return (mode & 61440) === 4096;
+ },
+ isSocket: function(mode) {
+ return (mode & 49152) === 49152;
+ },
+ flagModes: {
+ r: 0,
+ rs: 1052672,
+ "r+": 2,
+ w: 577,
+ wx: 705,
+ xw: 705,
+ "w+": 578,
+ "wx+": 706,
+ "xw+": 706,
+ a: 1089,
+ ax: 1217,
+ xa: 1217,
+ "a+": 1090,
+ "ax+": 1218,
+ "xa+": 1218
+ },
+ modeStringToFlags: function(str) {
+ var flags = FS.flagModes[str];
+ if (typeof flags === "undefined") {
+ throw new Error("Unknown file open mode: " + str);
+ }
+ return flags;
+ },
+ flagsToPermissionString: function(flag) {
+ var perms = ["r", "w", "rw"][flag & 3];
+ if (flag & 512) {
+ perms += "w";
+ }
+ return perms;
+ },
+ nodePermissions: function(node, perms) {
+ if (FS.ignorePermissions) {
+ return 0;
+ }
+ if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
+ return 2;
+ } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
+ return 2;
+ } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
+ return 2;
+ }
+ return 0;
+ },
+ mayLookup: function(dir) {
+ var errCode = FS.nodePermissions(dir, "x");
+ if (errCode) return errCode;
+ if (!dir.node_ops.lookup) return 2;
+ return 0;
+ },
+ mayCreate: function(dir, name) {
+ try {
+ var node = FS.lookupNode(dir, name);
+ return 20;
+ } catch (e) {}
+ return FS.nodePermissions(dir, "wx");
+ },
+ mayDelete: function(dir, name, isdir) {
+ var node;
+ try {
+ node = FS.lookupNode(dir, name);
+ } catch (e) {
+ return e.errno;
+ }
+ var errCode = FS.nodePermissions(dir, "wx");
+ if (errCode) {
+ return errCode;
+ }
+ if (isdir) {
+ if (!FS.isDir(node.mode)) {
+ return 54;
+ }
+ if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
+ return 10;
+ }
+ } else {
+ if (FS.isDir(node.mode)) {
+ return 31;
+ }
+ }
+ return 0;
+ },
+ mayOpen: function(node, flags) {
+ if (!node) {
+ return 44;
+ }
+ if (FS.isLink(node.mode)) {
+ return 32;
+ } else if (FS.isDir(node.mode)) {
+ if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
+ return 31;
+ }
+ }
+ return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
+ },
+ MAX_OPEN_FDS: 4096,
+ nextfd: function(fd_start, fd_end) {
+ fd_start = fd_start || 0;
+ fd_end = fd_end || FS.MAX_OPEN_FDS;
+ for (var fd = fd_start; fd <= fd_end; fd++) {
+ if (!FS.streams[fd]) {
+ return fd;
+ }
+ }
+ throw new FS.ErrnoError(33);
+ },
+ getStream: function(fd) {
+ return FS.streams[fd];
+ },
+ createStream: function(stream, fd_start, fd_end) {
+ if (!FS.FSStream) {
+ FS.FSStream = function() {};
+ FS.FSStream.prototype = {
+ object: {
+ get: function() {
+ return this.node;
+ },
+ set: function(val) {
+ this.node = val;
+ }
+ },
+ isRead: {
+ get: function() {
+ return (this.flags & 2097155) !== 1;
+ }
+ },
+ isWrite: {
+ get: function() {
+ return (this.flags & 2097155) !== 0;
+ }
+ },
+ isAppend: {
+ get: function() {
+ return this.flags & 1024;
+ }
+ }
+ };
+ }
+ var newStream = new FS.FSStream();
+ for (var p in stream) {
+ newStream[p] = stream[p];
+ }
+ stream = newStream;
+ var fd = FS.nextfd(fd_start, fd_end);
+ stream.fd = fd;
+ FS.streams[fd] = stream;
+ return stream;
+ },
+ closeStream: function(fd) {
+ FS.streams[fd] = null;
+ },
+ chrdev_stream_ops: {
+ open: function(stream) {
+ var device = FS.getDevice(stream.node.rdev);
+ stream.stream_ops = device.stream_ops;
+ if (stream.stream_ops.open) {
+ stream.stream_ops.open(stream);
+ }
+ },
+ llseek: function() {
+ throw new FS.ErrnoError(70);
+ }
+ },
+ major: function(dev) {
+ return dev >> 8;
+ },
+ minor: function(dev) {
+ return dev & 255;
+ },
+ makedev: function(ma, mi) {
+ return (ma << 8) | mi;
+ },
+ registerDevice: function(dev, ops) {
+ FS.devices[dev] = { stream_ops: ops };
+ },
+ getDevice: function(dev) {
+ return FS.devices[dev];
+ },
+ getMounts: function(mount) {
+ var mounts = [];
+ var check = [mount];
+ while (check.length) {
+ var m = check.pop();
+ mounts.push(m);
+ check.push.apply(check, m.mounts);
+ }
+ return mounts;
+ },
+ syncfs: function(populate, callback) {
+ if (typeof populate === "function") {
+ callback = populate;
+ populate = false;
+ }
+ FS.syncFSRequests++;
+ if (FS.syncFSRequests > 1) {
+ err(
+ "warning: " +
+ FS.syncFSRequests +
+ " FS.syncfs operations in flight at once, probably just doing extra work"
+ );
+ }
+ var mounts = FS.getMounts(FS.root.mount);
+ var completed = 0;
+ function doCallback(errCode) {
+ FS.syncFSRequests--;
+ return callback(errCode);
+ }
+ function done(errCode) {
+ if (errCode) {
+ if (!done.errored) {
+ done.errored = true;
+ return doCallback(errCode);
+ }
+ return;
+ }
+ if (++completed >= mounts.length) {
+ doCallback(null);
+ }
+ }
+ mounts.forEach(function(mount) {
+ if (!mount.type.syncfs) {
+ return done(null);
+ }
+ mount.type.syncfs(mount, populate, done);
+ });
+ },
+ mount: function(type, opts, mountpoint) {
+ var root = mountpoint === "/";
+ var pseudo = !mountpoint;
+ var node;
+ if (root && FS.root) {
+ throw new FS.ErrnoError(10);
+ } else if (!root && !pseudo) {
+ var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
+ mountpoint = lookup.path;
+ node = lookup.node;
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(10);
+ }
+ if (!FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(54);
+ }
+ }
+ var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] };
+ var mountRoot = type.mount(mount);
+ mountRoot.mount = mount;
+ mount.root = mountRoot;
+ if (root) {
+ FS.root = mountRoot;
+ } else if (node) {
+ node.mounted = mount;
+ if (node.mount) {
+ node.mount.mounts.push(mount);
+ }
+ }
+ return mountRoot;
+ },
+ unmount: function(mountpoint) {
+ var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
+ if (!FS.isMountpoint(lookup.node)) {
+ throw new FS.ErrnoError(28);
+ }
+ var node = lookup.node;
+ var mount = node.mounted;
+ var mounts = FS.getMounts(mount);
+ Object.keys(FS.nameTable).forEach(function(hash) {
+ var current = FS.nameTable[hash];
+ while (current) {
+ var next = current.name_next;
+ if (mounts.indexOf(current.mount) !== -1) {
+ FS.destroyNode(current);
+ }
+ current = next;
+ }
+ });
+ node.mounted = null;
+ var idx = node.mount.mounts.indexOf(mount);
+ node.mount.mounts.splice(idx, 1);
+ },
+ lookup: function(parent, name) {
+ return parent.node_ops.lookup(parent, name);
+ },
+ mknod: function(path, mode, dev) {
+ var lookup = FS.lookupPath(path, { parent: true });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ if (!name || name === "." || name === "..") {
+ throw new FS.ErrnoError(28);
+ }
+ var errCode = FS.mayCreate(parent, name);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ if (!parent.node_ops.mknod) {
+ throw new FS.ErrnoError(63);
+ }
+ return parent.node_ops.mknod(parent, name, mode, dev);
+ },
+ create: function(path, mode) {
+ mode = mode !== undefined ? mode : 438;
+ mode &= 4095;
+ mode |= 32768;
+ return FS.mknod(path, mode, 0);
+ },
+ mkdir: function(path, mode) {
+ mode = mode !== undefined ? mode : 511;
+ mode &= 511 | 512;
+ mode |= 16384;
+ return FS.mknod(path, mode, 0);
+ },
+ mkdirTree: function(path, mode) {
+ var dirs = path.split("/");
+ var d = "";
+ for (var i = 0; i < dirs.length; ++i) {
+ if (!dirs[i]) continue;
+ d += "/" + dirs[i];
+ try {
+ FS.mkdir(d, mode);
+ } catch (e) {
+ if (e.errno != 20) throw e;
+ }
+ }
+ },
+ mkdev: function(path, mode, dev) {
+ if (typeof dev === "undefined") {
+ dev = mode;
+ mode = 438;
+ }
+ mode |= 8192;
+ return FS.mknod(path, mode, dev);
+ },
+ symlink: function(oldpath, newpath) {
+ if (!PATH_FS.resolve(oldpath)) {
+ throw new FS.ErrnoError(44);
+ }
+ var lookup = FS.lookupPath(newpath, { parent: true });
+ var parent = lookup.node;
+ if (!parent) {
+ throw new FS.ErrnoError(44);
+ }
+ var newname = PATH.basename(newpath);
+ var errCode = FS.mayCreate(parent, newname);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ if (!parent.node_ops.symlink) {
+ throw new FS.ErrnoError(63);
+ }
+ return parent.node_ops.symlink(parent, newname, oldpath);
+ },
+ rename: function(old_path, new_path) {
+ var old_dirname = PATH.dirname(old_path);
+ var new_dirname = PATH.dirname(new_path);
+ var old_name = PATH.basename(old_path);
+ var new_name = PATH.basename(new_path);
+ var lookup, old_dir, new_dir;
+ lookup = FS.lookupPath(old_path, { parent: true });
+ old_dir = lookup.node;
+ lookup = FS.lookupPath(new_path, { parent: true });
+ new_dir = lookup.node;
+ if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
+ if (old_dir.mount !== new_dir.mount) {
+ throw new FS.ErrnoError(75);
+ }
+ var old_node = FS.lookupNode(old_dir, old_name);
+ var relative = PATH_FS.relative(old_path, new_dirname);
+ if (relative.charAt(0) !== ".") {
+ throw new FS.ErrnoError(28);
+ }
+ relative = PATH_FS.relative(new_path, old_dirname);
+ if (relative.charAt(0) !== ".") {
+ throw new FS.ErrnoError(55);
+ }
+ var new_node;
+ try {
+ new_node = FS.lookupNode(new_dir, new_name);
+ } catch (e) {}
+ if (old_node === new_node) {
+ return;
+ }
+ var isdir = FS.isDir(old_node.mode);
+ var errCode = FS.mayDelete(old_dir, old_name, isdir);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ errCode = new_node
+ ? FS.mayDelete(new_dir, new_name, isdir)
+ : FS.mayCreate(new_dir, new_name);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ if (!old_dir.node_ops.rename) {
+ throw new FS.ErrnoError(63);
+ }
+ if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
+ throw new FS.ErrnoError(10);
+ }
+ if (new_dir !== old_dir) {
+ errCode = FS.nodePermissions(old_dir, "w");
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ }
+ try {
+ if (FS.trackingDelegate["willMovePath"]) {
+ FS.trackingDelegate["willMovePath"](old_path, new_path);
+ }
+ } catch (e) {
+ err(
+ "FS.trackingDelegate['willMovePath']('" +
+ old_path +
+ "', '" +
+ new_path +
+ "') threw an exception: " +
+ e.message
+ );
+ }
+ FS.hashRemoveNode(old_node);
+ try {
+ old_dir.node_ops.rename(old_node, new_dir, new_name);
+ } catch (e) {
+ throw e;
+ } finally {
+ FS.hashAddNode(old_node);
+ }
+ try {
+ if (FS.trackingDelegate["onMovePath"])
+ FS.trackingDelegate["onMovePath"](old_path, new_path);
+ } catch (e) {
+ err(
+ "FS.trackingDelegate['onMovePath']('" +
+ old_path +
+ "', '" +
+ new_path +
+ "') threw an exception: " +
+ e.message
+ );
+ }
+ },
+ rmdir: function(path) {
+ var lookup = FS.lookupPath(path, { parent: true });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ var node = FS.lookupNode(parent, name);
+ var errCode = FS.mayDelete(parent, name, true);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ if (!parent.node_ops.rmdir) {
+ throw new FS.ErrnoError(63);
+ }
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(10);
+ }
+ try {
+ if (FS.trackingDelegate["willDeletePath"]) {
+ FS.trackingDelegate["willDeletePath"](path);
+ }
+ } catch (e) {
+ err(
+ "FS.trackingDelegate['willDeletePath']('" +
+ path +
+ "') threw an exception: " +
+ e.message
+ );
+ }
+ parent.node_ops.rmdir(parent, name);
+ FS.destroyNode(node);
+ try {
+ if (FS.trackingDelegate["onDeletePath"])
+ FS.trackingDelegate["onDeletePath"](path);
+ } catch (e) {
+ err(
+ "FS.trackingDelegate['onDeletePath']('" +
+ path +
+ "') threw an exception: " +
+ e.message
+ );
+ }
+ },
+ readdir: function(path) {
+ var lookup = FS.lookupPath(path, { follow: true });
+ var node = lookup.node;
+ if (!node.node_ops.readdir) {
+ throw new FS.ErrnoError(54);
+ }
+ return node.node_ops.readdir(node);
+ },
+ unlink: function(path) {
+ var lookup = FS.lookupPath(path, { parent: true });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ var node = FS.lookupNode(parent, name);
+ var errCode = FS.mayDelete(parent, name, false);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ if (!parent.node_ops.unlink) {
+ throw new FS.ErrnoError(63);
+ }
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(10);
+ }
+ try {
+ if (FS.trackingDelegate["willDeletePath"]) {
+ FS.trackingDelegate["willDeletePath"](path);
+ }
+ } catch (e) {
+ err(
+ "FS.trackingDelegate['willDeletePath']('" +
+ path +
+ "') threw an exception: " +
+ e.message
+ );
+ }
+ parent.node_ops.unlink(parent, name);
+ FS.destroyNode(node);
+ try {
+ if (FS.trackingDelegate["onDeletePath"])
+ FS.trackingDelegate["onDeletePath"](path);
+ } catch (e) {
+ err(
+ "FS.trackingDelegate['onDeletePath']('" +
+ path +
+ "') threw an exception: " +
+ e.message
+ );
+ }
+ },
+ readlink: function(path) {
+ var lookup = FS.lookupPath(path);
+ var link = lookup.node;
+ if (!link) {
+ throw new FS.ErrnoError(44);
+ }
+ if (!link.node_ops.readlink) {
+ throw new FS.ErrnoError(28);
+ }
+ return PATH_FS.resolve(
+ FS.getPath(link.parent),
+ link.node_ops.readlink(link)
+ );
+ },
+ stat: function(path, dontFollow) {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ var node = lookup.node;
+ if (!node) {
+ throw new FS.ErrnoError(44);
+ }
+ if (!node.node_ops.getattr) {
+ throw new FS.ErrnoError(63);
+ }
+ return node.node_ops.getattr(node);
+ },
+ lstat: function(path) {
+ return FS.stat(path, true);
+ },
+ chmod: function(path, mode, dontFollow) {
+ var node;
+ if (typeof path === "string") {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(63);
+ }
+ node.node_ops.setattr(node, {
+ mode: (mode & 4095) | (node.mode & ~4095),
+ timestamp: Date.now()
+ });
+ },
+ lchmod: function(path, mode) {
+ FS.chmod(path, mode, true);
+ },
+ fchmod: function(fd, mode) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(8);
+ }
+ FS.chmod(stream.node, mode);
+ },
+ chown: function(path, uid, gid, dontFollow) {
+ var node;
+ if (typeof path === "string") {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(63);
+ }
+ node.node_ops.setattr(node, { timestamp: Date.now() });
+ },
+ lchown: function(path, uid, gid) {
+ FS.chown(path, uid, gid, true);
+ },
+ fchown: function(fd, uid, gid) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(8);
+ }
+ FS.chown(stream.node, uid, gid);
+ },
+ truncate: function(path, len) {
+ if (len < 0) {
+ throw new FS.ErrnoError(28);
+ }
+ var node;
+ if (typeof path === "string") {
+ var lookup = FS.lookupPath(path, { follow: true });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(63);
+ }
+ if (FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(31);
+ }
+ if (!FS.isFile(node.mode)) {
+ throw new FS.ErrnoError(28);
+ }
+ var errCode = FS.nodePermissions(node, "w");
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ node.node_ops.setattr(node, { size: len, timestamp: Date.now() });
+ },
+ ftruncate: function(fd, len) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(8);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(28);
+ }
+ FS.truncate(stream.node, len);
+ },
+ utime: function(path, atime, mtime) {
+ var lookup = FS.lookupPath(path, { follow: true });
+ var node = lookup.node;
+ node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) });
+ },
+ open: function(path, flags, mode, fd_start, fd_end) {
+ if (path === "") {
+ throw new FS.ErrnoError(44);
+ }
+ flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
+ mode = typeof mode === "undefined" ? 438 : mode;
+ if (flags & 64) {
+ mode = (mode & 4095) | 32768;
+ } else {
+ mode = 0;
+ }
+ var node;
+ if (typeof path === "object") {
+ node = path;
+ } else {
+ path = PATH.normalize(path);
+ try {
+ var lookup = FS.lookupPath(path, { follow: !(flags & 131072) });
+ node = lookup.node;
+ } catch (e) {}
+ }
+ var created = false;
+ if (flags & 64) {
+ if (node) {
+ if (flags & 128) {
+ throw new FS.ErrnoError(20);
+ }
+ } else {
+ node = FS.mknod(path, mode, 0);
+ created = true;
+ }
+ }
+ if (!node) {
+ throw new FS.ErrnoError(44);
+ }
+ if (FS.isChrdev(node.mode)) {
+ flags &= ~512;
+ }
+ if (flags & 65536 && !FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(54);
+ }
+ if (!created) {
+ var errCode = FS.mayOpen(node, flags);
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ }
+ if (flags & 512) {
+ FS.truncate(node, 0);
+ }
+ flags &= ~(128 | 512 | 131072);
+ var stream = FS.createStream(
+ {
+ node: node,
+ path: FS.getPath(node),
+ flags: flags,
+ seekable: true,
+ position: 0,
+ stream_ops: node.stream_ops,
+ ungotten: [],
+ error: false
+ },
+ fd_start,
+ fd_end
+ );
+ if (stream.stream_ops.open) {
+ stream.stream_ops.open(stream);
+ }
+ if (Module["logReadFiles"] && !(flags & 1)) {
+ if (!FS.readFiles) FS.readFiles = {};
+ if (!(path in FS.readFiles)) {
+ FS.readFiles[path] = 1;
+ err("FS.trackingDelegate error on read file: " + path);
+ }
+ }
+ try {
+ if (FS.trackingDelegate["onOpenFile"]) {
+ var trackingFlags = 0;
+ if ((flags & 2097155) !== 1) {
+ trackingFlags |= FS.tracking.openFlags.READ;
+ }
+ if ((flags & 2097155) !== 0) {
+ trackingFlags |= FS.tracking.openFlags.WRITE;
+ }
+ FS.trackingDelegate["onOpenFile"](path, trackingFlags);
+ }
+ } catch (e) {
+ err(
+ "FS.trackingDelegate['onOpenFile']('" +
+ path +
+ "', flags) threw an exception: " +
+ e.message
+ );
+ }
+ return stream;
+ },
+ close: function(stream) {
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(8);
+ }
+ if (stream.getdents) stream.getdents = null;
+ try {
+ if (stream.stream_ops.close) {
+ stream.stream_ops.close(stream);
+ }
+ } catch (e) {
+ throw e;
+ } finally {
+ FS.closeStream(stream.fd);
+ }
+ stream.fd = null;
+ },
+ isClosed: function(stream) {
+ return stream.fd === null;
+ },
+ llseek: function(stream, offset, whence) {
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(8);
+ }
+ if (!stream.seekable || !stream.stream_ops.llseek) {
+ throw new FS.ErrnoError(70);
+ }
+ if (whence != 0 && whence != 1 && whence != 2) {
+ throw new FS.ErrnoError(28);
+ }
+ stream.position = stream.stream_ops.llseek(stream, offset, whence);
+ stream.ungotten = [];
+ return stream.position;
+ },
+ read: function(stream, buffer, offset, length, position) {
+ if (length < 0 || position < 0) {
+ throw new FS.ErrnoError(28);
+ }
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(8);
+ }
+ if ((stream.flags & 2097155) === 1) {
+ throw new FS.ErrnoError(8);
+ }
+ if (FS.isDir(stream.node.mode)) {
+ throw new FS.ErrnoError(31);
+ }
+ if (!stream.stream_ops.read) {
+ throw new FS.ErrnoError(28);
+ }
+ var seeking = typeof position !== "undefined";
+ if (!seeking) {
+ position = stream.position;
+ } else if (!stream.seekable) {
+ throw new FS.ErrnoError(70);
+ }
+ var bytesRead = stream.stream_ops.read(
+ stream,
+ buffer,
+ offset,
+ length,
+ position
+ );
+ if (!seeking) stream.position += bytesRead;
+ return bytesRead;
+ },
+ write: function(stream, buffer, offset, length, position, canOwn) {
+ if (length < 0 || position < 0) {
+ throw new FS.ErrnoError(28);
+ }
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(8);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(8);
+ }
+ if (FS.isDir(stream.node.mode)) {
+ throw new FS.ErrnoError(31);
+ }
+ if (!stream.stream_ops.write) {
+ throw new FS.ErrnoError(28);
+ }
+ if (stream.seekable && stream.flags & 1024) {
+ FS.llseek(stream, 0, 2);
+ }
+ var seeking = typeof position !== "undefined";
+ if (!seeking) {
+ position = stream.position;
+ } else if (!stream.seekable) {
+ throw new FS.ErrnoError(70);
+ }
+ var bytesWritten = stream.stream_ops.write(
+ stream,
+ buffer,
+ offset,
+ length,
+ position,
+ canOwn
+ );
+ if (!seeking) stream.position += bytesWritten;
+ try {
+ if (stream.path && FS.trackingDelegate["onWriteToFile"])
+ FS.trackingDelegate["onWriteToFile"](stream.path);
+ } catch (e) {
+ err(
+ "FS.trackingDelegate['onWriteToFile']('" +
+ stream.path +
+ "') threw an exception: " +
+ e.message
+ );
+ }
+ return bytesWritten;
+ },
+ allocate: function(stream, offset, length) {
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(8);
+ }
+ if (offset < 0 || length <= 0) {
+ throw new FS.ErrnoError(28);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(8);
+ }
+ if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
+ throw new FS.ErrnoError(43);
+ }
+ if (!stream.stream_ops.allocate) {
+ throw new FS.ErrnoError(138);
+ }
+ stream.stream_ops.allocate(stream, offset, length);
+ },
+ mmap: function(stream, address, length, position, prot, flags) {
+ if (
+ (prot & 2) !== 0 &&
+ (flags & 2) === 0 &&
+ (stream.flags & 2097155) !== 2
+ ) {
+ throw new FS.ErrnoError(2);
+ }
+ if ((stream.flags & 2097155) === 1) {
+ throw new FS.ErrnoError(2);
+ }
+ if (!stream.stream_ops.mmap) {
+ throw new FS.ErrnoError(43);
+ }
+ return stream.stream_ops.mmap(
+ stream,
+ address,
+ length,
+ position,
+ prot,
+ flags
+ );
+ },
+ msync: function(stream, buffer, offset, length, mmapFlags) {
+ if (!stream || !stream.stream_ops.msync) {
+ return 0;
+ }
+ return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
+ },
+ munmap: function(stream) {
+ return 0;
+ },
+ ioctl: function(stream, cmd, arg) {
+ if (!stream.stream_ops.ioctl) {
+ throw new FS.ErrnoError(59);
+ }
+ return stream.stream_ops.ioctl(stream, cmd, arg);
+ },
+ readFile: function(path, opts) {
+ opts = opts || {};
+ opts.flags = opts.flags || "r";
+ opts.encoding = opts.encoding || "binary";
+ if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
+ throw new Error('Invalid encoding type "' + opts.encoding + '"');
+ }
+ var ret;
+ var stream = FS.open(path, opts.flags);
+ var stat = FS.stat(path);
+ var length = stat.size;
+ var buf = new Uint8Array(length);
+ FS.read(stream, buf, 0, length, 0);
+ if (opts.encoding === "utf8") {
+ ret = UTF8ArrayToString(buf, 0);
+ } else if (opts.encoding === "binary") {
+ ret = buf;
+ }
+ FS.close(stream);
+ return ret;
+ },
+ writeFile: function(path, data, opts) {
+ opts = opts || {};
+ opts.flags = opts.flags || "w";
+ var stream = FS.open(path, opts.flags, opts.mode);
+ if (typeof data === "string") {
+ var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
+ var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
+ FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
+ } else if (ArrayBuffer.isView(data)) {
+ FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
+ } else {
+ throw new Error("Unsupported data type");
+ }
+ FS.close(stream);
+ },
+ cwd: function() {
+ return FS.currentPath;
+ },
+ chdir: function(path) {
+ var lookup = FS.lookupPath(path, { follow: true });
+ if (lookup.node === null) {
+ throw new FS.ErrnoError(44);
+ }
+ if (!FS.isDir(lookup.node.mode)) {
+ throw new FS.ErrnoError(54);
+ }
+ var errCode = FS.nodePermissions(lookup.node, "x");
+ if (errCode) {
+ throw new FS.ErrnoError(errCode);
+ }
+ FS.currentPath = lookup.path;
+ },
+ createDefaultDirectories: function() {
+ FS.mkdir("/tmp");
+ FS.mkdir("/home");
+ FS.mkdir("/home/web_user");
+ },
+ createDefaultDevices: function() {
+ FS.mkdir("/dev");
+ FS.registerDevice(FS.makedev(1, 3), {
+ read: function() {
+ return 0;
+ },
+ write: function(stream, buffer, offset, length, pos) {
+ return length;
+ }
+ });
+ FS.mkdev("/dev/null", FS.makedev(1, 3));
+ TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
+ TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
+ FS.mkdev("/dev/tty", FS.makedev(5, 0));
+ FS.mkdev("/dev/tty1", FS.makedev(6, 0));
+ var random_device;
+ if (
+ typeof crypto === "object" &&
+ typeof crypto["getRandomValues"] === "function"
+ ) {
+ var randomBuffer = new Uint8Array(1);
+ random_device = function() {
+ crypto.getRandomValues(randomBuffer);
+ return randomBuffer[0];
+ };
+ } else if (ENVIRONMENT_IS_NODE) {
+ try {
+ var crypto_module = __webpack_require__(417);
+ random_device = function() {
+ return crypto_module["randomBytes"](1)[0];
+ };
+ } catch (e) {}
+ } else {
+ }
+ if (!random_device) {
+ random_device = function() {
+ abort("random_device");
+ };
+ }
+ FS.createDevice("/dev", "random", random_device);
+ FS.createDevice("/dev", "urandom", random_device);
+ FS.mkdir("/dev/shm");
+ FS.mkdir("/dev/shm/tmp");
+ },
+ createSpecialDirectories: function() {
+ FS.mkdir("/proc");
+ FS.mkdir("/proc/self");
+ FS.mkdir("/proc/self/fd");
+ FS.mount(
+ {
+ mount: function() {
+ var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
+ node.node_ops = {
+ lookup: function(parent, name) {
+ var fd = +name;
+ var stream = FS.getStream(fd);
+ if (!stream) throw new FS.ErrnoError(8);
+ var ret = {
+ parent: null,
+ mount: { mountpoint: "fake" },
+ node_ops: {
+ readlink: function() {
+ return stream.path;
+ }
+ }
+ };
+ ret.parent = ret;
+ return ret;
+ }
+ };
+ return node;
+ }
+ },
+ {},
+ "/proc/self/fd"
+ );
+ },
+ createStandardStreams: function() {
+ if (Module["stdin"]) {
+ FS.createDevice("/dev", "stdin", Module["stdin"]);
+ } else {
+ FS.symlink("/dev/tty", "/dev/stdin");
+ }
+ if (Module["stdout"]) {
+ FS.createDevice("/dev", "stdout", null, Module["stdout"]);
+ } else {
+ FS.symlink("/dev/tty", "/dev/stdout");
+ }
+ if (Module["stderr"]) {
+ FS.createDevice("/dev", "stderr", null, Module["stderr"]);
+ } else {
+ FS.symlink("/dev/tty1", "/dev/stderr");
+ }
+ var stdin = FS.open("/dev/stdin", "r");
+ var stdout = FS.open("/dev/stdout", "w");
+ var stderr = FS.open("/dev/stderr", "w");
+ },
+ ensureErrnoError: function() {
+ if (FS.ErrnoError) return;
+ FS.ErrnoError = function ErrnoError(errno, node) {
+ this.node = node;
+ this.setErrno = function(errno) {
+ this.errno = errno;
+ };
+ this.setErrno(errno);
+ this.message = "FS error";
+ };
+ FS.ErrnoError.prototype = new Error();
+ FS.ErrnoError.prototype.constructor = FS.ErrnoError;
+ [44].forEach(function(code) {
+ FS.genericErrors[code] = new FS.ErrnoError(code);
+ FS.genericErrors[code].stack = "<generic error, no stack>";
+ });
+ },
+ staticInit: function() {
+ FS.ensureErrnoError();
+ FS.nameTable = new Array(4096);
+ FS.mount(MEMFS, {}, "/");
+ FS.createDefaultDirectories();
+ FS.createDefaultDevices();
+ FS.createSpecialDirectories();
+ FS.filesystems = { MEMFS: MEMFS, NODEFS: NODEFS };
+ },
+ init: function(input, output, error) {
+ FS.init.initialized = true;
+ FS.ensureErrnoError();
+ Module["stdin"] = input || Module["stdin"];
+ Module["stdout"] = output || Module["stdout"];
+ Module["stderr"] = error || Module["stderr"];
+ FS.createStandardStreams();
+ },
+ quit: function() {
+ FS.init.initialized = false;
+ var fflush = Module["_fflush"];
+ if (fflush) fflush(0);
+ for (var i = 0; i < FS.streams.length; i++) {
+ var stream = FS.streams[i];
+ if (!stream) {
+ continue;
+ }
+ FS.close(stream);
+ }
+ },
+ getMode: function(canRead, canWrite) {
+ var mode = 0;
+ if (canRead) mode |= 292 | 73;
+ if (canWrite) mode |= 146;
+ return mode;
+ },
+ joinPath: function(parts, forceRelative) {
+ var path = PATH.join.apply(null, parts);
+ if (forceRelative && path[0] == "/") path = path.substr(1);
+ return path;
+ },
+ absolutePath: function(relative, base) {
+ return PATH_FS.resolve(base, relative);
+ },
+ standardizePath: function(path) {
+ return PATH.normalize(path);
+ },
+ findObject: function(path, dontResolveLastLink) {
+ var ret = FS.analyzePath(path, dontResolveLastLink);
+ if (ret.exists) {
+ return ret.object;
+ } else {
+ setErrNo(ret.error);
+ return null;
+ }
+ },
+ analyzePath: function(path, dontResolveLastLink) {
+ try {
+ var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
+ path = lookup.path;
+ } catch (e) {}
+ var ret = {
+ isRoot: false,
+ exists: false,
+ error: 0,
+ name: null,
+ path: null,
+ object: null,
+ parentExists: false,
+ parentPath: null,
+ parentObject: null
+ };
+ try {
+ var lookup = FS.lookupPath(path, { parent: true });
+ ret.parentExists = true;
+ ret.parentPath = lookup.path;
+ ret.parentObject = lookup.node;
+ ret.name = PATH.basename(path);
+ lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
+ ret.exists = true;
+ ret.path = lookup.path;
+ ret.object = lookup.node;
+ ret.name = lookup.node.name;
+ ret.isRoot = lookup.path === "/";
+ } catch (e) {
+ ret.error = e.errno;
+ }
+ return ret;
+ },
+ createFolder: function(parent, name, canRead, canWrite) {
+ var path = PATH.join2(
+ typeof parent === "string" ? parent : FS.getPath(parent),
+ name
+ );
+ var mode = FS.getMode(canRead, canWrite);
+ return FS.mkdir(path, mode);
+ },
+ createPath: function(parent, path, canRead, canWrite) {
+ parent = typeof parent === "string" ? parent : FS.getPath(parent);
+ var parts = path.split("/").reverse();
+ while (parts.length) {
+ var part = parts.pop();
+ if (!part) continue;
+ var current = PATH.join2(parent, part);
+ try {
+ FS.mkdir(current);
+ } catch (e) {}
+ parent = current;
+ }
+ return current;
+ },
+ createFile: function(parent, name, properties, canRead, canWrite) {
+ var path = PATH.join2(
+ typeof parent === "string" ? parent : FS.getPath(parent),
+ name
+ );
+ var mode = FS.getMode(canRead, canWrite);
+ return FS.create(path, mode);
+ },
+ createDataFile: function(parent, name, data, canRead, canWrite, canOwn) {
+ var path = name
+ ? PATH.join2(
+ typeof parent === "string" ? parent : FS.getPath(parent),
+ name
+ )
+ : parent;
+ var mode = FS.getMode(canRead, canWrite);
+ var node = FS.create(path, mode);
+ if (data) {
+ if (typeof data === "string") {
+ var arr = new Array(data.length);
+ for (var i = 0, len = data.length; i < len; ++i)
+ arr[i] = data.charCodeAt(i);
+ data = arr;
+ }
+ FS.chmod(node, mode | 146);
+ var stream = FS.open(node, "w");
+ FS.write(stream, data, 0, data.length, 0, canOwn);
+ FS.close(stream);
+ FS.chmod(node, mode);
+ }
+ return node;
+ },
+ createDevice: function(parent, name, input, output) {
+ var path = PATH.join2(
+ typeof parent === "string" ? parent : FS.getPath(parent),
+ name
+ );
+ var mode = FS.getMode(!!input, !!output);
+ if (!FS.createDevice.major) FS.createDevice.major = 64;
+ var dev = FS.makedev(FS.createDevice.major++, 0);
+ FS.registerDevice(dev, {
+ open: function(stream) {
+ stream.seekable = false;
+ },
+ close: function(stream) {
+ if (output && output.buffer && output.buffer.length) {
+ output(10);
+ }
+ },
+ read: function(stream, buffer, offset, length, pos) {
+ var bytesRead = 0;
+ for (var i = 0; i < length; i++) {
+ var result;
+ try {
+ result = input();
+ } catch (e) {
+ throw new FS.ErrnoError(29);
+ }
+ if (result === undefined && bytesRead === 0) {
+ throw new FS.ErrnoError(6);
+ }
+ if (result === null || result === undefined) break;
+ bytesRead++;
+ buffer[offset + i] = result;
+ }
+ if (bytesRead) {
+ stream.node.timestamp = Date.now();
+ }
+ return bytesRead;
+ },
+ write: function(stream, buffer, offset, length, pos) {
+ for (var i = 0; i < length; i++) {
+ try {
+ output(buffer[offset + i]);
+ } catch (e) {
+ throw new FS.ErrnoError(29);
+ }
+ }
+ if (length) {
+ stream.node.timestamp = Date.now();
+ }
+ return i;
+ }
+ });
+ return FS.mkdev(path, mode, dev);
+ },
+ createLink: function(parent, name, target, canRead, canWrite) {
+ var path = PATH.join2(
+ typeof parent === "string" ? parent : FS.getPath(parent),
+ name
+ );
+ return FS.symlink(target, path);
+ },
+ forceLoadFile: function(obj) {
+ if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
+ var success = true;
+ if (typeof XMLHttpRequest !== "undefined") {
+ throw new Error(
+ "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."
+ );
+ } else if (read_) {
+ try {
+ obj.contents = intArrayFromString(read_(obj.url), true);
+ obj.usedBytes = obj.contents.length;
+ } catch (e) {
+ success = false;
+ }
+ } else {
+ throw new Error("Cannot load without read() or XMLHttpRequest.");
+ }
+ if (!success) setErrNo(29);
+ return success;
+ },
+ createLazyFile: function(parent, name, url, canRead, canWrite) {
+ function LazyUint8Array() {
+ this.lengthKnown = false;
+ this.chunks = [];
+ }
+ LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
+ if (idx > this.length - 1 || idx < 0) {
+ return undefined;
+ }
+ var chunkOffset = idx % this.chunkSize;
+ var chunkNum = (idx / this.chunkSize) | 0;
+ return this.getter(chunkNum)[chunkOffset];
+ };
+ LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(
+ getter
+ ) {
+ this.getter = getter;
+ };
+ LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
+ var xhr = new XMLHttpRequest();
+ xhr.open("HEAD", url, false);
+ xhr.send(null);
+ if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304))
+ throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+ var datalength = Number(xhr.getResponseHeader("Content-length"));
+ var header;
+ var hasByteServing =
+ (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
+ var usesGzip =
+ (header = xhr.getResponseHeader("Content-Encoding")) &&
+ header === "gzip";
+ var chunkSize = 1024 * 1024;
+ if (!hasByteServing) chunkSize = datalength;
+ var doXHR = function(from, to) {
+ if (from > to)
+ throw new Error(
+ "invalid range (" + from + ", " + to + ") or no bytes requested!"
+ );
+ if (to > datalength - 1)
+ throw new Error(
+ "only " + datalength + " bytes available! programmer error!"
+ );
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", url, false);
+ if (datalength !== chunkSize)
+ xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
+ if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer";
+ if (xhr.overrideMimeType) {
+ xhr.overrideMimeType("text/plain; charset=x-user-defined");
+ }
+ xhr.send(null);
+ if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304))
+ throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+ if (xhr.response !== undefined) {
+ return new Uint8Array(xhr.response || []);
+ } else {
+ return intArrayFromString(xhr.responseText || "", true);
+ }
+ };
+ var lazyArray = this;
+ lazyArray.setDataGetter(function(chunkNum) {
+ var start = chunkNum * chunkSize;
+ var end = (chunkNum + 1) * chunkSize - 1;
+ end = Math.min(end, datalength - 1);
+ if (typeof lazyArray.chunks[chunkNum] === "undefined") {
+ lazyArray.chunks[chunkNum] = doXHR(start, end);
+ }
+ if (typeof lazyArray.chunks[chunkNum] === "undefined")
+ throw new Error("doXHR failed!");
+ return lazyArray.chunks[chunkNum];
+ });
+ if (usesGzip || !datalength) {
+ chunkSize = datalength = 1;
+ datalength = this.getter(0).length;
+ chunkSize = datalength;
+ out(
+ "LazyFiles on gzip forces download of the whole file when length is accessed"
+ );
+ }
+ this._length = datalength;
+ this._chunkSize = chunkSize;
+ this.lengthKnown = true;
+ };
+ if (typeof XMLHttpRequest !== "undefined") {
+ if (!ENVIRONMENT_IS_WORKER)
+ throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
+ var lazyArray = new LazyUint8Array();
+ Object.defineProperties(lazyArray, {
+ length: {
+ get: function() {
+ if (!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._length;
+ }
+ },
+ chunkSize: {
+ get: function() {
+ if (!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._chunkSize;
+ }
+ }
+ });
+ var properties = { isDevice: false, contents: lazyArray };
+ } else {
+ var properties = { isDevice: false, url: url };
+ }
+ var node = FS.createFile(parent, name, properties, canRead, canWrite);
+ if (properties.contents) {
+ node.contents = properties.contents;
+ } else if (properties.url) {
+ node.contents = null;
+ node.url = properties.url;
+ }
+ Object.defineProperties(node, {
+ usedBytes: {
+ get: function() {
+ return this.contents.length;
+ }
+ }
+ });
+ var stream_ops = {};
+ var keys = Object.keys(node.stream_ops);
+ keys.forEach(function(key) {
+ var fn = node.stream_ops[key];
+ stream_ops[key] = function forceLoadLazyFile() {
+ if (!FS.forceLoadFile(node)) {
+ throw new FS.ErrnoError(29);
+ }
+ return fn.apply(null, arguments);
+ };
+ });
+ stream_ops.read = function stream_ops_read(
+ stream,
+ buffer,
+ offset,
+ length,
+ position
+ ) {
+ if (!FS.forceLoadFile(node)) {
+ throw new FS.ErrnoError(29);
+ }
+ var contents = stream.node.contents;
+ if (position >= contents.length) return 0;
+ var size = Math.min(contents.length - position, length);
+ if (contents.slice) {
+ for (var i = 0; i < size; i++) {
+ buffer[offset + i] = contents[position + i];
+ }
+ } else {
+ for (var i = 0; i < size; i++) {
+ buffer[offset + i] = contents.get(position + i);
+ }
+ }
+ return size;
+ };
+ node.stream_ops = stream_ops;
+ return node;
+ },
+ createPreloadedFile: function(
+ parent,
+ name,
+ url,
+ canRead,
+ canWrite,
+ onload,
+ onerror,
+ dontCreateFile,
+ canOwn,
+ preFinish
+ ) {
+ Browser.init();
+ var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
+ var dep = getUniqueRunDependency("cp " + fullname);
+ function processData(byteArray) {
+ function finish(byteArray) {
+ if (preFinish) preFinish();
+ if (!dontCreateFile) {
+ FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
+ }
+ if (onload) onload();
+ removeRunDependency(dep);
+ }
+ var handled = false;
+ Module["preloadPlugins"].forEach(function(plugin) {
+ if (handled) return;
+ if (plugin["canHandle"](fullname)) {
+ plugin["handle"](byteArray, fullname, finish, function() {
+ if (onerror) onerror();
+ removeRunDependency(dep);
+ });
+ handled = true;
+ }
+ });
+ if (!handled) finish(byteArray);
+ }
+ addRunDependency(dep);
+ if (typeof url == "string") {
+ Browser.asyncLoad(
+ url,
+ function(byteArray) {
+ processData(byteArray);
+ },
+ onerror
+ );
+ } else {
+ processData(url);
+ }
+ },
+ indexedDB: function() {
+ return (
+ window.indexedDB ||
+ window.mozIndexedDB ||
+ window.webkitIndexedDB ||
+ window.msIndexedDB
+ );
+ },
+ DB_NAME: function() {
+ return "EM_FS_" + window.location.pathname;
+ },
+ DB_VERSION: 20,
+ DB_STORE_NAME: "FILE_DATA",
+ saveFilesToDB: function(paths, onload, onerror) {
+ onload = onload || function() {};
+ onerror = onerror || function() {};
+ var indexedDB = FS.indexedDB();
+ try {
+ var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+ } catch (e) {
+ return onerror(e);
+ }
+ openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
+ out("creating db");
+ var db = openRequest.result;
+ db.createObjectStore(FS.DB_STORE_NAME);
+ };
+ openRequest.onsuccess = function openRequest_onsuccess() {
+ var db = openRequest.result;
+ var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite");
+ var files = transaction.objectStore(FS.DB_STORE_NAME);
+ var ok = 0,
+ fail = 0,
+ total = paths.length;
+ function finish() {
+ if (fail == 0) onload();
+ else onerror();
+ }
+ paths.forEach(function(path) {
+ var putRequest = files.put(FS.analyzePath(path).object.contents, path);
+ putRequest.onsuccess = function putRequest_onsuccess() {
+ ok++;
+ if (ok + fail == total) finish();
+ };
+ putRequest.onerror = function putRequest_onerror() {
+ fail++;
+ if (ok + fail == total) finish();
+ };
+ });
+ transaction.onerror = onerror;
+ };
+ openRequest.onerror = onerror;
+ },
+ loadFilesFromDB: function(paths, onload, onerror) {
+ onload = onload || function() {};
+ onerror = onerror || function() {};
+ var indexedDB = FS.indexedDB();
+ try {
+ var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+ } catch (e) {
+ return onerror(e);
+ }
+ openRequest.onupgradeneeded = onerror;
+ openRequest.onsuccess = function openRequest_onsuccess() {
+ var db = openRequest.result;
+ try {
+ var transaction = db.transaction([FS.DB_STORE_NAME], "readonly");
+ } catch (e) {
+ onerror(e);
+ return;
+ }
+ var files = transaction.objectStore(FS.DB_STORE_NAME);
+ var ok = 0,
+ fail = 0,
+ total = paths.length;
+ function finish() {
+ if (fail == 0) onload();
+ else onerror();
+ }
+ paths.forEach(function(path) {
+ var getRequest = files.get(path);
+ getRequest.onsuccess = function getRequest_onsuccess() {
+ if (FS.analyzePath(path).exists) {
+ FS.unlink(path);
+ }
+ FS.createDataFile(
+ PATH.dirname(path),
+ PATH.basename(path),
+ getRequest.result,
+ true,
+ true,
+ true
+ );
+ ok++;
+ if (ok + fail == total) finish();
+ };
+ getRequest.onerror = function getRequest_onerror() {
+ fail++;
+ if (ok + fail == total) finish();
+ };
+ });
+ transaction.onerror = onerror;
+ };
+ openRequest.onerror = onerror;
+ },
+ mmapAlloc: function(size) {
+ var alignedSize = alignMemory(size, 16384);
+ var ptr = _malloc(alignedSize);
+ while (size < alignedSize) HEAP8[ptr + size++] = 0;
+ return ptr;
+ }
+};
+var SYSCALLS = {
+ mappings: {},
+ DEFAULT_POLLMASK: 5,
+ umask: 511,
+ calculateAt: function(dirfd, path) {
+ if (path[0] !== "/") {
+ var dir;
+ if (dirfd === -100) {
+ dir = FS.cwd();
+ } else {
+ var dirstream = FS.getStream(dirfd);
+ if (!dirstream) throw new FS.ErrnoError(8);
+ dir = dirstream.path;
+ }
+ path = PATH.join2(dir, path);
+ }
+ return path;
+ },
+ doStat: function(func, path, buf) {
+ try {
+ var stat = func(path);
+ } catch (e) {
+ if (
+ e &&
+ e.node &&
+ PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))
+ ) {
+ return -54;
+ }
+ throw e;
+ }
+ HEAP32[buf >> 2] = stat.dev;
+ HEAP32[(buf + 4) >> 2] = 0;
+ HEAP32[(buf + 8) >> 2] = stat.ino;
+ HEAP32[(buf + 12) >> 2] = stat.mode;
+ HEAP32[(buf + 16) >> 2] = stat.nlink;
+ HEAP32[(buf + 20) >> 2] = stat.uid;
+ HEAP32[(buf + 24) >> 2] = stat.gid;
+ HEAP32[(buf + 28) >> 2] = stat.rdev;
+ HEAP32[(buf + 32) >> 2] = 0;
+ (tempI64 = [
+ stat.size >>> 0,
+ ((tempDouble = stat.size),
+ +Math_abs(tempDouble) >= 1
+ ? tempDouble > 0
+ ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>>
+ 0
+ : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>>
+ 0
+ : 0)
+ ]),
+ (HEAP32[(buf + 40) >> 2] = tempI64[0]),
+ (HEAP32[(buf + 44) >> 2] = tempI64[1]);
+ HEAP32[(buf + 48) >> 2] = 4096;
+ HEAP32[(buf + 52) >> 2] = stat.blocks;
+ HEAP32[(buf + 56) >> 2] = (stat.atime.getTime() / 1e3) | 0;
+ HEAP32[(buf + 60) >> 2] = 0;
+ HEAP32[(buf + 64) >> 2] = (stat.mtime.getTime() / 1e3) | 0;
+ HEAP32[(buf + 68) >> 2] = 0;
+ HEAP32[(buf + 72) >> 2] = (stat.ctime.getTime() / 1e3) | 0;
+ HEAP32[(buf + 76) >> 2] = 0;
+ (tempI64 = [
+ stat.ino >>> 0,
+ ((tempDouble = stat.ino),
+ +Math_abs(tempDouble) >= 1
+ ? tempDouble > 0
+ ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>>
+ 0
+ : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>>
+ 0
+ : 0)
+ ]),
+ (HEAP32[(buf + 80) >> 2] = tempI64[0]),
+ (HEAP32[(buf + 84) >> 2] = tempI64[1]);
+ return 0;
+ },
+ doMsync: function(addr, stream, len, flags, offset) {
+ var buffer = HEAPU8.slice(addr, addr + len);
+ FS.msync(stream, buffer, offset, len, flags);
+ },
+ doMkdir: function(path, mode) {
+ path = PATH.normalize(path);
+ if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1);
+ FS.mkdir(path, mode, 0);
+ return 0;
+ },
+ doMknod: function(path, mode, dev) {
+ switch (mode & 61440) {
+ case 32768:
+ case 8192:
+ case 24576:
+ case 4096:
+ case 49152:
+ break;
+ default:
+ return -28;
+ }
+ FS.mknod(path, mode, dev);
+ return 0;
+ },
+ doReadlink: function(path, buf, bufsize) {
+ if (bufsize <= 0) return -28;
+ var ret = FS.readlink(path);
+ var len = Math.min(bufsize, lengthBytesUTF8(ret));
+ var endChar = HEAP8[buf + len];
+ stringToUTF8(ret, buf, bufsize + 1);
+ HEAP8[buf + len] = endChar;
+ return len;
+ },
+ doAccess: function(path, amode) {
+ if (amode & ~7) {
+ return -28;
+ }
+ var node;
+ var lookup = FS.lookupPath(path, { follow: true });
+ node = lookup.node;
+ if (!node) {
+ return -44;
+ }
+ var perms = "";
+ if (amode & 4) perms += "r";
+ if (amode & 2) perms += "w";
+ if (amode & 1) perms += "x";
+ if (perms && FS.nodePermissions(node, perms)) {
+ return -2;
+ }
+ return 0;
+ },
+ doDup: function(path, flags, suggestFD) {
+ var suggest = FS.getStream(suggestFD);
+ if (suggest) FS.close(suggest);
+ return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
+ },
+ doReadv: function(stream, iov, iovcnt, offset) {
+ var ret = 0;
+ for (var i = 0; i < iovcnt; i++) {
+ var ptr = HEAP32[(iov + i * 8) >> 2];
+ var len = HEAP32[(iov + (i * 8 + 4)) >> 2];
+ var curr = FS.read(stream, HEAP8, ptr, len, offset);
+ if (curr < 0) return -1;
+ ret += curr;
+ if (curr < len) break;
+ }
+ return ret;
+ },
+ doWritev: function(stream, iov, iovcnt, offset) {
+ var ret = 0;
+ for (var i = 0; i < iovcnt; i++) {
+ var ptr = HEAP32[(iov + i * 8) >> 2];
+ var len = HEAP32[(iov + (i * 8 + 4)) >> 2];
+ var curr = FS.write(stream, HEAP8, ptr, len, offset);
+ if (curr < 0) return -1;
+ ret += curr;
+ }
+ return ret;
+ },
+ varargs: undefined,
+ get: function() {
+ SYSCALLS.varargs += 4;
+ var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2];
+ return ret;
+ },
+ getStr: function(ptr) {
+ var ret = UTF8ToString(ptr);
+ return ret;
+ },
+ getStreamFromFD: function(fd) {
+ var stream = FS.getStream(fd);
+ if (!stream) throw new FS.ErrnoError(8);
+ return stream;
+ },
+ get64: function(low, high) {
+ return low;
+ }
+};
+function ___sys_chmod(path, mode) {
+ try {
+ path = SYSCALLS.getStr(path);
+ FS.chmod(path, mode);
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+function ___sys_fcntl64(fd, cmd, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ switch (cmd) {
+ case 0: {
+ var arg = SYSCALLS.get();
+ if (arg < 0) {
+ return -28;
+ }
+ var newStream;
+ newStream = FS.open(stream.path, stream.flags, 0, arg);
+ return newStream.fd;
+ }
+ case 1:
+ case 2:
+ return 0;
+ case 3:
+ return stream.flags;
+ case 4: {
+ var arg = SYSCALLS.get();
+ stream.flags |= arg;
+ return 0;
+ }
+ case 12: {
+ var arg = SYSCALLS.get();
+ var offset = 0;
+ HEAP16[(arg + offset) >> 1] = 2;
+ return 0;
+ }
+ case 13:
+ case 14:
+ return 0;
+ case 16:
+ case 8:
+ return -28;
+ case 9:
+ setErrNo(28);
+ return -1;
+ default: {
+ return -28;
+ }
+ }
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+function ___sys_fstat64(fd, buf) {
+ try {
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ return SYSCALLS.doStat(FS.stat, stream.path, buf);
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+function ___sys_ioctl(fd, op, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ switch (op) {
+ case 21509:
+ case 21505: {
+ if (!stream.tty) return -59;
+ return 0;
+ }
+ case 21510:
+ case 21511:
+ case 21512:
+ case 21506:
+ case 21507:
+ case 21508: {
+ if (!stream.tty) return -59;
+ return 0;
+ }
+ case 21519: {
+ if (!stream.tty) return -59;
+ var argp = SYSCALLS.get();
+ HEAP32[argp >> 2] = 0;
+ return 0;
+ }
+ case 21520: {
+ if (!stream.tty) return -59;
+ return -28;
+ }
+ case 21531: {
+ var argp = SYSCALLS.get();
+ return FS.ioctl(stream, op, argp);
+ }
+ case 21523: {
+ if (!stream.tty) return -59;
+ return 0;
+ }
+ case 21524: {
+ if (!stream.tty) return -59;
+ return 0;
+ }
+ default:
+ abort("bad ioctl syscall " + op);
+ }
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+function ___sys_open(path, flags, varargs) {
+ SYSCALLS.varargs = varargs;
+ try {
+ var pathname = SYSCALLS.getStr(path);
+ var mode = SYSCALLS.get();
+ var stream = FS.open(pathname, flags, mode);
+ return stream.fd;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+function ___sys_read(fd, buf, count) {
+ try {
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ return FS.read(stream, HEAP8, buf, count);
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+function ___sys_rename(old_path, new_path) {
+ try {
+ old_path = SYSCALLS.getStr(old_path);
+ new_path = SYSCALLS.getStr(new_path);
+ FS.rename(old_path, new_path);
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+function ___sys_rmdir(path) {
+ try {
+ path = SYSCALLS.getStr(path);
+ FS.rmdir(path);
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+function ___sys_stat64(path, buf) {
+ try {
+ path = SYSCALLS.getStr(path);
+ return SYSCALLS.doStat(FS.stat, path, buf);
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+function ___sys_unlink(path) {
+ try {
+ path = SYSCALLS.getStr(path);
+ FS.unlink(path);
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+}
+function _emscripten_memcpy_big(dest, src, num) {
+ HEAPU8.copyWithin(dest, src, src + num);
+}
+function _emscripten_get_heap_size() {
+ return HEAPU8.length;
+}
+function emscripten_realloc_buffer(size) {
+ try {
+ wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16);
+ updateGlobalBufferAndViews(wasmMemory.buffer);
+ return 1;
+ } catch (e) {}
+}
+function _emscripten_resize_heap(requestedSize) {
+ requestedSize = requestedSize >>> 0;
+ var oldSize = _emscripten_get_heap_size();
+ var maxHeapSize = 2147483648;
+ if (requestedSize > maxHeapSize) {
+ return false;
+ }
+ var minHeapSize = 16777216;
+ for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
+ var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
+ overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
+ var newSize = Math.min(
+ maxHeapSize,
+ alignUp(Math.max(minHeapSize, requestedSize, overGrownHeapSize), 65536)
+ );
+ var replacement = emscripten_realloc_buffer(newSize);
+ if (replacement) {
+ return true;
+ }
+ }
+ return false;
+}
+function _fd_close(fd) {
+ try {
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ FS.close(stream);
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+}
+function _fd_fdstat_get(fd, pbuf) {
+ try {
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ var type = stream.tty
+ ? 2
+ : FS.isDir(stream.mode)
+ ? 3
+ : FS.isLink(stream.mode)
+ ? 7
+ : 4;
+ HEAP8[pbuf >> 0] = type;
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+}
+function _fd_read(fd, iov, iovcnt, pnum) {
+ try {
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ var num = SYSCALLS.doReadv(stream, iov, iovcnt);
+ HEAP32[pnum >> 2] = num;
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+}
+function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
+ try {
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ var HIGH_OFFSET = 4294967296;
+ var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);
+ var DOUBLE_LIMIT = 9007199254740992;
+ if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) {
+ return -61;
+ }
+ FS.llseek(stream, offset, whence);
+ (tempI64 = [
+ stream.position >>> 0,
+ ((tempDouble = stream.position),
+ +Math_abs(tempDouble) >= 1
+ ? tempDouble > 0
+ ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>>
+ 0
+ : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>>
+ 0
+ : 0)
+ ]),
+ (HEAP32[newOffset >> 2] = tempI64[0]),
+ (HEAP32[(newOffset + 4) >> 2] = tempI64[1]);
+ if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+}
+function _fd_write(fd, iov, iovcnt, pnum) {
+ try {
+ var stream = SYSCALLS.getStreamFromFD(fd);
+ var num = SYSCALLS.doWritev(stream, iov, iovcnt);
+ HEAP32[pnum >> 2] = num;
+ return 0;
+ } catch (e) {
+ if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
+ return e.errno;
+ }
+}
+function _setTempRet0($i) {
+ setTempRet0($i | 0);
+}
+function _time(ptr) {
+ var ret = (Date.now() / 1e3) | 0;
+ if (ptr) {
+ HEAP32[ptr >> 2] = ret;
+ }
+ return ret;
+}
+function _tzset() {
+ if (_tzset.called) return;
+ _tzset.called = true;
+ HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60;
+ var currentYear = new Date().getFullYear();
+ var winter = new Date(currentYear, 0, 1);
+ var summer = new Date(currentYear, 6, 1);
+ HEAP32[__get_daylight() >> 2] = Number(
+ winter.getTimezoneOffset() != summer.getTimezoneOffset()
+ );
+ function extractZone(date) {
+ var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
+ return match ? match[1] : "GMT";
+ }
+ var winterName = extractZone(winter);
+ var summerName = extractZone(summer);
+ var winterNamePtr = allocateUTF8(winterName);
+ var summerNamePtr = allocateUTF8(summerName);
+ if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) {
+ HEAP32[__get_tzname() >> 2] = winterNamePtr;
+ HEAP32[(__get_tzname() + 4) >> 2] = summerNamePtr;
+ } else {
+ HEAP32[__get_tzname() >> 2] = summerNamePtr;
+ HEAP32[(__get_tzname() + 4) >> 2] = winterNamePtr;
+ }
+}
+function _timegm(tmPtr) {
+ _tzset();
+ var time = Date.UTC(
+ HEAP32[(tmPtr + 20) >> 2] + 1900,
+ HEAP32[(tmPtr + 16) >> 2],
+ HEAP32[(tmPtr + 12) >> 2],
+ HEAP32[(tmPtr + 8) >> 2],
+ HEAP32[(tmPtr + 4) >> 2],
+ HEAP32[tmPtr >> 2],
+ 0
+ );
+ var date = new Date(time);
+ HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay();
+ var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
+ var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0;
+ HEAP32[(tmPtr + 28) >> 2] = yday;
+ return (date.getTime() / 1e3) | 0;
+}
+var FSNode = function(parent, name, mode, rdev) {
+ if (!parent) {
+ parent = this;
+ }
+ this.parent = parent;
+ this.mount = parent.mount;
+ this.mounted = null;
+ this.id = FS.nextInode++;
+ this.name = name;
+ this.mode = mode;
+ this.node_ops = {};
+ this.stream_ops = {};
+ this.rdev = rdev;
+};
+var readMode = 292 | 73;
+var writeMode = 146;
+Object.defineProperties(FSNode.prototype, {
+ read: {
+ get: function() {
+ return (this.mode & readMode) === readMode;
+ },
+ set: function(val) {
+ val ? (this.mode |= readMode) : (this.mode &= ~readMode);
+ }
+ },
+ write: {
+ get: function() {
+ return (this.mode & writeMode) === writeMode;
+ },
+ set: function(val) {
+ val ? (this.mode |= writeMode) : (this.mode &= ~writeMode);
+ }
+ },
+ isFolder: {
+ get: function() {
+ return FS.isDir(this.mode);
+ }
+ },
+ isDevice: {
+ get: function() {
+ return FS.isChrdev(this.mode);
+ }
+ }
+});
+FS.FSNode = FSNode;
+FS.staticInit();
+if (ENVIRONMENT_IS_NODE) {
+ var fs = frozenFs;
+ var NODEJS_PATH = __webpack_require__(622);
+ NODEFS.staticInit();
+}
+if (ENVIRONMENT_IS_NODE) {
+ var _wrapNodeError = function(func) {
+ return function() {
+ try {
+ return func.apply(this, arguments);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ };
+ };
+ var VFS = Object.assign({}, FS);
+ for (var _key in NODERAWFS) FS[_key] = _wrapNodeError(NODERAWFS[_key]);
+} else {
+ throw new Error(
+ "NODERAWFS is currently only supported on Node.js environment."
+ );
+}
+function intArrayFromString(stringy, dontAddNull, length) {
+ var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
+ var u8array = new Array(len);
+ var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
+ if (dontAddNull) u8array.length = numBytesWritten;
+ return u8array;
+}
+var decodeBase64 =
+ typeof atob === "function"
+ ? atob
+ : function(input) {
+ var keyStr =
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
+ var output = "";
+ var chr1, chr2, chr3;
+ var enc1, enc2, enc3, enc4;
+ var i = 0;
+ input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
+ do {
+ enc1 = keyStr.indexOf(input.charAt(i++));
+ enc2 = keyStr.indexOf(input.charAt(i++));
+ enc3 = keyStr.indexOf(input.charAt(i++));
+ enc4 = keyStr.indexOf(input.charAt(i++));
+ chr1 = (enc1 << 2) | (enc2 >> 4);
+ chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
+ chr3 = ((enc3 & 3) << 6) | enc4;
+ output = output + String.fromCharCode(chr1);
+ if (enc3 !== 64) {
+ output = output + String.fromCharCode(chr2);
+ }
+ if (enc4 !== 64) {
+ output = output + String.fromCharCode(chr3);
+ }
+ } while (i < input.length);
+ return output;
+ };
+function intArrayFromBase64(s) {
+ if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) {
+ var buf;
+ try {
+ buf = Buffer.from(s, "base64");
+ } catch (_) {
+ buf = new Buffer(s, "base64");
+ }
+ return new Uint8Array(buf["buffer"], buf["byteOffset"], buf["byteLength"]);
+ }
+ try {
+ var decoded = decodeBase64(s);
+ var bytes = new Uint8Array(decoded.length);
+ for (var i = 0; i < decoded.length; ++i) {
+ bytes[i] = decoded.charCodeAt(i);
+ }
+ return bytes;
+ } catch (_) {
+ throw new Error("Converting base64 string to bytes failed.");
+ }
+}
+function tryParseAsDataURI(filename) {
+ if (!isDataURI(filename)) {
+ return;
+ }
+ return intArrayFromBase64(filename.slice(dataURIPrefix.length));
+}
+var asmLibraryArg = {
+ m: ___gmtime_r,
+ b: wasmTable,
+ r: ___sys_chmod,
+ g: ___sys_fcntl64,
+ l: ___sys_fstat64,
+ q: ___sys_ioctl,
+ t: ___sys_open,
+ s: ___sys_read,
+ j: ___sys_rename,
+ u: ___sys_rmdir,
+ e: ___sys_stat64,
+ i: ___sys_unlink,
+ v: _emscripten_memcpy_big,
+ w: _emscripten_resize_heap,
+ h: _fd_close,
+ k: _fd_fdstat_get,
+ p: _fd_read,
+ n: _fd_seek,
+ f: _fd_write,
+ a: wasmMemory,
+ c: _setTempRet0,
+ d: _time,
+ o: _timegm
+};
+var asm = createWasm();
+var ___wasm_call_ctors = (Module["___wasm_call_ctors"] = asm["x"]);
+var _zipstruct_stat = (Module["_zipstruct_stat"] = asm["y"]);
+var _zipstruct_statS = (Module["_zipstruct_statS"] = asm["z"]);
+var _zipstruct_stat_name = (Module["_zipstruct_stat_name"] = asm["A"]);
+var _zipstruct_stat_index = (Module["_zipstruct_stat_index"] = asm["B"]);
+var _zipstruct_stat_size = (Module["_zipstruct_stat_size"] = asm["C"]);
+var _zipstruct_stat_mtime = (Module["_zipstruct_stat_mtime"] = asm["D"]);
+var _zipstruct_error = (Module["_zipstruct_error"] = asm["E"]);
+var _zipstruct_errorS = (Module["_zipstruct_errorS"] = asm["F"]);
+var _zipstruct_error_code_zip = (Module["_zipstruct_error_code_zip"] =
+ asm["G"]);
+var _zipstruct_stat_comp_size = (Module["_zipstruct_stat_comp_size"] =
+ asm["H"]);
+var _zipstruct_stat_comp_method = (Module["_zipstruct_stat_comp_method"] =
+ asm["I"]);
+var _zip_close = (Module["_zip_close"] = asm["J"]);
+var _zip_delete = (Module["_zip_delete"] = asm["K"]);
+var _zip_dir_add = (Module["_zip_dir_add"] = asm["L"]);
+var _zip_discard = (Module["_zip_discard"] = asm["M"]);
+var _zip_error_init_with_code = (Module["_zip_error_init_with_code"] =
+ asm["N"]);
+var _zip_get_error = (Module["_zip_get_error"] = asm["O"]);
+var _zip_file_get_error = (Module["_zip_file_get_error"] = asm["P"]);
+var _zip_error_strerror = (Module["_zip_error_strerror"] = asm["Q"]);
+var _zip_fclose = (Module["_zip_fclose"] = asm["R"]);
+var _zip_file_add = (Module["_zip_file_add"] = asm["S"]);
+var _zip_file_get_external_attributes = (Module[
+ "_zip_file_get_external_attributes"
+] = asm["T"]);
+var _zip_file_set_external_attributes = (Module[
+ "_zip_file_set_external_attributes"
+] = asm["U"]);
+var _zip_file_set_mtime = (Module["_zip_file_set_mtime"] = asm["V"]);
+var _zip_fopen = (Module["_zip_fopen"] = asm["W"]);
+var _zip_fopen_index = (Module["_zip_fopen_index"] = asm["X"]);
+var _zip_fread = (Module["_zip_fread"] = asm["Y"]);
+var _zip_get_name = (Module["_zip_get_name"] = asm["Z"]);
+var _zip_get_num_entries = (Module["_zip_get_num_entries"] = asm["_"]);
+var _zip_name_locate = (Module["_zip_name_locate"] = asm["$"]);
+var _zip_open = (Module["_zip_open"] = asm["aa"]);
+var _zip_open_from_source = (Module["_zip_open_from_source"] = asm["ba"]);
+var _zip_set_file_compression = (Module["_zip_set_file_compression"] =
+ asm["ca"]);
+var _zip_source_buffer = (Module["_zip_source_buffer"] = asm["da"]);
+var _zip_source_buffer_create = (Module["_zip_source_buffer_create"] =
+ asm["ea"]);
+var _zip_source_close = (Module["_zip_source_close"] = asm["fa"]);
+var _zip_source_error = (Module["_zip_source_error"] = asm["ga"]);
+var _zip_source_free = (Module["_zip_source_free"] = asm["ha"]);
+var _zip_source_keep = (Module["_zip_source_keep"] = asm["ia"]);
+var _zip_source_open = (Module["_zip_source_open"] = asm["ja"]);
+var _zip_source_read = (Module["_zip_source_read"] = asm["ka"]);
+var _zip_source_seek = (Module["_zip_source_seek"] = asm["la"]);
+var _zip_source_set_mtime = (Module["_zip_source_set_mtime"] = asm["ma"]);
+var _zip_source_tell = (Module["_zip_source_tell"] = asm["na"]);
+var _zip_stat = (Module["_zip_stat"] = asm["oa"]);
+var _zip_stat_index = (Module["_zip_stat_index"] = asm["pa"]);
+var _zip_ext_count_symlinks = (Module["_zip_ext_count_symlinks"] = asm["qa"]);
+var ___errno_location = (Module["___errno_location"] = asm["ra"]);
+var __get_tzname = (Module["__get_tzname"] = asm["sa"]);
+var __get_daylight = (Module["__get_daylight"] = asm["ta"]);
+var __get_timezone = (Module["__get_timezone"] = asm["ua"]);
+var stackSave = (Module["stackSave"] = asm["va"]);
+var stackRestore = (Module["stackRestore"] = asm["wa"]);
+var stackAlloc = (Module["stackAlloc"] = asm["xa"]);
+var _malloc = (Module["_malloc"] = asm["ya"]);
+var _free = (Module["_free"] = asm["za"]);
+Module["cwrap"] = cwrap;
+Module["getValue"] = getValue;
+var calledRun;
+dependenciesFulfilled = function runCaller() {
+ if (!calledRun) run();
+ if (!calledRun) dependenciesFulfilled = runCaller;
+};
+function run(args) {
+ args = args || arguments_;
+ if (runDependencies > 0) {
+ return;
+ }
+ preRun();
+ if (runDependencies > 0) return;
+ function doRun() {
+ if (calledRun) return;
+ calledRun = true;
+ Module["calledRun"] = true;
+ if (ABORT) return;
+ initRuntime();
+ preMain();
+ if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
+ postRun();
+ }
+ if (Module["setStatus"]) {
+ Module["setStatus"]("Running...");
+ setTimeout(function() {
+ setTimeout(function() {
+ Module["setStatus"]("");
+ }, 1);
+ doRun();
+ }, 1);
+ } else {
+ doRun();
+ }
+}
+Module["run"] = run;
+if (Module["preInit"]) {
+ if (typeof Module["preInit"] == "function")
+ Module["preInit"] = [Module["preInit"]];
+ while (Module["preInit"].length > 0) {
+ Module["preInit"].pop()();
+ }
+}
+noExitRuntime = true;
+run();
+
+
+/***/ }),
+
+/***/ 417:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("crypto");
+
+/***/ }),
+
+/***/ 614:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("events");
+
+/***/ }),
+
+/***/ 747:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("fs");
+
+/***/ }),
+
+/***/ 282:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("module");
+
+/***/ }),
+
+/***/ 87:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("os");
+
+/***/ }),
+
+/***/ 622:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("path");
+
+/***/ }),
+
+/***/ 413:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("stream");
+
+/***/ }),
+
+/***/ 304:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("string_decoder");
+
+/***/ }),
+
+/***/ 835:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("url");
+
+/***/ }),
+
+/***/ 669:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("util");
+
+/***/ }),
+
+/***/ 761:
+/***/ ((module) => {
+
+"use strict";
+module.exports = require("zlib");
+
+/***/ })
+
+/******/ });
+/************************************************************************/
+/******/ // The module cache
+/******/ var __webpack_module_cache__ = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/ // Check if module is in cache
+/******/ if(__webpack_module_cache__[moduleId]) {
+/******/ return __webpack_module_cache__[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = __webpack_module_cache__[moduleId] = {
+/******/ // no module.id needed
+/******/ // no module.loaded needed
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/************************************************************************/
+/******/ /* webpack/runtime/compat get default export */
+/******/ (() => {
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = (module) => {
+/******/ var getter = module && module.__esModule ?
+/******/ () => module['default'] :
+/******/ () => module;
+/******/ __webpack_require__.d(getter, { a: getter });
+/******/ return getter;
+/******/ };
+/******/ })();
+/******/
+/******/ /* webpack/runtime/define property getters */
+/******/ (() => {
+/******/ // define getter functions for harmony exports
+/******/ __webpack_require__.d = (exports, definition) => {
+/******/ for(var key in definition) {
+/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/ }
+/******/ }
+/******/ };
+/******/ })();
+/******/
+/******/ /* webpack/runtime/hasOwnProperty shorthand */
+/******/ (() => {
+/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)
+/******/ })();
+/******/
+/************************************************************************/
+/******/ // module exports must be returned from runtime so entry inlining is disabled
+/******/ // startup
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(170);
+/******/ })()
+.default;
+}); \ No newline at end of file
diff --git a/.yarnrc.yml b/.yarnrc.yml
new file mode 100644
index 0000000..cecb449
--- /dev/null
+++ b/.yarnrc.yml
@@ -0,0 +1 @@
+yarnPath: ".yarn/releases/yarn-berry.js"
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 70499e5..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,3611 +0,0 @@
-{
- "name": "muse",
- "version": "0.1.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
- "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.10.1"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz",
- "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==",
- "dev": true
- },
- "@babel/highlight": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
- "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.10.1",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- }
- }
- },
- "@discordjs/collection": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.5.tgz",
- "integrity": "sha512-CU1q0UXQUpFNzNB7gufgoisDHP7n+T3tkqTsp3MNUkVJ5+hS3BCvME8uCXAUFlz+6T2FbTCu75A+yQ7HMKqRKw=="
- },
- "@discordjs/form-data": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
- "integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "@discordjs/node-pre-gyp": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@discordjs/node-pre-gyp/-/node-pre-gyp-0.1.0.tgz",
- "integrity": "sha512-6u3EbK2x+j9bM3iK9/pE7BWLxOXZ1PvcsbDo3ZBdPocu95qPHj8zCVsBBk3Cao7V6o8QpwxUyJl6oVJ6T3ZgAg==",
- "requires": {
- "detect-libc": "^1.0.3",
- "mkdirp": "^0.5.5",
- "needle": "^2.4.1",
- "nopt": "^4.0.3",
- "npm-packlist": "^1.4.8",
- "npmlog": "^4.1.2",
- "rc": "^1.2.8",
- "rimraf": "^3.0.2",
- "semver": "^7.3.0",
- "tar": "^6.0.2"
- }
- },
- "@discordjs/opus": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@discordjs/opus/-/opus-0.3.2.tgz",
- "integrity": "sha512-T/ubykd4Xi19vDfw7/Oe+iTQBJ28yMI2PQAzK+Zue0PB9OpEYaeIXU7k5255061RwL+rHX9w7P/P2of+x2Vu2A==",
- "requires": {
- "@discordjs/node-pre-gyp": "^0.1.0",
- "node-addon-api": "^2.0.0"
- }
- },
- "@sindresorhus/is": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz",
- "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg=="
- },
- "@szmarczak/http-timer": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz",
- "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==",
- "requires": {
- "defer-to-connect": "^2.0.0"
- }
- },
- "@types/bluebird": {
- "version": "3.5.32",
- "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.32.tgz",
- "integrity": "sha512-dIOxFfI0C+jz89g6lQ+TqhGgPQ0MxSnh/E4xuC0blhFtyW269+mPG5QeLgbdwst/LvdP8o1y0o/Gz5EHXLec/g==",
- "dev": true
- },
- "@types/cacheable-request": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz",
- "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==",
- "requires": {
- "@types/http-cache-semantics": "*",
- "@types/keyv": "*",
- "@types/node": "*",
- "@types/responselike": "*"
- },
- "dependencies": {
- "@types/node": {
- "version": "13.9.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.5.tgz",
- "integrity": "sha512-hkzMMD3xu6BrJpGVLeQ3htQQNAcOrJjX7WFmtK8zWQpz2UJf13LCFF2ALA7c9OVdvc2vQJeDdjfR35M0sBCxvw=="
- }
- }
- },
- "@types/color-name": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
- "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
- "dev": true
- },
- "@types/debug": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz",
- "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==",
- "dev": true
- },
- "@types/eslint-visitor-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
- "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==",
- "dev": true
- },
- "@types/fluent-ffmpeg": {
- "version": "2.1.14",
- "resolved": "https://registry.npmjs.org/@types/fluent-ffmpeg/-/fluent-ffmpeg-2.1.14.tgz",
- "integrity": "sha512-nJrAX9ODNI7mUB0b7Y0Stx1a6dOpV3zXsOnWoBuEd9/woQhepBNCMeCyOL6SLJD3jn5sLw5ciDGH0RwJenCoag==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/fs-capacitor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@types/fs-capacitor/-/fs-capacitor-2.0.0.tgz",
- "integrity": "sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/http-cache-semantics": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz",
- "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A=="
- },
- "@types/json-schema": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz",
- "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==",
- "dev": true
- },
- "@types/keyv": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz",
- "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/node": {
- "version": "14.0.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.6.tgz",
- "integrity": "sha512-FbNmu4F67d3oZMWBV6Y4MaPER+0EpE9eIYf2yaHhCWovc1dlXCZkqGX4NLHfVVr6umt20TNBdRzrNJIzIKfdbw=="
- },
- "@types/node-emoji": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/@types/node-emoji/-/node-emoji-1.8.1.tgz",
- "integrity": "sha512-0fRfA90FWm6KJfw6P9QGyo0HDTCmthZ7cWaBQndITlaWLTZ6njRyKwrwpzpg+n6kBXBIGKeUHEQuBx7bphGJkA==",
- "dev": true
- },
- "@types/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
- "dev": true
- },
- "@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/spotify-api": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@types/spotify-api/-/spotify-api-0.0.3.tgz",
- "integrity": "sha512-NV8GATMh2LmCqkODeuNQMYppOluthRdaJVfgLUrDX81azPGBRfE2Q75gwhaMJKbLN7U5c5/dMVPEMtG34+Mupg==",
- "dev": true
- },
- "@types/spotify-web-api-node": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@types/spotify-web-api-node/-/spotify-web-api-node-4.0.1.tgz",
- "integrity": "sha512-uxoz7DcSj/v2URDo54FjzctIfdQdEFvmUreHrR26G/Vf0Qm5S0lbt7LdKJeW2EoWUzzfjetYV3TcfMxRm1bWIw==",
- "dev": true,
- "requires": {
- "@types/spotify-api": "*"
- }
- },
- "@types/validator": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.0.0.tgz",
- "integrity": "sha512-WAy5txG7aFX8Vw3sloEKp5p/t/Xt8jD3GRD9DacnFv6Vo8ubudAsRTXgxpQwU0mpzY/H8U4db3roDuCMjShBmw==",
- "dev": true
- },
- "@types/ws": {
- "version": "7.2.4",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.2.4.tgz",
- "integrity": "sha512-9S6Ask71vujkVyeEXKxjBSUV8ZUB0mjL5la4IncBoheu04bDaYyUKErh1BQcY9+WzOUOiKqz/OnpJHYckbMfNg==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@typescript-eslint/eslint-plugin": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.0.2.tgz",
- "integrity": "sha512-ER3bSS/A/pKQT/hjMGCK8UQzlL0yLjuCZ/G8CDFJFVTfl3X65fvq2lNYqOG8JPTfrPa2RULCdwfOyFjZEMNExQ==",
- "dev": true,
- "requires": {
- "@typescript-eslint/experimental-utils": "3.0.2",
- "functional-red-black-tree": "^1.0.1",
- "regexpp": "^3.0.0",
- "semver": "^7.3.2",
- "tsutils": "^3.17.1"
- }
- },
- "@typescript-eslint/experimental-utils": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.0.2.tgz",
- "integrity": "sha512-4Wc4EczvoY183SSEnKgqAfkj1eLtRgBQ04AAeG+m4RhTVyaazxc1uI8IHf0qLmu7xXe9j1nn+UoDJjbmGmuqXQ==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.3",
- "@typescript-eslint/typescript-estree": "3.0.2",
- "eslint-scope": "^5.0.0",
- "eslint-utils": "^2.0.0"
- }
- },
- "@typescript-eslint/parser": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.0.2.tgz",
- "integrity": "sha512-80Z7s83e8QXHNUspqVlWwb4t5gdz/1bBBmafElbK1wwAwiD/yvJsFyHRxlEpNrt4rdK6eB3p+2WEFkEDHAKk9w==",
- "dev": true,
- "requires": {
- "@types/eslint-visitor-keys": "^1.0.0",
- "@typescript-eslint/experimental-utils": "3.0.2",
- "@typescript-eslint/typescript-estree": "3.0.2",
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "@typescript-eslint/typescript-estree": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.0.2.tgz",
- "integrity": "sha512-cs84mxgC9zQ6viV8MEcigfIKQmKtBkZNDYf8Gru2M+MhnA6z9q0NFMZm2IEzKqAwN8lY5mFVd1Z8DiHj6zQ3Tw==",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "eslint-visitor-keys": "^1.1.0",
- "glob": "^7.1.6",
- "is-glob": "^4.0.1",
- "lodash": "^4.17.15",
- "semver": "^7.3.2",
- "tsutils": "^3.17.1"
- }
- },
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
- },
- "abort-controller": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
- "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
- "requires": {
- "event-target-shim": "^5.0.0"
- }
- },
- "acorn": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
- "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
- "dev": true
- },
- "acorn-jsx": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
- "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
- "dev": true
- },
- "ajv": {
- "version": "6.12.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
- "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-align": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz",
- "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==",
- "dev": true,
- "requires": {
- "string-width": "^3.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
- }
- },
- "ansi-escapes": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
- "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
- "dev": true,
- "requires": {
- "type-fest": "^0.11.0"
- },
- "dependencies": {
- "type-fest": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
- "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
- "dev": true
- }
- }
- },
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "any-promise": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
- },
- "anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "array-shuffle": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/array-shuffle/-/array-shuffle-1.0.1.tgz",
- "integrity": "sha1-fqSIKjVrS8pfVF4LblLq9tlxVXo="
- },
- "astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
- "dev": true
- },
- "async": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
- "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw=="
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
- },
- "axios": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
- "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
- "requires": {
- "follow-redirects": "1.5.10"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
- },
- "binary-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
- "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
- "dev": true
- },
- "bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
- },
- "boxen": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
- "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
- "dev": true,
- "requires": {
- "ansi-align": "^3.0.0",
- "camelcase": "^5.3.1",
- "chalk": "^3.0.0",
- "cli-boxes": "^2.2.0",
- "string-width": "^4.1.0",
- "term-size": "^2.1.0",
- "type-fest": "^0.8.1",
- "widest-line": "^3.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "cacheable-lookup": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz",
- "integrity": "sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w=="
- },
- "cacheable-request": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz",
- "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==",
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^2.0.0"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
- "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
- "requires": {
- "pump": "^3.0.0"
- }
- }
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "chalk": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
- "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "chardet": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
- "dev": true
- },
- "chokidar": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
- "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.4.0"
- }
- },
- "chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
- },
- "ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
- "cli-boxes": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz",
- "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==",
- "dev": true
- },
- "cli-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "dev": true,
- "requires": {
- "restore-cursor": "^3.1.0"
- }
- },
- "cli-width": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
- "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
- "dev": true
- },
- "clone-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "cls-bluebird": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz",
- "integrity": "sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=",
- "requires": {
- "is-bluebird": "^1.0.2",
- "shimmer": "^1.1.0"
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "compare-versions": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
- "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==",
- "dev": true
- },
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- },
- "configstore": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
- "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
- "dev": true,
- "requires": {
- "dot-prop": "^5.2.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
- }
- },
- "confusing-browser-globals": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz",
- "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==",
- "dev": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
- },
- "cookiejar": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
- "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA=="
- },
- "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="
- },
- "cosmiconfig": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
- "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
- "dev": true,
- "requires": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.1.0",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.7.2"
- }
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "dependencies": {
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "crypto-random-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
- "dev": true
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "requires": {
- "mimic-response": "^3.1.0"
- },
- "dependencies": {
- "mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
- }
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "defer-to-connect": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz",
- "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg=="
- },
- "delay": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/delay/-/delay-4.3.0.tgz",
- "integrity": "sha512-Lwaf3zVFDMBop1yDuFZ19F9WyGcZcGacsbdlZtWjQmM50tOcMntm1njF/Nb/Vjij3KaSvCF+sEYGKrrjObu2NA=="
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
- },
- "delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
- },
- "detect-libc": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
- },
- "diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true
- },
- "discord.js": {
- "version": "12.2.0",
- "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.2.0.tgz",
- "integrity": "sha512-Ueb/0SOsxXyqwvwFYFe0msMrGqH1OMqpp2Dpbplnlr4MzcRrFWwsBM9gKNZXPVBHWUKiQkwU8AihXBXIvTTSvg==",
- "requires": {
- "@discordjs/collection": "^0.1.5",
- "@discordjs/form-data": "^3.0.1",
- "abort-controller": "^3.0.0",
- "node-fetch": "^2.6.0",
- "prism-media": "^1.2.0",
- "setimmediate": "^1.0.5",
- "tweetnacl": "^1.0.3",
- "ws": "^7.2.1"
- }
- },
- "doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "dot-prop": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
- "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
- "dev": true,
- "requires": {
- "is-obj": "^2.0.0"
- }
- },
- "dotenv": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
- "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
- },
- "dottie": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz",
- "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg=="
- },
- "duplexer3": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "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"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "escape-goat": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
- "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "eslint": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.1.0.tgz",
- "integrity": "sha512-DfS3b8iHMK5z/YLSme8K5cge168I8j8o1uiVmFCgnnjxZQbCGyraF8bMl7Ju4yfBmCuxD7shOF7eqGkcuIHfsA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.0.1",
- "doctrine": "^3.0.0",
- "eslint-scope": "^5.0.0",
- "eslint-utils": "^2.0.0",
- "eslint-visitor-keys": "^1.1.0",
- "espree": "^7.0.0",
- "esquery": "^1.2.0",
- "esutils": "^2.0.2",
- "file-entry-cache": "^5.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.0.0",
- "globals": "^12.1.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "inquirer": "^7.0.0",
- "is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash": "^4.17.14",
- "minimatch": "^3.0.4",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.1.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.0",
- "strip-json-comments": "^3.1.0",
- "table": "^5.2.3",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- }
- }
- },
- "eslint-config-xo": {
- "version": "0.29.1",
- "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.29.1.tgz",
- "integrity": "sha512-RDjeKh8CV0/EH4utW/6uOkwJJOOU+rX3uE5eUBOamcLNe4lNjyo8kSt3B6DzAm1L/1tWGikI7LFNVY9gG7PDQw==",
- "dev": true,
- "requires": {
- "confusing-browser-globals": "1.0.9"
- }
- },
- "eslint-config-xo-typescript": {
- "version": "0.29.0",
- "resolved": "https://registry.npmjs.org/eslint-config-xo-typescript/-/eslint-config-xo-typescript-0.29.0.tgz",
- "integrity": "sha512-K7AVshnOHWEf0eLIMQCppIN8hC9kazz5NeGxCP85OaopQ8gRjL3OkpMo3envN8aSm6SPIkW74Y1yfc48LFeFzg==",
- "dev": true
- },
- "eslint-scope": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
- "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
- "eslint-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz",
- "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "eslint-visitor-keys": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
- "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
- "dev": true
- },
- "espree": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.0.0.tgz",
- "integrity": "sha512-/r2XEx5Mw4pgKdyb7GNLQNsu++asx/dltf/CI8RFi9oGHxmQFgvLbc5Op4U6i8Oaj+kdslhJtVlEZeAqH5qOTw==",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "esquery": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
- "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
- "dev": true,
- "requires": {
- "estraverse": "^5.1.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
- "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
- "dev": true
- }
- }
- },
- "esrecurse": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
- "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
- "dev": true,
- "requires": {
- "estraverse": "^4.1.0"
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "event-target-shim": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
- "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- },
- "external-editor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
- "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
- "dev": true,
- "requires": {
- "chardet": "^0.7.0",
- "iconv-lite": "^0.4.24",
- "tmp": "^0.0.33"
- }
- },
- "fast-deep-equal": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
- "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
- "dev": true
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "figures": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5"
- }
- },
- "file-entry-cache": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
- "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
- "dev": true,
- "requires": {
- "flat-cache": "^2.0.1"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "find-versions": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz",
- "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==",
- "dev": true,
- "requires": {
- "semver-regex": "^2.0.0"
- }
- },
- "flat-cache": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
- "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
- "dev": true,
- "requires": {
- "flatted": "^2.0.0",
- "rimraf": "2.6.3",
- "write": "1.0.3"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
- }
- },
- "flatted": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
- "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
- "dev": true
- },
- "fluent-ffmpeg": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz",
- "integrity": "sha1-yVLeIkD4EuvaCqgAbXd27irPfXQ=",
- "requires": {
- "async": ">=0.2.9",
- "which": "^1.1.1"
- }
- },
- "follow-redirects": {
- "version": "1.5.10",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
- "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
- "requires": {
- "debug": "=3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "formidable": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz",
- "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q=="
- },
- "fs-capacitor": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-6.2.0.tgz",
- "integrity": "sha512-nKcE1UduoSKX27NSZlg879LdQc94OtbOsEmKMN2MBNudXREvijRKx2GEBsTMTfws+BrbkJoEuynbGSVRSpauvw=="
- },
- "fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- },
- "fsevents": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
- "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
- "dev": true,
- "optional": true
- },
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
- "gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "get-youtube-id": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-youtube-id/-/get-youtube-id-1.0.1.tgz",
- "integrity": "sha512-5yidLzoLXbtw82a/Wb7LrajkGn29BM6JuLWeHyNfzOGp1weGyW4+7eMz6cP23+etqj27VlOFtq8fFFDMLq/FXQ=="
- },
- "glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "global-dirs": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz",
- "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==",
- "dev": true,
- "requires": {
- "ini": "^1.3.5"
- }
- },
- "globals": {
- "version": "12.4.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
- "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
- "dev": true,
- "requires": {
- "type-fest": "^0.8.1"
- }
- },
- "got": {
- "version": "11.1.4",
- "resolved": "https://registry.npmjs.org/got/-/got-11.1.4.tgz",
- "integrity": "sha512-z94KIXHhFSpJONuY6C6w1wC+igE7P1d0b5h3H2CvrOXn0/tum/OgFblIGUAxI5PBXukGLvKb9MJXVHW8vsYaBA==",
- "requires": {
- "@sindresorhus/is": "^2.1.1",
- "@szmarczak/http-timer": "^4.0.5",
- "@types/cacheable-request": "^6.0.1",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^5.0.3",
- "cacheable-request": "^7.0.1",
- "decompress-response": "^6.0.0",
- "get-stream": "^5.1.0",
- "http2-wrapper": "^1.0.0-beta.4.5",
- "lowercase-keys": "^2.0.0",
- "p-cancelable": "^2.0.0",
- "responselike": "^2.0.0"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
- "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
- "requires": {
- "pump": "^3.0.0"
- }
- }
- }
- },
- "graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
- },
- "has-yarn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
- "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
- "dev": true
- },
- "hasha": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.0.tgz",
- "integrity": "sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw==",
- "requires": {
- "is-stream": "^2.0.0",
- "type-fest": "^0.8.0"
- },
- "dependencies": {
- "is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="
- }
- }
- },
- "html-entities": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz",
- "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA=="
- },
- "http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
- },
- "http2-wrapper": {
- "version": "1.0.0-beta.4.6",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.0-beta.4.6.tgz",
- "integrity": "sha512-9oB4BiGDTI1FmIBlOF9OJ5hwJvcBEmPCqk/hy314Uhy2uq5TjekUZM8w8SPLLlUEM+mxNhXdPAXfrJN2Zbb/GQ==",
- "requires": {
- "quick-lru": "^5.0.0",
- "resolve-alpn": "^1.0.0"
- }
- },
- "husky": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz",
- "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "ci-info": "^2.0.0",
- "compare-versions": "^3.6.0",
- "cosmiconfig": "^6.0.0",
- "find-versions": "^3.2.0",
- "opencollective-postinstall": "^2.0.2",
- "pkg-dir": "^4.2.0",
- "please-upgrade-node": "^3.2.0",
- "slash": "^3.0.0",
- "which-pm-runs": "^1.0.0"
- }
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true
- },
- "ignore-by-default": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
- "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
- "dev": true
- },
- "ignore-walk": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
- "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
- "import-fresh": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
- "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
- "dev": true,
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "import-lazy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
- "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
- "dev": true
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "inflection": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz",
- "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY="
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
- },
- "inquirer": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
- "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^4.2.1",
- "chalk": "^3.0.0",
- "cli-cursor": "^3.1.0",
- "cli-width": "^2.0.0",
- "external-editor": "^3.0.3",
- "figures": "^3.0.0",
- "lodash": "^4.17.15",
- "mute-stream": "0.0.8",
- "run-async": "^2.4.0",
- "rxjs": "^6.5.3",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "inversify": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/inversify/-/inversify-5.0.1.tgz",
- "integrity": "sha512-Ieh06s48WnEYGcqHepdsJUIJUXpwH5o5vodAX+DK2JA/gjy4EbEcQZxw+uFfzysmKjiLXGYwNG3qDZsKVMcINQ=="
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-bluebird": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-bluebird/-/is-bluebird-1.0.2.tgz",
- "integrity": "sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI="
- },
- "is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
- "dev": true,
- "requires": {
- "ci-info": "^2.0.0"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-installed-globally": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
- "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
- "dev": true,
- "requires": {
- "global-dirs": "^2.0.1",
- "is-path-inside": "^3.0.1"
- }
- },
- "is-npm": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz",
- "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==",
- "dev": true
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
- "dev": true
- },
- "is-path-inside": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz",
- "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "is-yarn-global": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
- "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- },
- "iso8601-duration": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/iso8601-duration/-/iso8601-duration-1.2.0.tgz",
- "integrity": "sha512-ErTBd++b17E8nmWII1K1uZtBgD1E8RjyvwmxlCjPHNqHMD7gmcMHOw0E8Ro/6+QT4PhHRSnnMo7bxa1vFPkwhg=="
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
- },
- "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==",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "keyv": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.1.tgz",
- "integrity": "sha512-xz6Jv6oNkbhrFCvCP7HQa8AaII8y8LRpoSm661NOKLr4uHuBwhX4epXrPQgF3+xdJnN4Esm5X0xwY4bOlALOtw==",
- "requires": {
- "json-buffer": "3.0.1"
- }
- },
- "latest-version": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
- "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
- "dev": true,
- "requires": {
- "package-json": "^6.3.0"
- }
- },
- "levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- }
- },
- "lines-and-columns": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
- "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
- "dev": true
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
- },
- "lodash.toarray": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
- "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE="
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
- },
- "m3u8stream": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.7.1.tgz",
- "integrity": "sha512-z6ldnAdhbuWOL6LmMkwptSZGzj+qbRytMKLTbNicwF/bJMjf9U9lqD57RNQUFecvWadEkzy6PDjcNJFFgi19uQ==",
- "requires": {
- "miniget": "^1.6.1",
- "sax": "^1.2.4"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
- },
- "mime-db": {
- "version": "1.44.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
- "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
- },
- "mime-types": {
- "version": "2.1.27",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
- "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
- "requires": {
- "mime-db": "1.44.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true
- },
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
- },
- "miniget": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/miniget/-/miniget-1.7.2.tgz",
- "integrity": "sha512-USPNNK2bnHLOplX8BZVMehUkyQizS/DFpBdoH0TS+fM+hQoLNg9tWg4MeY9wE8gfY0pbzmx5UBEODujt3Lz8AA=="
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "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=="
- },
- "minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minizlib": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
- "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
- "requires": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- }
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "moment": {
- "version": "2.26.0",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz",
- "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw=="
- },
- "moment-timezone": {
- "version": "0.5.31",
- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.31.tgz",
- "integrity": "sha512-+GgHNg8xRhMXfEbv81iDtrVeTcWt0kWmTEY1XQK14dICTXnWJnT0dxdlPspwqF3keKMVPXwayEsk1DI0AA/jdA==",
- "requires": {
- "moment": ">= 2.9.0"
- }
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "mute-stream": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
- "dev": true
- },
- "nan": {
- "version": "2.14.1",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
- "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw=="
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "needle": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.0.tgz",
- "integrity": "sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA==",
- "requires": {
- "debug": "^3.2.6",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "node-addon-api": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.0.tgz",
- "integrity": "sha512-ASCL5U13as7HhOExbT6OlWJJUV/lLzL2voOSP1UVehpRD8FbSrSDjfScK/KwAvVTI5AS6r4VwbOMlIqtvRidnA=="
- },
- "node-emoji": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz",
- "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==",
- "requires": {
- "lodash.toarray": "^4.4.0"
- }
- },
- "node-fetch": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
- "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
- },
- "nodemon": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.4.tgz",
- "integrity": "sha512-Ltced+hIfTmaS28Zjv1BM552oQ3dbwPqI4+zI0SLgq+wpJhSyqgYude/aZa/3i31VCQWMfXJVxvu86abcam3uQ==",
- "dev": true,
- "requires": {
- "chokidar": "^3.2.2",
- "debug": "^3.2.6",
- "ignore-by-default": "^1.0.1",
- "minimatch": "^3.0.4",
- "pstree.remy": "^1.1.7",
- "semver": "^5.7.1",
- "supports-color": "^5.5.0",
- "touch": "^3.1.0",
- "undefsafe": "^2.0.2",
- "update-notifier": "^4.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
- }
- },
- "nopt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
- "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "normalize-url": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
- "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ=="
- },
- "npm-bundled": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
- "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
- "requires": {
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "npm-normalize-package-bin": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
- "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
- },
- "npm-packlist": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
- "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
- "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
- "dev": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "opencollective-postinstall": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz",
- "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==",
- "dev": true
- },
- "optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "dev": true,
- "requires": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
- },
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "p-cancelable": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz",
- "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg=="
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
- },
- "package-json": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
- "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
- "dev": true,
- "requires": {
- "got": "^9.6.0",
- "registry-auth-token": "^4.0.0",
- "registry-url": "^5.0.0",
- "semver": "^6.2.0"
- },
- "dependencies": {
- "@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
- "dev": true
- },
- "@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "dev": true,
- "requires": {
- "defer-to-connect": "^1.0.1"
- }
- },
- "cacheable-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
- "dev": true,
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^3.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^1.0.2"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
- "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true
- }
- }
- },
- "decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
- "dev": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "defer-to-connect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
- "dev": true
- },
- "got": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "dev": true,
- "requires": {
- "@sindresorhus/is": "^0.14.0",
- "@szmarczak/http-timer": "^1.1.2",
- "cacheable-request": "^6.0.0",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^4.1.0",
- "lowercase-keys": "^1.0.1",
- "mimic-response": "^1.0.1",
- "p-cancelable": "^1.0.0",
- "to-readable-stream": "^1.0.0",
- "url-parse-lax": "^3.0.0"
- }
- },
- "json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
- "dev": true
- },
- "keyv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
- "dev": true,
- "requires": {
- "json-buffer": "3.0.0"
- }
- },
- "lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true
- },
- "p-cancelable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
- "dev": true
- },
- "responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
- "dev": true,
- "requires": {
- "lowercase-keys": "^1.0.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "parse-json": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
- "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1",
- "lines-and-columns": "^1.1.6"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
- },
- "picomatch": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
- "dev": true
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- },
- "please-upgrade-node": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
- "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
- "dev": true,
- "requires": {
- "semver-compare": "^1.0.0"
- }
- },
- "prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true
- },
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
- "dev": true
- },
- "prism-media": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.2.2.tgz",
- "integrity": "sha512-I+nkWY212lJ500jLe4tN9tWO7nRiBAVdMv76P9kffZjYhw20raMlW1HSSvS+MLXC9MmbNZCazMrAr+5jEEgTuw=="
- },
- "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=="
- },
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true
- },
- "pstree.remy": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
- "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
- "dev": true
- },
- "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"
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- },
- "pupa": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz",
- "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==",
- "dev": true,
- "requires": {
- "escape-goat": "^2.0.0"
- }
- },
- "qs": {
- "version": "6.9.4",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz",
- "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ=="
- },
- "quick-lru": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.0.tgz",
- "integrity": "sha512-WjAKQ9ORzvqjLijJXiXWqc3Gcs1ivoxCj6KJmEjoWBE6OtHwuaDLSAUqGHALUiid7A1KqGqsSHZs8prxF5xxAQ=="
- },
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
- }
- }
- },
- "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"
- }
- },
- "readdirp": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
- "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
- "dev": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "reflect-metadata": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
- "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
- "dev": true
- },
- "regexpp": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
- "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
- "dev": true
- },
- "registry-auth-token": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz",
- "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==",
- "dev": true,
- "requires": {
- "rc": "^1.2.8"
- }
- },
- "registry-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
- "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
- "dev": true,
- "requires": {
- "rc": "^1.2.8"
- }
- },
- "resolve-alpn": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.0.0.tgz",
- "integrity": "sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA=="
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true
- },
- "responselike": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
- "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
- "requires": {
- "lowercase-keys": "^2.0.0"
- }
- },
- "restore-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
- "dev": true,
- "requires": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
- }
- },
- "retry-as-promised": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-3.2.0.tgz",
- "integrity": "sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg==",
- "requires": {
- "any-promise": "^1.3.0"
- }
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "run-async": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
- "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
- "dev": true
- },
- "rxjs": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
- "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
- "dev": true,
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
- },
- "semver": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ=="
- },
- "semver-compare": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
- "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
- "dev": true
- },
- "semver-diff": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
- "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
- "dev": true,
- "requires": {
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "semver-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
- "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
- "dev": true
- },
- "sequelize": {
- "version": "5.21.11",
- "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.21.11.tgz",
- "integrity": "sha512-ZJw3Hp+NS7iHcTz4fHlKvIBm4I7xYibYRCP4HhSyMB26xgqFYFOXTaeWbHD2UUwAFaksTLw5ntzfpA9kE33SVA==",
- "requires": {
- "bluebird": "^3.5.0",
- "cls-bluebird": "^2.1.0",
- "debug": "^4.1.1",
- "dottie": "^2.0.0",
- "inflection": "1.12.0",
- "lodash": "^4.17.15",
- "moment": "^2.24.0",
- "moment-timezone": "^0.5.21",
- "retry-as-promised": "^3.2.0",
- "semver": "^6.3.0",
- "sequelize-pool": "^2.3.0",
- "toposort-class": "^1.0.1",
- "uuid": "^3.3.3",
- "validator": "^10.11.0",
- "wkx": "^0.4.8"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "sequelize-pool": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-2.3.0.tgz",
- "integrity": "sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA=="
- },
- "sequelize-typescript": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/sequelize-typescript/-/sequelize-typescript-1.1.0.tgz",
- "integrity": "sha512-FAPEQPeAhIaFQNLAcf9Q2IWcqWhNcvn5OZZ7BzGB0CJMtImIsGg4E/EAb7huMmPaPwDArxJUWGqk1KurphTNRA==",
- "requires": {
- "glob": "7.1.2"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
- },
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "shimmer": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz",
- "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw=="
- },
- "signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- }
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "source-map-support": {
- "version": "0.5.19",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
- "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "spotify-uri": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/spotify-uri/-/spotify-uri-2.0.0.tgz",
- "integrity": "sha512-GmEDCx74boSaJFgyUGEKVnVTinCNF5f8RMIUsM8MKJSSaeQ/qonipY42NFct4pFbUT3MS5A19z/Dduy1dHdvaQ=="
- },
- "spotify-web-api-node": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/spotify-web-api-node/-/spotify-web-api-node-4.0.0.tgz",
- "integrity": "sha512-FQAX4qiP9xfjmJpkSfF5PEVr7RVorUZiLvcdVTlhVFLYAmQ8VSsZlyb0yTK0GExKhAcgJy9GfWxqjSB2r9SrjA==",
- "requires": {
- "superagent": "^3.7.0"
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "sqlite3": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz",
- "integrity": "sha512-roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==",
- "requires": {
- "nan": "^2.12.1",
- "node-pre-gyp": "^0.11.0"
- },
- "dependencies": {
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
- },
- "fs-minipass": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
- "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
- "requires": {
- "minipass": "^2.6.0"
- }
- },
- "minipass": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
- "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
- "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
- "requires": {
- "minipass": "^2.9.0"
- }
- },
- "node-pre-gyp": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz",
- "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==",
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- }
- },
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- },
- "tar": {
- "version": "4.4.13",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
- "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
- "requires": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.8.6",
- "minizlib": "^1.2.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.3"
- }
- },
- "yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
- }
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "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"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "strip-json-comments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
- "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
- "dev": true
- },
- "superagent": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
- "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
- "requires": {
- "component-emitter": "^1.2.0",
- "cookiejar": "^2.1.0",
- "debug": "^3.1.0",
- "extend": "^3.0.0",
- "form-data": "^2.3.1",
- "formidable": "^1.2.0",
- "methods": "^1.1.1",
- "mime": "^1.4.1",
- "qs": "^6.5.1",
- "readable-stream": "^2.3.5"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
- "dev": true,
- "requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
- }
- },
- "tar": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz",
- "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==",
- "requires": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.0",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "dependencies": {
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
- }
- }
- },
- "term-size": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz",
- "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==",
- "dev": true
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "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=",
- "dev": true
- },
- "tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
- "requires": {
- "os-tmpdir": "~1.0.2"
- }
- },
- "to-readable-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "toposort-class": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz",
- "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg="
- },
- "touch": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
- "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
- "dev": true,
- "requires": {
- "nopt": "~1.0.10"
- },
- "dependencies": {
- "nopt": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
- "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
- "dev": true,
- "requires": {
- "abbrev": "1"
- }
- }
- }
- },
- "ts-node": {
- "version": "8.10.2",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz",
- "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==",
- "dev": true,
- "requires": {
- "arg": "^4.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "source-map-support": "^0.5.17",
- "yn": "3.1.1"
- }
- },
- "tslib": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
- "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
- "dev": true
- },
- "tsutils": {
- "version": "3.17.1",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
- "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
- "dev": true,
- "requires": {
- "tslib": "^1.8.1"
- }
- },
- "tweetnacl": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
- "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
- },
- "type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1"
- }
- },
- "type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="
- },
- "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==",
- "dev": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "typescript": {
- "version": "3.9.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.3.tgz",
- "integrity": "sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ==",
- "dev": true
- },
- "undefsafe": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz",
- "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==",
- "dev": true,
- "requires": {
- "debug": "^2.2.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "unique-random": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unique-random/-/unique-random-2.1.0.tgz",
- "integrity": "sha512-iQ1ZgWac3b8YxGThecQFRQiqgk6xFERRwHZIWeVVsqlbmgCRl0PY13R4mUkodNgctmg5b5odG1nyW/IbOxQTqg=="
- },
- "unique-random-array": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-random-array/-/unique-random-array-2.0.0.tgz",
- "integrity": "sha512-xR87O95fZ7hljw84J8r1YDXrvffPLWN513BNOP4Bv0KcgG5dyEUrHwsvP7mVAOKg4Y80uqRbpUk0GKr8il70qg==",
- "requires": {
- "unique-random": "^2.1.0"
- }
- },
- "unique-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
- "dev": true,
- "requires": {
- "crypto-random-string": "^2.0.0"
- }
- },
- "update-notifier": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz",
- "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==",
- "dev": true,
- "requires": {
- "boxen": "^4.2.0",
- "chalk": "^3.0.0",
- "configstore": "^5.0.1",
- "has-yarn": "^2.1.0",
- "import-lazy": "^2.1.0",
- "is-ci": "^2.0.0",
- "is-installed-globally": "^0.3.1",
- "is-npm": "^4.0.0",
- "is-yarn-global": "^0.3.0",
- "latest-version": "^5.0.0",
- "pupa": "^2.0.1",
- "semver-diff": "^3.1.1",
- "xdg-basedir": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
- "dev": true,
- "requires": {
- "prepend-http": "^2.0.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
- },
- "v8-compile-cache": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
- "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
- "dev": true
- },
- "validator": {
- "version": "10.11.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz",
- "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw=="
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-pm-runs": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
- "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
- "dev": true
- },
- "wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "widest-line": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
- "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
- "dev": true,
- "requires": {
- "string-width": "^4.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- }
- }
- },
- "wkx": {
- "version": "0.4.8",
- "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.4.8.tgz",
- "integrity": "sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ==",
- "requires": {
- "@types/node": "*"
- }
- },
- "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==",
- "dev": true
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
- "write": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
- "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
- "dev": true,
- "requires": {
- "mkdirp": "^0.5.1"
- }
- },
- "write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "ws": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
- "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w=="
- },
- "xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
- "dev": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "yaml": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz",
- "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==",
- "dev": true
- },
- "yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true
- },
- "youtube.ts": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/youtube.ts/-/youtube.ts-0.1.3.tgz",
- "integrity": "sha512-7M1KWnE2we4PrgYBuqwMzFOwoO+dDxcA7DgURmZLiM4duolSWvfYV/e8aIRrnWrm7+u6+098T/PVdXe5mVAnlQ==",
- "requires": {
- "axios": "^0.19.0",
- "ytdl-core": "^2.0.0"
- }
- },
- "ytdl-core": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-2.1.5.tgz",
- "integrity": "sha512-6iDMndnf9/zxUaDYw8MjK4kie/wp7LqJ9nwBsrP3GvyNL3nZcnaiQi957YPBncUzmGZZUNUqA1gRNieYl+z6Fg==",
- "requires": {
- "html-entities": "^1.3.1",
- "m3u8stream": "^0.7.1",
- "miniget": "^1.7.2",
- "sax": "^1.1.3"
- }
- },
- "ytsr": {
- "version": "0.1.14",
- "resolved": "https://registry.npmjs.org/ytsr/-/ytsr-0.1.14.tgz",
- "integrity": "sha512-YlLIDRPVUBOXnBjW6RytxpzC8g5ieqwjzcdrmmgdvTmVD/iisvNBPO5LhqB7R0kbuNHjFW6FBYpCTvCF1gCrHA==",
- "requires": {
- "html-entities": "^1.1.3"
- }
- }
- }
-}
diff --git a/package.json b/package.json
index 1bc4181..bd51cdd 100644
--- a/package.json
+++ b/package.json
@@ -16,10 +16,10 @@
"lint": "eslint 'src/**/*.ts'",
"lint-fix": "eslint 'src/**/*.ts' --fix",
"clean": "rm -rf dist dts",
- "test": "npm run lint",
+ "test": "yarn lint",
"build": "tsc",
"watch": "tsc --watch",
- "prepack": "npm run clean && npm run build",
+ "prepack": "yarn clean && yarn build",
"start": "node dist/index.js",
"dev": "nodemon",
"docker-publish": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t codetheweb/muse:latest --push ."
@@ -27,23 +27,23 @@
"devDependencies": {
"@types/bluebird": "^3.5.32",
"@types/debug": "^4.1.5",
- "@types/fluent-ffmpeg": "^2.1.14",
+ "@types/fluent-ffmpeg": "^2.1.16",
"@types/fs-capacitor": "^2.0.0",
- "@types/node": "^14.6.0",
+ "@types/node": "^14.14.2",
"@types/node-emoji": "^1.8.1",
"@types/spotify-web-api-node": "^4.0.1",
"@types/validator": "^13.1.0",
- "@types/ws": "^7.2.6",
- "@typescript-eslint/eslint-plugin": "^3.10.0",
- "@typescript-eslint/parser": "^3.10.0",
- "eslint": "^7.7.0",
- "eslint-config-xo": "^0.32.1",
- "eslint-config-xo-typescript": "^0.32.0",
- "husky": "^4.2.5",
- "nodemon": "^2.0.4",
+ "@types/ws": "^7.2.7",
+ "@typescript-eslint/eslint-plugin": "^4.5.0",
+ "@typescript-eslint/parser": "^4.5.0",
+ "eslint": "^7.12.0",
+ "eslint-config-xo": "^0.33.1",
+ "eslint-config-xo-typescript": "^0.35.0",
+ "husky": "^4.3.0",
+ "nodemon": "^2.0.6",
"reflect-metadata": "^0.1.13",
"ts-node": "^9.0.0",
- "typescript": "^4.0.2"
+ "typescript": "^4.0.3"
},
"eslintConfig": {
"extends": [
@@ -63,21 +63,21 @@
},
"husky": {
"hooks": {
- "pre-commit": "npm test && npm run build"
+ "pre-commit": "npm test && yarn build"
}
},
"dependencies": {
"@discordjs/opus": "^0.3.2",
"array-shuffle": "^1.0.1",
- "debug": "^4.1.1",
+ "debug": "^4.2.0",
"delay": "^4.4.0",
- "discord.js": "^12.3.1",
+ "discord.js": "^12.4.1",
"dotenv": "^8.2.0",
"fluent-ffmpeg": "^2.1.2",
"fs-capacitor": "^6.2.0",
"get-youtube-id": "^1.0.1",
- "got": "^11.5.2",
- "hasha": "^5.2.0",
+ "got": "^11.8.0",
+ "hasha": "^5.2.2",
"inversify": "^5.0.1",
"iso8601-duration": "^1.2.0",
"make-dir": "^3.1.0",
@@ -86,11 +86,11 @@
"sequelize": "^5.21.11",
"sequelize-typescript": "^1.1.0",
"spotify-uri": "^2.1.0",
- "spotify-web-api-node": "^4.0.0",
+ "spotify-web-api-node": "^5.0.0",
"sqlite3": "^5.0.0",
"unique-random-array": "^2.0.0",
"youtube.ts": "^0.1.8",
- "ytdl-core": "^3.2.2",
- "ytsr": "^1.0.1"
+ "ytdl-core": "^3.4.2",
+ "ytsr": "^1.0.4"
}
}
diff --git a/src/bot.ts b/src/bot.ts
index 296c06b..2345a25 100644
--- a/src/bot.ts
+++ b/src/bot.ts
@@ -89,7 +89,7 @@ export default class {
}
await handler.execute(msg, args);
- } catch (error) {
+ } catch (error: unknown) {
debug(error);
await msg.channel.send(errorMsg((error as Error).message.toLowerCase()));
}
diff --git a/src/commands/fseek.ts b/src/commands/fseek.ts
index fe8ee93..19d9fbf 100644
--- a/src/commands/fseek.ts
+++ b/src/commands/fseek.ts
@@ -52,8 +52,8 @@ export default class implements Command {
await player.forwardSeek(seekTime);
await loading.stop();
- } catch (error) {
- await loading.stop(errorMsg(error));
+ } catch (error: unknown) {
+ await loading.stop(errorMsg(error as Error));
}
}
}
diff --git a/src/commands/play.ts b/src/commands/play.ts
index 10db7d2..d4f8ba2 100644
--- a/src/commands/play.ts
+++ b/src/commands/play.ts
@@ -2,8 +2,7 @@ import {TextChannel, Message} from 'discord.js';
import {URL} from 'url';
import {TYPES} from '../types';
import {inject, injectable} from 'inversify';
-import {QueuedSong} from '../services/player';
-import {STATUS} from '../services/player';
+import {QueuedSong, STATUS} from '../services/player';
import PlayerManager from '../managers/player';
import {getMostPopularVoiceChannel} from '../utils/channels';
import LoadingMessage from '../utils/loading-message';
@@ -111,7 +110,7 @@ export default class implements Command {
newSongs.push(...convertedSongs);
}
- } catch (_) {
+ } catch (_: unknown) {
// Not a URL, must search YouTube
const query = args.join(' ');
diff --git a/src/commands/seek.ts b/src/commands/seek.ts
index de8f03e..edbb5bd 100644
--- a/src/commands/seek.ts
+++ b/src/commands/seek.ts
@@ -63,8 +63,8 @@ export default class implements Command {
await player.seek(seekTime);
await loading.stop();
- } catch (error) {
- await loading.stop(errorMsg(error));
+ } catch (error: unknown) {
+ await loading.stop(errorMsg(error as Error));
}
}
}
diff --git a/src/commands/skip.ts b/src/commands/skip.ts
index 72b3f46..677ad03 100644
--- a/src/commands/skip.ts
+++ b/src/commands/skip.ts
@@ -32,7 +32,7 @@ export default class implements Command {
await player.forward();
await loader.stop('keep \'er movin\'');
- } catch (_) {
+ } catch (_: unknown) {
await loader.stop(errorMsg('no song to skip to'));
}
}
diff --git a/src/commands/unskip.ts b/src/commands/unskip.ts
index 60147b0..5dba251 100644
--- a/src/commands/unskip.ts
+++ b/src/commands/unskip.ts
@@ -28,7 +28,7 @@ export default class implements Command {
await player.back();
await msg.channel.send('back \'er up\'');
- } catch (_) {
+ } catch (_: unknown) {
await msg.channel.send(errorMsg('no song to go back to'));
}
}
diff --git a/src/services/get-songs.ts b/src/services/get-songs.ts
index 221a79c..48a1dc7 100644
--- a/src/services/get-songs.ts
+++ b/src/services/get-songs.ts
@@ -29,7 +29,7 @@ export default class {
const {items: [video]} = await this.youtube.videos.search({q: query, maxResults: 1, type: 'video'});
return await this.youtubeVideo(video.id.videoId);
- } catch (_) {
+ } catch (_: unknown) {
return null;
}
}
@@ -46,7 +46,7 @@ export default class {
playlist: null,
isLive: videoDetails.snippet.liveBroadcastContent === 'live'
};
- } catch (_) {
+ } catch (_: unknown) {
return null;
}
}
@@ -200,7 +200,7 @@ export default class {
playlist,
isLive: video.live
};
- } catch (_) {
+ } catch (_: unknown) {
return null;
}
}
diff --git a/src/services/natural-language-commands.ts b/src/services/natural-language-commands.ts
index fa2b119..45605e1 100644
--- a/src/services/natural-language-commands.ts
+++ b/src/services/natural-language-commands.ts
@@ -84,7 +84,7 @@ export default class {
resolve();
}, duration * 1000);
- } catch (error) {
+ } catch (error: unknown) {
reject(error);
}
});
diff --git a/src/services/player.ts b/src/services/player.ts
index 0ba79c9..76ff73f 100644
--- a/src/services/player.ts
+++ b/src/services/player.ts
@@ -141,7 +141,7 @@ export default class {
this.startTrackingPosition(0);
this.lastSongURL = currentSong.url;
}
- } catch (error) {
+ } catch (error: unknown) {
this.removeCurrent();
throw error;
}
@@ -171,7 +171,7 @@ export default class {
this.status = STATUS.PAUSED;
this.disconnect();
}
- } catch (error) {
+ } catch (error: unknown) {
this.queuePosition--;
throw error;
}
@@ -282,7 +282,7 @@ export default class {
await fs.access(this.getCachedPath(url));
return true;
- } catch (_) {
+ } catch (_: unknown) {
return false;
}
}
@@ -313,7 +313,7 @@ export default class {
format = formats.find(filter);
const nextBestFormat = (formats: ytdl.videoFormat[]): ytdl.videoFormat | undefined => {
- if (formats[0].live) {
+ if (formats[0].isLive) {
formats = formats.sort((a, b) => (b as unknown as {audioBitrate: number}).audioBitrate - (a as unknown as {audioBitrate: number}).audioBitrate); // Bad typings
return formats.find(format => [128, 127, 120, 96, 95, 94, 93].includes(parseInt(format.itag as unknown as string, 10))); // Bad typings
@@ -321,7 +321,13 @@ export default class {
formats = formats
.filter(format => format.averageBitrate)
- .sort((a, b) => b.averageBitrate - a.averageBitrate);
+ .sort((a, b) => {
+ if (a && b) {
+ return b.averageBitrate! - a.averageBitrate!;
+ }
+
+ return 0;
+ });
return formats.find(format => !format.bitrate) ?? formats[0];
};
diff --git a/yarn.lock b/yarn.lock
index 4ed61b4..1bb4141 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1,3085 +1,4484 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@babel/code-frame@^7.0.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
- integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
- dependencies:
- "@babel/highlight" "^7.8.3"
-
-"@babel/highlight@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797"
- integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==
- dependencies:
- chalk "^2.0.0"
- esutils "^2.0.2"
- js-tokens "^4.0.0"
-
-"@babel/runtime@^7.8.7":
- version "7.8.7"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.7.tgz#8fefce9802db54881ba59f90bb28719b4996324d"
- integrity sha512-+AATMUFppJDw6aiR5NVPHqIQBlV/Pj8wY/EZH+lmvRdUo9xBaz/rF3alAwFJQavvKfeOlPE7oaaDHVbcySbCsg==
- dependencies:
- regenerator-runtime "^0.13.4"
-
-"@discordjs/collection@^0.1.6":
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.1.6.tgz#9e9a7637f4e4e0688fd8b2b5c63133c91607682c"
- integrity sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==
-
-"@discordjs/form-data@^3.0.1":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@discordjs/form-data/-/form-data-3.0.1.tgz#5c9e6be992e2e57d0dfa0e39979a850225fb4697"
- integrity sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.8"
- mime-types "^2.1.12"
-
-"@discordjs/node-pre-gyp@^0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@discordjs/node-pre-gyp/-/node-pre-gyp-0.1.0.tgz#762b3b40be8567186bd7e79084befec4738a9e89"
- integrity sha512-6u3EbK2x+j9bM3iK9/pE7BWLxOXZ1PvcsbDo3ZBdPocu95qPHj8zCVsBBk3Cao7V6o8QpwxUyJl6oVJ6T3ZgAg==
- dependencies:
- detect-libc "^1.0.3"
- mkdirp "^0.5.5"
- needle "^2.4.1"
- nopt "^4.0.3"
- npm-packlist "^1.4.8"
- npmlog "^4.1.2"
- rc "^1.2.8"
- rimraf "^3.0.2"
- semver "^7.3.0"
- tar "^6.0.2"
-
-"@discordjs/opus@^0.3.2":
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/@discordjs/opus/-/opus-0.3.2.tgz#7dde2d4541ccfaa451e029f9d8da980286f9f56a"
- integrity sha512-T/ubykd4Xi19vDfw7/Oe+iTQBJ28yMI2PQAzK+Zue0PB9OpEYaeIXU7k5255061RwL+rHX9w7P/P2of+x2Vu2A==
- dependencies:
- "@discordjs/node-pre-gyp" "^0.1.0"
- node-addon-api "^2.0.0"
-
-"@sindresorhus/is@^0.14.0":
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
- integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
-
-"@sindresorhus/is@^3.0.0":
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-3.1.2.tgz#548650de521b344e3781fbdb0ece4aa6f729afb8"
- integrity sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==
-
-"@szmarczak/http-timer@^1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
- integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
- dependencies:
- defer-to-connect "^1.0.1"
-
-"@szmarczak/http-timer@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152"
- integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==
- dependencies:
- defer-to-connect "^2.0.0"
-
-"@types/bluebird@^3.5.32":
- version "3.5.32"
- resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.32.tgz#381e7b59e39f010d20bbf7e044e48f5caf1ab620"
- integrity sha512-dIOxFfI0C+jz89g6lQ+TqhGgPQ0MxSnh/E4xuC0blhFtyW269+mPG5QeLgbdwst/LvdP8o1y0o/Gz5EHXLec/g==
-
-"@types/cacheable-request@^6.0.1":
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976"
- integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==
- dependencies:
- "@types/http-cache-semantics" "*"
- "@types/keyv" "*"
- "@types/node" "*"
- "@types/responselike" "*"
-
-"@types/color-name@^1.1.1":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
- integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
-
-"@types/debug@^4.1.5":
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd"
- integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
-
-"@types/eslint-visitor-keys@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
- integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==
-
-"@types/fluent-ffmpeg@^2.1.14":
- version "2.1.14"
- resolved "https://registry.yarnpkg.com/@types/fluent-ffmpeg/-/fluent-ffmpeg-2.1.14.tgz#b21d60267fe269c2ea81fa3238a36a8349f8f2f3"
- integrity sha512-nJrAX9ODNI7mUB0b7Y0Stx1a6dOpV3zXsOnWoBuEd9/woQhepBNCMeCyOL6SLJD3jn5sLw5ciDGH0RwJenCoag==
- dependencies:
- "@types/node" "*"
-
-"@types/fs-capacitor@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@types/fs-capacitor/-/fs-capacitor-2.0.0.tgz#17113e25817f584f58100fb7a08eed288b81956e"
- integrity sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==
- dependencies:
- "@types/node" "*"
-
-"@types/http-cache-semantics@*":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a"
- integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==
-
-"@types/json-schema@^7.0.3":
- version "7.0.4"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
- integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==
-
-"@types/keyv@*":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7"
- integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==
- dependencies:
- "@types/node" "*"
-
-"@types/node-emoji@^1.8.1":
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/@types/node-emoji/-/node-emoji-1.8.1.tgz#689cb74fdf6e84309bcafce93a135dfecd01de3f"
- integrity sha512-0fRfA90FWm6KJfw6P9QGyo0HDTCmthZ7cWaBQndITlaWLTZ6njRyKwrwpzpg+n6kBXBIGKeUHEQuBx7bphGJkA==
-
-"@types/node@*":
- version "13.9.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.0.tgz#5b6ee7a77faacddd7de719017d0bc12f52f81589"
- integrity sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ==
-
-"@types/node@^14.6.0":
- version "14.6.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.0.tgz#7d4411bf5157339337d7cff864d9ff45f177b499"
- integrity sha512-mikldZQitV94akrc4sCcSjtJfsTKt4p+e/s0AGscVA6XArQ9kFclP+ZiYUMnq987rc6QlYxXv/EivqlfSLxpKA==
-
-"@types/parse-json@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
- integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
-
-"@types/responselike@*", "@types/responselike@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
- integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==
- dependencies:
- "@types/node" "*"
-
-"@types/spotify-api@*":
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/@types/spotify-api/-/spotify-api-0.0.2.tgz#83bccd04fbc00de01d515418d77d658f277ef6f5"
- integrity sha512-6WlUsg2xaSyxHZShTy+KNe4Hm8foDtaEVLe6+ID5DGOoByhcSKioCV2kPN6E8swgf2IHn+1o9knlbryYmoL0fw==
-
-"@types/spotify-web-api-node@^4.0.1":
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/@types/spotify-web-api-node/-/spotify-web-api-node-4.0.1.tgz#0a2b85a1d40ae312de37deeb3c7e85bf7f4e6812"
- integrity sha512-uxoz7DcSj/v2URDo54FjzctIfdQdEFvmUreHrR26G/Vf0Qm5S0lbt7LdKJeW2EoWUzzfjetYV3TcfMxRm1bWIw==
- dependencies:
- "@types/spotify-api" "*"
-
-"@types/validator@^13.1.0":
- version "13.1.0"
- resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.1.0.tgz#3d776127dbce7dd31fc06f86d3428b072e631eba"
- integrity sha512-gHUHI6pJaANIO2r6WcbT7+WMgbL9GZooR4tWpuBOETpDIqFNxwaJluE+6rj6VGYe8k6OkfhbHz2Fkm8kl06Igw==
-
-"@types/ws@^7.2.6":
- version "7.2.6"
- resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.2.6.tgz#516cbfb818310f87b43940460e065eb912a4178d"
- integrity sha512-Q07IrQUSNpr+cXU4E4LtkSIBPie5GLZyyMC1QtQYRLWz701+XcoVygGUZgvLqElq1nU4ICldMYPnexlBsg3dqQ==
- dependencies:
- "@types/node" "*"
-
-"@typescript-eslint/eslint-plugin@^3.10.0":
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.0.tgz#40fd53e81639c0d1a515b44e5fdf4c03dfd3cd39"
- integrity sha512-Bbeg9JAnSzZ85Y0gpInZscSpifA6SbEgRryaKdP5ZlUjhTKsvZS4GUIE6xAZCjhNTrf4zXXsySo83ZdHL7it0w==
- dependencies:
- "@typescript-eslint/experimental-utils" "3.10.0"
- debug "^4.1.1"
- functional-red-black-tree "^1.0.1"
- regexpp "^3.0.0"
- semver "^7.3.2"
- tsutils "^3.17.1"
-
-"@typescript-eslint/[email protected]":
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.0.tgz#f97a669a84a78319ab324cd51169d0c52853a360"
- integrity sha512-e5ZLSTuXgqC/Gq3QzK2orjlhTZVXzwxDujQmTBOM1NIVBZgW3wiIZjaXuVutk9R4UltFlwC9UD2+bdxsA7yyNg==
- dependencies:
- "@types/json-schema" "^7.0.3"
- "@typescript-eslint/types" "3.10.0"
- "@typescript-eslint/typescript-estree" "3.10.0"
- eslint-scope "^5.0.0"
- eslint-utils "^2.0.0"
-
-"@typescript-eslint/parser@^3.10.0":
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.10.0.tgz#820322d990a82265a78f4c1fc9aae03ce95b76ac"
- integrity sha512-iJyf3f2HVwscvJR7ySGMXw2DJgIAPKEz8TeU17XVKzgJRV4/VgCeDFcqLzueRe7iFI2gv+Tln4AV88ZOnsCNXg==
- dependencies:
- "@types/eslint-visitor-keys" "^1.0.0"
- "@typescript-eslint/experimental-utils" "3.10.0"
- "@typescript-eslint/types" "3.10.0"
- "@typescript-eslint/typescript-estree" "3.10.0"
- eslint-visitor-keys "^1.1.0"
-
-"@typescript-eslint/[email protected]":
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.0.tgz#b81906674eca94a884345ba0bc1aaf6cd4da912a"
- integrity sha512-ktUWSa75heQNwH85GRM7qP/UUrXqx9d6yIdw0iLO9/uE1LILW+i+3+B64dUodUS2WFWLzKTlwfi9giqrODibWg==
-
-"@typescript-eslint/[email protected]":
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.0.tgz#65df13579a5e53c12afb4f1c5309589e3855a5de"
- integrity sha512-yjuY6rmVHRhcUKgXaSPNVloRueGWpFNhxR5EQLzxXfiFSl1U/+FBqHhbaGwtPPEgCSt61QNhZgiFjWT27bgAyw==
- dependencies:
- "@typescript-eslint/types" "3.10.0"
- "@typescript-eslint/visitor-keys" "3.10.0"
- debug "^4.1.1"
- glob "^7.1.6"
- is-glob "^4.0.1"
- lodash "^4.17.15"
- semver "^7.3.2"
- tsutils "^3.17.1"
-
-"@typescript-eslint/[email protected]":
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.0.tgz#6c0cac867e705a42e2c71b359bf6a10a88a28985"
- integrity sha512-g4qftk8lWb/rHZe9uEp8oZSvsJhUvR2cfp7F7qE6DyUD2SsovEs8JDQTRP1xHzsD+pERsEpYNqkDgQXW6+ob5A==
- dependencies:
- eslint-visitor-keys "^1.1.0"
-
-abbrev@1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
- integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-
-abort-controller@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
- integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
- dependencies:
- event-target-shim "^5.0.0"
-
-acorn-jsx@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
- integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
-
-acorn@^7.4.0:
- version "7.4.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
- integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
-
-ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5:
- version "6.12.0"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7"
- integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ansi-align@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb"
- integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==
- dependencies:
- string-width "^3.0.0"
-
-ansi-colors@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
- integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
-
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
- integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
-
-ansi-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
- integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
-
-ansi-regex@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
- integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
-
-ansi-regex@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
- integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
-
-ansi-styles@^3.2.0, ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
-ansi-styles@^4.1.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
- integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
- dependencies:
- "@types/color-name" "^1.1.1"
- color-convert "^2.0.1"
-
-any-promise@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
- integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
-
-anymatch@~3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
- integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-aproba@^1.0.3:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
- integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
-
-are-we-there-yet@~1.1.2:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
- integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
- dependencies:
- delegates "^1.0.0"
- readable-stream "^2.0.6"
-
-arg@^4.1.0:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
- integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
-array-shuffle@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/array-shuffle/-/array-shuffle-1.0.1.tgz#7ea4882a356b4bca5f545e0b6e52eaf6d971557a"
- integrity sha1-fqSIKjVrS8pfVF4LblLq9tlxVXo=
-
-asn1@~0.2.3:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
- integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
- dependencies:
- safer-buffer "~2.1.0"
-
[email protected], assert-plus@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
- integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
-
-astral-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
- integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
-
-async@>=0.2.9:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
- integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
- integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
-
-aws-sign2@~0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
- integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
-
-aws4@^1.8.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e"
- integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==
-
-axios@^0.19.0:
- version "0.19.2"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
- integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
- dependencies:
- follow-redirects "1.5.10"
-
-balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
- integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
-
-bcrypt-pbkdf@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
- integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
- dependencies:
- tweetnacl "^0.14.3"
-
-binary-extensions@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c"
- integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==
-
-block-stream@*:
- version "0.0.9"
- resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
- integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
- dependencies:
- inherits "~2.0.0"
-
-bluebird@^3.5.0:
- version "3.7.2"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
- integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
-
-boxen@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64"
- integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==
- dependencies:
- ansi-align "^3.0.0"
- camelcase "^5.3.1"
- chalk "^3.0.0"
- cli-boxes "^2.2.0"
- string-width "^4.1.0"
- term-size "^2.1.0"
- type-fest "^0.8.1"
- widest-line "^3.1.0"
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-buffer-from@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
- integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
-
-cacheable-lookup@^5.0.3:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz#049fdc59dffdd4fc285e8f4f82936591bd59fec3"
- integrity sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w==
-
-cacheable-request@^6.0.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
- integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
- dependencies:
- clone-response "^1.0.2"
- get-stream "^5.1.0"
- http-cache-semantics "^4.0.0"
- keyv "^3.0.0"
- lowercase-keys "^2.0.0"
- normalize-url "^4.1.0"
- responselike "^1.0.2"
-
-cacheable-request@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58"
- integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==
- dependencies:
- clone-response "^1.0.2"
- get-stream "^5.1.0"
- http-cache-semantics "^4.0.0"
- keyv "^4.0.0"
- lowercase-keys "^2.0.0"
- normalize-url "^4.1.0"
- responselike "^2.0.0"
-
-callsites@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
- integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-
-camelcase@^5.3.1:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-caseless@~0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
- integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-
-chalk@^2.0.0:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chalk@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
- integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chalk@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
- integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chokidar@^3.2.2:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450"
- integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==
- dependencies:
- anymatch "~3.1.1"
- braces "~3.0.2"
- glob-parent "~5.1.0"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.3.0"
- optionalDependencies:
- fsevents "~2.1.2"
-
-chownr@^1.1.1:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
- integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-
-chownr@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
- integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
-
-ci-info@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
- integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
-
-cli-boxes@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d"
- integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==
-
-clone-response@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
- integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
- dependencies:
- mimic-response "^1.0.0"
-
-cls-bluebird@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cls-bluebird/-/cls-bluebird-2.1.0.tgz#37ef1e080a8ffb55c2f4164f536f1919e7968aee"
- integrity sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=
- dependencies:
- is-bluebird "^1.0.2"
- shimmer "^1.1.0"
-
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
- integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
-
-color-convert@^1.9.0:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
- integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-
-color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
- integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
- dependencies:
- delayed-stream "~1.0.0"
-
-compare-versions@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
- integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
-
-component-emitter@^1.2.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
- integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
-
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-
-configstore@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96"
- integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==
- dependencies:
- dot-prop "^5.2.0"
- graceful-fs "^4.1.2"
- make-dir "^3.0.0"
- unique-string "^2.0.0"
- write-file-atomic "^3.0.0"
- xdg-basedir "^4.0.0"
-
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd"
- integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==
-
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
- integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
-
-cookiejar@^2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c"
- integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==
-
[email protected], core-util-is@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
- integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-
-cosmiconfig@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
- integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
- dependencies:
- "@types/parse-json" "^4.0.0"
- import-fresh "^3.1.0"
- parse-json "^5.0.0"
- path-type "^4.0.0"
- yaml "^1.7.2"
-
-cross-spawn@^7.0.2:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-crypto-random-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
- integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
-
-dashdash@^1.12.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
- integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
- dependencies:
- assert-plus "^1.0.0"
-
-debug@=3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
- integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
- dependencies:
- ms "2.0.0"
-
-debug@^2.2.0:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-debug@^3.1.0, debug@^3.2.6:
- version "3.2.6"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
- integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
- dependencies:
- ms "^2.1.1"
-
-debug@^4.0.1, debug@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
- integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
- dependencies:
- ms "^2.1.1"
-
-decompress-response@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
- integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
- dependencies:
- mimic-response "^1.0.0"
-
-decompress-response@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
- integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
- dependencies:
- mimic-response "^3.1.0"
-
-deep-extend@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
- integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-
-deep-is@^0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
- integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-
-defer-to-connect@^1.0.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
- integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
-
-defer-to-connect@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.0.tgz#83d6b199db041593ac84d781b5222308ccf4c2c1"
- integrity sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==
-
-delay@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/delay/-/delay-4.4.0.tgz#71abc745f3ce043fe7f450491236541edec4ad0c"
- integrity sha512-txgOrJu3OdtOfTiEOT2e76dJVfG/1dz2NZ4F0Pyt4UGZJryssMRp5vdM5wQoLwSOBNdrJv3F9PAhp/heqd7vrA==
-
-delayed-stream@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
- integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
-
-delegates@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
- integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
-
-detect-libc@^1.0.2, detect-libc@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
- integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
-
-diff@^4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
- integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
-
-discord.js@^12.3.1:
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-12.3.1.tgz#8f58ac17d29b068dbfeb6c01fc7777bacd5324cf"
- integrity sha512-mSFyV/mbvzH12UXdS4zadmeUf8IMQOo/YdunubG1wWt1xjWvtaJz/s9CGsFD2B5pTw1W/LXxxUbrQjIZ/xlUdw==
- dependencies:
- "@discordjs/collection" "^0.1.6"
- "@discordjs/form-data" "^3.0.1"
- abort-controller "^3.0.0"
- node-fetch "^2.6.0"
- prism-media "^1.2.2"
- setimmediate "^1.0.5"
- tweetnacl "^1.0.3"
- ws "^7.3.1"
-
-doctrine@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
- integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
- dependencies:
- esutils "^2.0.2"
-
-dot-prop@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb"
- integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==
- dependencies:
- is-obj "^2.0.0"
-
-dotenv@^8.2.0:
- version "8.2.0"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
- integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
-
-dottie@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/dottie/-/dottie-2.0.2.tgz#cc91c0726ce3a054ebf11c55fbc92a7f266dd154"
- integrity sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==
-
-duplexer3@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
- integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
-
-ecc-jsbn@~0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
- integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
- dependencies:
- jsbn "~0.1.0"
- safer-buffer "^2.1.0"
-
-emoji-regex@^7.0.1:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
- integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
-
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
-end-of-stream@^1.1.0:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
-enquirer@^2.3.5:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
- integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
- dependencies:
- ansi-colors "^4.1.1"
-
-error-ex@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
- integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
- dependencies:
- is-arrayish "^0.2.1"
-
-escape-goat@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675"
- integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==
-
-escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-
-eslint-config-xo-typescript@^0.32.0:
- version "0.32.0"
- resolved "https://registry.yarnpkg.com/eslint-config-xo-typescript/-/eslint-config-xo-typescript-0.32.0.tgz#87994155710b7c5a9349bafb7ef794c54eb3c7dc"
- integrity sha512-GCYR9wXNATh6/yB9s9PvKia7tlv86ZsrN3CYk/qfcTJhFSO41fagBgA8G8H1j0CACC4AHaRpgbTEu4+W0p9hkw==
-
-eslint-config-xo@^0.32.1:
- version "0.32.1"
- resolved "https://registry.yarnpkg.com/eslint-config-xo/-/eslint-config-xo-0.32.1.tgz#51f6d7fd5591e66a2330feb24f2f205c4bfa64fc"
- integrity sha512-achnYLilUTtljR1CGRikVj9HRAf5GplJeGgeyQMvph7mKo+AqTkNuig4EO/IrNOChcjoazgw9YT4cW/3+69i3Q==
- dependencies:
- confusing-browser-globals "1.0.9"
-
-eslint-scope@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
- integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-scope@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
- integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-utils@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz#7be1cc70f27a72a76cd14aa698bcabed6890e1cd"
- integrity sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==
- dependencies:
- eslint-visitor-keys "^1.1.0"
-
-eslint-utils@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
- integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
- dependencies:
- eslint-visitor-keys "^1.1.0"
-
-eslint-visitor-keys@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
- integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
-
-eslint-visitor-keys@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
- integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
-
-eslint@^7.7.0:
- version "7.7.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073"
- integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- ajv "^6.10.0"
- chalk "^4.0.0"
- cross-spawn "^7.0.2"
- debug "^4.0.1"
- doctrine "^3.0.0"
- enquirer "^2.3.5"
- eslint-scope "^5.1.0"
- eslint-utils "^2.1.0"
- eslint-visitor-keys "^1.3.0"
- espree "^7.2.0"
- esquery "^1.2.0"
- esutils "^2.0.2"
- file-entry-cache "^5.0.1"
- functional-red-black-tree "^1.0.1"
- glob-parent "^5.0.0"
- globals "^12.1.0"
- ignore "^4.0.6"
- import-fresh "^3.0.0"
- imurmurhash "^0.1.4"
- is-glob "^4.0.0"
- js-yaml "^3.13.1"
- json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.4.1"
- lodash "^4.17.19"
- minimatch "^3.0.4"
- natural-compare "^1.4.0"
- optionator "^0.9.1"
- progress "^2.0.0"
- regexpp "^3.1.0"
- semver "^7.2.1"
- strip-ansi "^6.0.0"
- strip-json-comments "^3.1.0"
- table "^5.2.3"
- text-table "^0.2.0"
- v8-compile-cache "^2.0.3"
-
-espree@^7.2.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348"
- integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==
- dependencies:
- acorn "^7.4.0"
- acorn-jsx "^5.2.0"
- eslint-visitor-keys "^1.3.0"
-
-esprima@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
-esquery@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
- integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
- dependencies:
- estraverse "^5.1.0"
-
-esrecurse@^4.1.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
- integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
- dependencies:
- estraverse "^4.1.0"
-
-estraverse@^4.1.0, estraverse@^4.1.1:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
-estraverse@^5.1.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
- integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
-
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-event-target-shim@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
- integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
-
-extend@^3.0.0, extend@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
- integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
-
-extsprintf@^1.2.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
- integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
-
-fast-deep-equal@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
- integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
-
-fast-json-stable-stringify@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
- integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-
-fast-levenshtein@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
- integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
-
-file-entry-cache@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
- integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
- dependencies:
- flat-cache "^2.0.1"
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-find-up@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-find-versions@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e"
- integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==
- dependencies:
- semver-regex "^2.0.0"
-
-flat-cache@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
- integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
- dependencies:
- flatted "^2.0.0"
- rimraf "2.6.3"
- write "1.0.3"
-
-flatted@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
- integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==
-
-fluent-ffmpeg@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz#c952de2240f812ebda0aa8006d7776ee2acf7d74"
- integrity sha1-yVLeIkD4EuvaCqgAbXd27irPfXQ=
- dependencies:
- async ">=0.2.9"
- which "^1.1.1"
-
- version "1.5.10"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
- integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
- dependencies:
- debug "=3.1.0"
-
-forever-agent@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
- integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
-
-form-data@^2.3.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4"
- integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.6"
- mime-types "^2.1.12"
-
-form-data@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
- integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.6"
- mime-types "^2.1.12"
-
-formidable@^1.2.0:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9"
- integrity sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==
-
-fs-capacitor@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-6.2.0.tgz#fa79ac6576629163cb84561995602d8999afb7f5"
- integrity sha512-nKcE1UduoSKX27NSZlg879LdQc94OtbOsEmKMN2MBNudXREvijRKx2GEBsTMTfws+BrbkJoEuynbGSVRSpauvw==
-
-fs-minipass@^1.2.5:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
- integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
- dependencies:
- minipass "^2.6.0"
-
-fs-minipass@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
- integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
- dependencies:
- minipass "^3.0.0"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+# This file is generated by running "yarn install" inside your project.
+# Manual changes might be lost - proceed with caution!
+
+__metadata:
+ version: 4
+ cacheKey: 7
+
+"@babel/code-frame@npm:^7.0.0":
+ version: 7.8.3
+ resolution: "@babel/code-frame@npm:7.8.3"
+ dependencies:
+ "@babel/highlight": ^7.8.3
+ checksum: 0552a3e3667ad5af3bbffd537a7d177f321af3ff416522a9e9c7c671b9fc5d7f5eb6847e676e8de7a7362819e9670d9fe684e95d1c98adad0c0a0763c096955e
+ languageName: node
+ linkType: hard
+
+"@babel/highlight@npm:^7.8.3":
+ version: 7.8.3
+ resolution: "@babel/highlight@npm:7.8.3"
+ dependencies:
+ chalk: ^2.0.0
+ esutils: ^2.0.2
+ js-tokens: ^4.0.0
+ checksum: ce11281e4e101fac60cd1b7a5aab94424a8da248195262d75b3f1a0ff8490aaf20d62569bae91ba1f94bd805d53ea5c77b363054b18e0ea16be26065902ad97e
+ languageName: node
+ linkType: hard
+
+"@discordjs/collection@npm:^0.1.6":
+ version: 0.1.6
+ resolution: "@discordjs/collection@npm:0.1.6"
+ checksum: da87faf9975e9320a4aa5e8a78312849e4767eb5b0c3348612a0f2d07b5bad4bb91c8c65a5a8ffecc007574c5eebd4790d2e13880af6fd2ae865ba3161495f9a
+ languageName: node
+ linkType: hard
+
+"@discordjs/form-data@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "@discordjs/form-data@npm:3.0.1"
+ dependencies:
+ asynckit: ^0.4.0
+ combined-stream: ^1.0.8
+ mime-types: ^2.1.12
+ checksum: 2ddf4c9bba170ea325cabae28d8d4f3e2e132a4eded64d242dbaafb514d0109c338a18bd0cab4d3464dca8f2da1c6ddc870ef96b89d7b5ed16f155cd171bf1a4
+ languageName: node
+ linkType: hard
+
+"@discordjs/node-pre-gyp@npm:^0.1.0":
+ version: 0.1.0
+ resolution: "@discordjs/node-pre-gyp@npm:0.1.0"
+ dependencies:
+ detect-libc: ^1.0.3
+ mkdirp: ^0.5.5
+ needle: ^2.4.1
+ nopt: ^4.0.3
+ npm-packlist: ^1.4.8
+ npmlog: ^4.1.2
+ rc: ^1.2.8
+ rimraf: ^3.0.2
+ semver: ^7.3.0
+ tar: ^6.0.2
+ bin:
+ node-pre-gyp: bin/node-pre-gyp
+ checksum: 1922e8bb7d02b4136a542775c6a0c6232fa4e9e438b39b13bc29294ed9f4fa7ec25fad013644ed189b0ab07c882e393615fbda218933cc9fe62b1d883542f6ec
+ languageName: node
+ linkType: hard
+
+"@discordjs/opus@npm:^0.3.2":
+ version: 0.3.2
+ resolution: "@discordjs/opus@npm:0.3.2"
+ dependencies:
+ "@discordjs/node-pre-gyp": ^0.1.0
+ node-addon-api: ^2.0.0
+ checksum: b1b92896c898cd8e6ad7c2650ad6baa4ce2f581956ec0019a8f356435cc56886dd90a22efb9d4e3c55f0fbf7ee3ca0feb156c74dee1828bf0b929f28a68bd516
+ languageName: node
+ linkType: hard
+
+"@eslint/eslintrc@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "@eslint/eslintrc@npm:0.2.0"
+ dependencies:
+ ajv: ^6.12.4
+ debug: ^4.1.1
+ espree: ^7.3.0
+ globals: ^12.1.0
+ ignore: ^4.0.6
+ import-fresh: ^3.2.1
+ js-yaml: ^3.13.1
+ lodash: ^4.17.19
+ minimatch: ^3.0.4
+ strip-json-comments: ^3.1.1
+ checksum: bdc8346add0fe57337c09134f19e693fa8a3c03357bf54c05de2270388774b0469b6d6dbd9f368cbd5de53919c4c9e8b644177acc417ea1ff4f99cbf32feefa6
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.scandir@npm:2.1.3":
+ version: 2.1.3
+ resolution: "@nodelib/fs.scandir@npm:2.1.3"
+ dependencies:
+ "@nodelib/fs.stat": 2.0.3
+ run-parallel: ^1.1.9
+ checksum: 1f100655dd65cda70b92cd4497b34f85855fd7b8f439d1eb0d0304e605e5a7c97e100710bfff21447f792b2504d5c6a9918b74696ccc22f32b279fb557c1db47
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.stat@npm:2.0.3, @nodelib/fs.stat@npm:^2.0.2":
+ version: 2.0.3
+ resolution: "@nodelib/fs.stat@npm:2.0.3"
+ checksum: 1bfdb2f419370fe5f8412ae2691cc50122c829103719627b36838e875feacc982a9d8d102ea6b5ab1479538a96867f324f63fe97440d8352d03ffa6337beec45
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.walk@npm:^1.2.3":
+ version: 1.2.4
+ resolution: "@nodelib/fs.walk@npm:1.2.4"
+ dependencies:
+ "@nodelib/fs.scandir": 2.1.3
+ fastq: ^1.6.0
+ checksum: f4bffba16cc5d527fa594e120065e6d2376e274fb5df42cc744fcd28805fe23844590db74b20e102805280794208438b574e6e7fc25c6c245896909992a65e83
+ languageName: node
+ linkType: hard
+
+"@sindresorhus/is@npm:^0.14.0":
+ version: 0.14.0
+ resolution: "@sindresorhus/is@npm:0.14.0"
+ checksum: da26389d6e23f64726224ffda6f6a04bab88e15b9c4eb8f9e5fdafc3baaaa071c85c47816723b7e61e14bf2f4dcff25d6bc1629032c2916ffb8b3fe759ad7b1f
+ languageName: node
+ linkType: hard
+
+"@sindresorhus/is@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "@sindresorhus/is@npm:4.0.0"
+ checksum: 7022d5037ff778c5c369c353e16a173c3797de5f4196b631ec00b0f710a3ccb016937ce454d4fac6ca32d695ed30a59444e941f8f78ff7692dc3c50959b3fe61
+ languageName: node
+ linkType: hard
+
+"@szmarczak/http-timer@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "@szmarczak/http-timer@npm:1.1.2"
+ dependencies:
+ defer-to-connect: ^1.0.1
+ checksum: a46ec854231194dd1ab924a5ea0d8f0afa2b7133754a3def099cc5749e34802d8668a7d7ee3583327048354b9dc621113843d8546387e06ff57e6763cbb558d9
+ languageName: node
+ linkType: hard
+
+"@szmarczak/http-timer@npm:^4.0.5":
+ version: 4.0.5
+ resolution: "@szmarczak/http-timer@npm:4.0.5"
+ dependencies:
+ defer-to-connect: ^2.0.0
+ checksum: 13d8f71dbd792b620b2cd13d72d086ef031ebefd5263a9db2f34693a32e4d90920fa1d7075cd59bf0c9810b2b1b93ad36d89fc88aba4cd3b8022df7ecc5ffdec
+ languageName: node
+ linkType: hard
+
+"@types/bluebird@npm:^3.5.32":
+ version: 3.5.32
+ resolution: "@types/bluebird@npm:3.5.32"
+ checksum: 92c0baae50feaecb43c1b592829dcbe832b4440110a98cf9ae761e758c6d80843ca7bbd0ecb867e7c470658c52858a53b5700bca5598bce81a713f64f6a5cf41
+ languageName: node
+ linkType: hard
+
+"@types/cacheable-request@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "@types/cacheable-request@npm:6.0.1"
+ dependencies:
+ "@types/http-cache-semantics": "*"
+ "@types/keyv": "*"
+ "@types/node": "*"
+ "@types/responselike": "*"
+ checksum: 3dae802a0808573986c56b92bf16cd031a5b648b6c893d20c7ef6bfda3fc72a2107c7978697d2b27b14febc597162d6959985eeb5befc307a9f9f3c5081d4905
+ languageName: node
+ linkType: hard
+
+"@types/color-name@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "@types/color-name@npm:1.1.1"
+ checksum: 8311db94a9c4ecd247763b81e783ee49d87678b4ce6a7ee502e2bd5cea242b7357804a04855db009f713174bc654cc0c01c7303d40d757e5d710f5ac0368500f
+ languageName: node
+ linkType: hard
+
+"@types/debug@npm:^4.1.5":
+ version: 4.1.5
+ resolution: "@types/debug@npm:4.1.5"
+ checksum: 416ad24bc589be0fb8c78bea972aa7d4ffdf6b136239701b1792674463b2dbf8c6707f6055ec484f79ec1f2b528ffef90c87e55df7e4a0f458184cad5bf0cfc8
+ languageName: node
+ linkType: hard
+
+"@types/fluent-ffmpeg@npm:^2.1.16":
+ version: 2.1.16
+ resolution: "@types/fluent-ffmpeg@npm:2.1.16"
+ dependencies:
+ "@types/node": "*"
+ checksum: be59b73093e76f65442ef07e09f5bb7bae9e5185ca8ea6ed9a884a947d4ebd9327a5997c00889d7498dd8deb3970e0371c14d36810f8e1dbf28c8340a9481a34
+ languageName: node
+ linkType: hard
+
+"@types/fs-capacitor@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "@types/fs-capacitor@npm:2.0.0"
+ dependencies:
+ "@types/node": "*"
+ checksum: 2fed98a117ded3af250ae87193c716f41ac8e688eeacb73107688113d15d6bf8ad384c2319e7b430a8c1444197a34c274fed7ff75dab0de49844e841a629c0b0
+ languageName: node
+ linkType: hard
+
+"@types/http-cache-semantics@npm:*":
+ version: 4.0.0
+ resolution: "@types/http-cache-semantics@npm:4.0.0"
+ checksum: e16fae56d4daea4ed678b4d5918b693b44ca12fb5e479b87d242d3a35bf3a014974dcf9ed7aba7e29149fdb6c3719f9987fca51b20ef10aa84b58f86553c2f74
+ languageName: node
+ linkType: hard
+
+"@types/json-schema@npm:^7.0.3":
+ version: 7.0.4
+ resolution: "@types/json-schema@npm:7.0.4"
+ checksum: 5094037431e4b29d5cc9d6938ea596d1145cc46d305d8d302a477a54d0a7a83ba4629abbf52fcabc3ffdb31cf94647bc366a7bcc544770cbb80212d903018e2b
+ languageName: node
+ linkType: hard
+
+"@types/keyv@npm:*, @types/keyv@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "@types/keyv@npm:3.1.1"
+ dependencies:
+ "@types/node": "*"
+ checksum: 3aaf557d5b82e733d5a17b7f55af5d6be953363c3a594f006d64265790fe87c301c6e1400c0b6b1cf72add50a0ceddc25afb8231ab8302a2e5b6ebfbfac30e5d
+ languageName: node
+ linkType: hard
+
+"@types/node-emoji@npm:^1.8.1":
+ version: 1.8.1
+ resolution: "@types/node-emoji@npm:1.8.1"
+ checksum: 66678006be9399a7c848167233e651f88a3391e5648995625d539db2d0c68da922c43ab329bd1262dd55e3674cb08ec0e8a9971358cabb0b5076398e64d1aa7e
+ languageName: node
+ linkType: hard
+
+"@types/node@npm:*":
+ version: 13.9.0
+ resolution: "@types/node@npm:13.9.0"
+ checksum: 54c040abe4765c9be0e50e0aa5f9fb7d7bff67e1ff98d2c2587df14239a965e6543be2c3321ed81a946d400b9ec47d4f8304648f6eb6c0617a523697e8cb2d20
+ languageName: node
+ linkType: hard
+
+"@types/node@npm:^14.14.2":
+ version: 14.14.2
+ resolution: "@types/node@npm:14.14.2"
+ checksum: e6ad786008ec81e010525beb09067f31cc55a3a02120a7e383e21309c1422a0d4a56059c1da46716509e36dbd4d2c607790f3fd715275a09b9f3ffb2cf3b243e
+ languageName: node
+ linkType: hard
+
+"@types/parse-json@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "@types/parse-json@npm:4.0.0"
+ checksum: 4a8f720afac47b474d3f2eece312340e72bc31bc9561cda37b596ce2ed218c0099765d302625bb67d659a8452a1f93d514f4863c11c7ebaf65430428687dc426
+ languageName: node
+ linkType: hard
+
+"@types/responselike@npm:*, @types/responselike@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "@types/responselike@npm:1.0.0"
+ dependencies:
+ "@types/node": "*"
+ checksum: e6e6613c800aeda63e2331e753e8d21df1a2c9aa7a4bc71ed792a848e4811fc96e609759089355314a2318c76eff1f161499cd242044838ab1e6f56e463ebb9c
+ languageName: node
+ linkType: hard
+
+"@types/spotify-api@npm:*":
+ version: 0.0.2
+ resolution: "@types/spotify-api@npm:0.0.2"
+ checksum: a57f26b004ce4b1e7ea434f6ba0e9558dfef82ad10832fb010e48e1ebf05c7083d5aab4d0e98aaa0b3b382f05ee535b3fe4d343e263b5344ae3705aa27930145
+ languageName: node
+ linkType: hard
+
+"@types/spotify-web-api-node@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "@types/spotify-web-api-node@npm:4.0.1"
+ dependencies:
+ "@types/spotify-api": "*"
+ checksum: 85cda4bab5cfad2a998fd308e824efc434242f1a3b20d31f3c96c235f31611a69b9994b071d656edbd649d564c47c73dd27f832ed1b9e98d7ffba8ee6aa8d5b8
+ languageName: node
+ linkType: hard
+
+"@types/validator@npm:^13.1.0":
+ version: 13.1.0
+ resolution: "@types/validator@npm:13.1.0"
+ checksum: 0a0d0f89d6e111ea7428319efeb983291d8e091d20ed75a90f4ef4a89a4f5b1434e66399f875c280ecfb389c71ecd6b12505cddc4855186d4d04c0f9499e1b65
+ languageName: node
+ linkType: hard
+
+"@types/ws@npm:^7.2.7":
+ version: 7.2.7
+ resolution: "@types/ws@npm:7.2.7"
+ dependencies:
+ "@types/node": "*"
+ checksum: 9e98599fe58e176359b2fb112734e6932cdaa919177a72dc3049fd334addd7d2ba9440224eb0eabedfa239171f7291ff87faaaa86ebd997becc0a1792d791f07
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/eslint-plugin@npm:^4.5.0":
+ version: 4.5.0
+ resolution: "@typescript-eslint/eslint-plugin@npm:4.5.0"
+ dependencies:
+ "@typescript-eslint/experimental-utils": 4.5.0
+ "@typescript-eslint/scope-manager": 4.5.0
+ debug: ^4.1.1
+ functional-red-black-tree: ^1.0.1
+ regexpp: ^3.0.0
+ semver: ^7.3.2
+ tsutils: ^3.17.1
+ peerDependencies:
+ "@typescript-eslint/parser": ^4.0.0
+ eslint: ^5.0.0 || ^6.0.0 || ^7.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 81d881700755181be27a6613441ee00a5a7a001efae60ea37d8d26b29ad79e8f9a7811fcc7ceebca979b220e179a8827adc2c07a0e465d358ec9199f76e207bb
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/experimental-utils@npm:4.5.0":
+ version: 4.5.0
+ resolution: "@typescript-eslint/experimental-utils@npm:4.5.0"
+ dependencies:
+ "@types/json-schema": ^7.0.3
+ "@typescript-eslint/scope-manager": 4.5.0
+ "@typescript-eslint/types": 4.5.0
+ "@typescript-eslint/typescript-estree": 4.5.0
+ eslint-scope: ^5.0.0
+ eslint-utils: ^2.0.0
+ peerDependencies:
+ eslint: "*"
+ checksum: e4cc88e0288ecae9eb9737877b5eaf2a149511a571ade3eb46dbebc70295b95f723e078b0b0d73f3f9efc8005221ed6155dc0fef057fd882c37c105857e7df0b
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/parser@npm:^4.5.0":
+ version: 4.5.0
+ resolution: "@typescript-eslint/parser@npm:4.5.0"
+ dependencies:
+ "@typescript-eslint/scope-manager": 4.5.0
+ "@typescript-eslint/types": 4.5.0
+ "@typescript-eslint/typescript-estree": 4.5.0
+ debug: ^4.1.1
+ peerDependencies:
+ eslint: ^5.0.0 || ^6.0.0 || ^7.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: f2bb84f34d1d83fb1f14271dcbc9163704d44dfc357c12fd6fd3306b3c1ac6b4012573eaee770ee929fcea4593b7a5cc32912e3818a457be827dcee354556667
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/scope-manager@npm:4.5.0":
+ version: 4.5.0
+ resolution: "@typescript-eslint/scope-manager@npm:4.5.0"
+ dependencies:
+ "@typescript-eslint/types": 4.5.0
+ "@typescript-eslint/visitor-keys": 4.5.0
+ checksum: 35a0f30bed5314522fe3630140884d9dcad5984a018783c210bd144d081ad0aa4bd34b76cff20bc131a9bcf06e585d60388ac5cb1f0dd81e628e3c4061148c9a
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/types@npm:4.5.0":
+ version: 4.5.0
+ resolution: "@typescript-eslint/types@npm:4.5.0"
+ checksum: f4501f11e5e29fcbda055105a2ec946f8bf8298f3ee1073411075e9d0f014fb6419c88b9d1ef882e0f7a205e140bd4d36f405b06ed881977dde207faad03a0a6
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/typescript-estree@npm:4.5.0":
+ version: 4.5.0
+ resolution: "@typescript-eslint/typescript-estree@npm:4.5.0"
+ dependencies:
+ "@typescript-eslint/types": 4.5.0
+ "@typescript-eslint/visitor-keys": 4.5.0
+ debug: ^4.1.1
+ globby: ^11.0.1
+ is-glob: ^4.0.1
+ lodash: ^4.17.15
+ semver: ^7.3.2
+ tsutils: ^3.17.1
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 4f146c83910fb1f99b0346f0eb8a53ca7b31818fac810f45fac238b060330acfe2364d239e3dcc88fa305a688e6b4d517c148e1ae84dfa9826e9f6d65687f7ae
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/visitor-keys@npm:4.5.0":
+ version: 4.5.0
+ resolution: "@typescript-eslint/visitor-keys@npm:4.5.0"
+ dependencies:
+ "@typescript-eslint/types": 4.5.0
+ eslint-visitor-keys: ^2.0.0
+ checksum: 7d7f342dac50423249fb71d89b25d2c0117384266e337b36a5d81c9056361967273d8d43a4d1e61cdadae3fe58f8081159048c5e254f11de4ab0343b172da9ec
+ languageName: node
+ linkType: hard
+
+"abbrev@npm:1":
+ version: 1.1.1
+ resolution: "abbrev@npm:1.1.1"
+ checksum: 9f9236a3cc7f56c167be3aa81c77fcab2e08dfb8047b7861b91440f20b299b9442255856bdbe9d408d7e96a0b64a36e1c27384251126962490b4eee841b533e0
+ languageName: node
+ linkType: hard
+
+"abort-controller@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "abort-controller@npm:3.0.0"
+ dependencies:
+ event-target-shim: ^5.0.0
+ checksum: cc53ad8df9a6de3f55d4f804fca5106908f855e47b572fb5ab3cdd723b76374686dcefa557a2f87d4396db77e31bc0e6ce9d48637388cef6d884c29ad2691448
+ languageName: node
+ linkType: hard
+
+"acorn-jsx@npm:^5.2.0":
+ version: 5.2.0
+ resolution: "acorn-jsx@npm:5.2.0"
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0
+ checksum: 1247cc4b32e7883c70823eae643ef07faefb02ef6084bb92d650e5564bb22d6e6392771036c1e15428dc01e6350a5336c6741e272c30ab6bf9ce578e4701f6c0
+ languageName: node
+ linkType: hard
+
+"acorn@npm:^7.4.0":
+ version: 7.4.0
+ resolution: "acorn@npm:7.4.0"
+ bin:
+ acorn: bin/acorn
+ checksum: a25b12d9e803df49593e983f05abd8084be883df23f78a3ceb49bfb9c453fdc43d51b3ce268b6acd7694c34d9cde1707acb1cdcbc5303bde47bee43ffc131491
+ languageName: node
+ linkType: hard
+
+"ajv@npm:^6.10.0, ajv@npm:^6.10.2, ajv@npm:^6.5.5":
+ version: 6.12.0
+ resolution: "ajv@npm:6.12.0"
+ dependencies:
+ fast-deep-equal: ^3.1.1
+ fast-json-stable-stringify: ^2.0.0
+ json-schema-traverse: ^0.4.1
+ uri-js: ^4.2.2
+ checksum: aed1e0ab1b906913e2b466b1a0372ee5e4fe2927802ff81bcce350f482b0546cdb49df6ab551adad191ac19766007cdaf6c2d8b70e992528b806d9a8275ce2bd
+ languageName: node
+ linkType: hard
+
+"ajv@npm:^6.12.4":
+ version: 6.12.6
+ resolution: "ajv@npm:6.12.6"
+ dependencies:
+ fast-deep-equal: ^3.1.1
+ fast-json-stable-stringify: ^2.0.0
+ json-schema-traverse: ^0.4.1
+ uri-js: ^4.2.2
+ checksum: 19a8f3b0a06001eb68e6268f4f9f04424b32baadd5df6ba8292cd473e22e5f4019ed9ab17c3e3510394178ed8bef9b42ad0bdb5c675d65f042421a774780ce1a
+ languageName: node
+ linkType: hard
+
+"ansi-align@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "ansi-align@npm:3.0.0"
+ dependencies:
+ string-width: ^3.0.0
+ checksum: e6bea1d61003857c5bbf3e81d806b53d32acb482f14dfe88233ba60656fd161cdb91d64b4feccb350adc511ac33fa60eb9ebac0afbcb0e22a8b17210a9f2147d
+ languageName: node
+ linkType: hard
+
+"ansi-colors@npm:^4.1.1":
+ version: 4.1.1
+ resolution: "ansi-colors@npm:4.1.1"
+ checksum: 50d8dfbce25602caea1b170ecf4c71c4c9c58d2d1e3186fb5712848c0610d05fe60b8bb6a9eaebd9b54f1db3baf6f603e04214cce597cc7799bc9f47fd9a797a
+ languageName: node
+ linkType: hard
+
+"ansi-regex@npm:^2.0.0":
+ version: 2.1.1
+ resolution: "ansi-regex@npm:2.1.1"
+ checksum: 93a53c923fd433f67cd3d5647dffa6790f37bbfb924cf73ad23e28a8e414bde142d1da260d9a2be52ac4aa382063196880b1d40cf8b547642c746ed538ebf6c4
+ languageName: node
+ linkType: hard
+
+"ansi-regex@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "ansi-regex@npm:3.0.0"
+ checksum: 2e3c40d42904366e4a1a7b906ea3ae7968179a50916dfa0fd3e59fd12333c5d95970a9a59067ac3406d97c78784d591f0b841a4efd365dafb261327ae1ea3478
+ languageName: node
+ linkType: hard
+
+"ansi-regex@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "ansi-regex@npm:4.1.0"
+ checksum: 53b6fe447cf92ee59739379de637af6f86b3b8a9537fbfe36a66f946f1d9d34afc3efe664ac31bcc7c3af042d43eabcfcfd3f790316d474bbc7b19a4b1d132dd
+ languageName: node
+ linkType: hard
+
+"ansi-regex@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "ansi-regex@npm:5.0.0"
+ checksum: cbd9b5c9dbbb4a949c2a6e93f1c6cc19f0683d8a4724d08d2158627be6d373f0f3ba1f4ada01dce7ee141f2ba2628fbbd29932c7d49926e3b630c7f329f3178b
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1":
+ version: 3.2.1
+ resolution: "ansi-styles@npm:3.2.1"
+ dependencies:
+ color-convert: ^1.9.0
+ checksum: 456e1c23d9277512a47718da75e7fbb0a5ee215ef893c2f76d6b3efe8fceabc861121b80b0362146f5f995d21a1633f05a19bbf6283ae66ac11dc3b9c0bed779
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^4.1.0":
+ version: 4.2.1
+ resolution: "ansi-styles@npm:4.2.1"
+ dependencies:
+ "@types/color-name": ^1.1.1
+ color-convert: ^2.0.1
+ checksum: c8c007d5dab7b4fea064c9ea318114e1f6fc714bb382d061ac09e66bc83c8f3ce12bb6354be01598722c14a5d710af280b7614d269354f80d2535946aefa82f4
+ languageName: node
+ linkType: hard
+
+"any-promise@npm:^1.3.0":
+ version: 1.3.0
+ resolution: "any-promise@npm:1.3.0"
+ checksum: e829425e4aef532fb9063c638de4693feaf285dae8ba84bcabd9c6d49446264650d1e16b73af8a25ae1e4480f9a4dc7cae364b4c4d4753b57dd1900cdfab8183
+ languageName: node
+ linkType: hard
+
+"anymatch@npm:~3.1.1":
+ version: 3.1.1
+ resolution: "anymatch@npm:3.1.1"
+ dependencies:
+ normalize-path: ^3.0.0
+ picomatch: ^2.0.4
+ checksum: cf61bbaf7f34d9f94dd966230b7a7f8f1f24e3e2185540741a2561118e108206d85101ee2fc9876cd756475dbe6573d84d91115c3abdbf53a64e26a5f1f06b67
+ languageName: node
+ linkType: hard
+
+"aproba@npm:^1.0.3":
+ version: 1.2.0
+ resolution: "aproba@npm:1.2.0"
+ checksum: d4bac3e640af1f35eea8d5ee2b96ce2682549e47289f071aa37ae56066e19d239e43dea170c207d0f71586d7634099089523dd5701f26d4ded7b31dd5848a24a
+ languageName: node
+ linkType: hard
+
+"are-we-there-yet@npm:~1.1.2":
+ version: 1.1.5
+ resolution: "are-we-there-yet@npm:1.1.5"
+ dependencies:
+ delegates: ^1.0.0
+ readable-stream: ^2.0.6
+ checksum: 2d6fdb0ddde9b8cb120b6851b42c75f6b6db78b540b579a00d144ad38cb9e1bdf1248e5454049fcf5b47ef61d1a6f2ea433a8e38984158afd441bc1e0db7a625
+ languageName: node
+ linkType: hard
+
+"arg@npm:^4.1.0":
+ version: 4.1.3
+ resolution: "arg@npm:4.1.3"
+ checksum: 81b3b40b1529c4fbf75b12f7c3e6fb2dcce9e78072063babc169de9b4f40777788f3d2b04380f659ef676a756e03ccfbfe78adf4477353bda906295fa69dab89
+ languageName: node
+ linkType: hard
+
+"argparse@npm:^1.0.7":
+ version: 1.0.10
+ resolution: "argparse@npm:1.0.10"
+ dependencies:
+ sprintf-js: ~1.0.2
+ checksum: 435adaef5f6671c3ef1478a22be6fd54bdb99fdbbce8f5561b9cbbb05068ccce87b7df3b9f3322ff52a6ebb9cab2b427cbedac47a07611690a9beaa5184093e2
+ languageName: node
+ linkType: hard
+
+"array-shuffle@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "array-shuffle@npm:1.0.1"
+ checksum: 125702796e366acd686a8a721f1d07c29e49276fc9d48958a99c13fb693c9501d86ffdd88567247529a101e623c0d7b4b53fdfc100d7c321368cd97e299b2575
+ languageName: node
+ linkType: hard
+
+"array-union@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "array-union@npm:2.1.0"
+ checksum: 93af542eb854bf62a742192d0061c82788a963a9a6594628f367388f2b9f1bfd9215910febbbdd55074841555d8b59bda6a13ecba4a8e136f58b675499eda292
+ languageName: node
+ linkType: hard
+
+"asn1@npm:~0.2.3":
+ version: 0.2.4
+ resolution: "asn1@npm:0.2.4"
+ dependencies:
+ safer-buffer: ~2.1.0
+ checksum: 5743ace942e2faa0b72f3b14bf1826509c5ca707ea150c10520f52b04f90aa715cee4370ec2e6279ce1ceb7d3c472ca33270124e90b495bea4c9b02f41b9d8ac
+ languageName: node
+ linkType: hard
+
+"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "assert-plus@npm:1.0.0"
+ checksum: 1bda24f67343ccb75a7eee31179c92cf9f79bd6f6bc24101b0ce1495ef979376dd9b0f9b9064812bba564cdade5fbf851ed76b4a44b5e141d49cdaee6ffed6b2
+ languageName: node
+ linkType: hard
+
+"astral-regex@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "astral-regex@npm:1.0.0"
+ checksum: 08e37f599604eb3894af4ec5f9845caec7a45d10c1b57b04c4fc21cc669091803f8386efc52957ec3c7ae8c3af60b933018926aab156e5696a7aab393d6e0874
+ languageName: node
+ linkType: hard
+
+"async@npm:>=0.2.9":
+ version: 3.2.0
+ resolution: "async@npm:3.2.0"
+ checksum: 5c7913c08496877a9896dc6670d3a6c64f02d350e74b9e9191194959c473414a0732539ebdfec0fd2f34c20f439714773a30c20e0e68eb27bd8ee5ec9d8ff5ba
+ languageName: node
+ linkType: hard
+
+"asynckit@npm:^0.4.0":
+ version: 0.4.0
+ resolution: "asynckit@npm:0.4.0"
+ checksum: a024000b9ddd938e2f27b3cb8188f96a5e1fff58185e98b84862fc4e01de279a547874a800340c2b106bb9de9b0fc61c6c683bc6892abf65e6be29a96addafd3
+ languageName: node
+ linkType: hard
+
+"aws-sign2@npm:~0.7.0":
+ version: 0.7.0
+ resolution: "aws-sign2@npm:0.7.0"
+ checksum: 7162b9b8fbd4cf451bd889b0ed27fc895f88e6a6cb5c5609de49759ea1a6e31646f86ca8e18d90bea0455c4caa466fc9692c1098a1784d2372a358cb68c1eea6
+ languageName: node
+ linkType: hard
+
+"aws4@npm:^1.8.0":
+ version: 1.9.1
+ resolution: "aws4@npm:1.9.1"
+ checksum: d59822631844f9da1caf966cfab90ffafa22cc6c50835f9f5ebff83acdbcffc24eca44fa50d4aa191a6cee81747df38b9880547cc1df8a1380c80dd507b8e6ce
+ languageName: node
+ linkType: hard
+
+"axios@npm:^0.19.0":
+ version: 0.19.2
+ resolution: "axios@npm:0.19.2"
+ dependencies:
+ follow-redirects: 1.5.10
+ checksum: bad346deea24050f9953ce09bb8015f85a99a7b8f016806adccfab0b8981827d1fbee9c77c0ef7c70cc48392c1af6bbc65e07c3e88221d17282d2d5fd0a191f6
+ languageName: node
+ linkType: hard
+
+"balanced-match@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "balanced-match@npm:1.0.0"
+ checksum: f515a605fe1b59f476f7477c5e1d53ad55b4f42982fca1d57b6701906f4ad1f1ac90fd6587d92cc1af2edb43eecf979214dd847ee410a6de9db4ebf0dd128d62
+ languageName: node
+ linkType: hard
+
+"bcrypt-pbkdf@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "bcrypt-pbkdf@npm:1.0.2"
+ dependencies:
+ tweetnacl: ^0.14.3
+ checksum: 3f57eb99bbc02352f68ff31e446997f4d21cc9a5e5286449dc1fe0116ec5dac5a4aa538967d45714fa9320312d2be8d16126f2d357da1dd40a3d546b96e097ed
+ languageName: node
+ linkType: hard
+
+"binary-extensions@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "binary-extensions@npm:2.0.0"
+ checksum: 76cc6a33dc69bc989c938d46b5333aaa28ad9d57bc7aa3b1ffcb5def448702328243298f331e91b62059545320db754c61158cece018db6998876125d2b3b7e5
+ languageName: node
+ linkType: hard
+
+"block-stream@npm:*":
+ version: 0.0.9
+ resolution: "block-stream@npm:0.0.9"
+ dependencies:
+ inherits: ~2.0.0
+ checksum: 8018fa57aebcb00899e6d6e035d7fdab518d217156396e7442aac718c890ede0ce3e5258659f060cf3a558b40d771e809f4f4b706520ca13de3be5d8b6ae10e7
+ languageName: node
+ linkType: hard
+
+"bluebird@npm:^3.5.0":
+ version: 3.7.2
+ resolution: "bluebird@npm:3.7.2"
+ checksum: 4f2288662f3d4eadbb82d4daa4a7d7976a28fa3c7eb4102c9b4033b03e5be4574ba123ac52a7c103cde4cb7b2d2afc1dbe41817ca15a29ff21ecd258d0286047
+ languageName: node
+ linkType: hard
+
+"boxen@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "boxen@npm:4.2.0"
+ dependencies:
+ ansi-align: ^3.0.0
+ camelcase: ^5.3.1
+ chalk: ^3.0.0
+ cli-boxes: ^2.2.0
+ string-width: ^4.1.0
+ term-size: ^2.1.0
+ type-fest: ^0.8.1
+ widest-line: ^3.1.0
+ checksum: 667b291d227a86134aaacd6f2f997828607a8e2ead0da7b2568372728382765634df46e211f73d3b11a43784db7ec53da627a57213adbd42ce10ad39609ee4e3
+ languageName: node
+ linkType: hard
+
+"brace-expansion@npm:^1.1.7":
+ version: 1.1.11
+ resolution: "brace-expansion@npm:1.1.11"
+ dependencies:
+ balanced-match: ^1.0.0
+ concat-map: 0.0.1
+ checksum: 4c878e25e4858baf801945dfd63eb68feab2e502cf1122f25f3915c0e3bf397af3a93ff6bef0798db41c0d81ef28c08e55daac38058710f749a3b96eee6b8f40
+ languageName: node
+ linkType: hard
+
+"braces@npm:^3.0.1, braces@npm:~3.0.2":
+ version: 3.0.2
+ resolution: "braces@npm:3.0.2"
+ dependencies:
+ fill-range: ^7.0.1
+ checksum: f3493181c3e91a1333d3c9afc9b3263a3f62f4ced0b033c372efc1373b48a7699557f4e04026b232a8556e043ca5360a9d3008c33852350138d4b0ea57558b8d
+ languageName: node
+ linkType: hard
+
+"buffer-from@npm:^1.0.0":
+ version: 1.1.1
+ resolution: "buffer-from@npm:1.1.1"
+ checksum: 540ceb79c4f5bfcadaabbc18324fa84c50dc52905084be7c03596a339cf5a88513bee6831ce9b36ddd046fab09257a7c80686e129d0559a0cfd141da196ad956
+ languageName: node
+ linkType: hard
+
+"cacheable-lookup@npm:^5.0.3":
+ version: 5.0.3
+ resolution: "cacheable-lookup@npm:5.0.3"
+ checksum: a51e3ddb824865b87895a915fc41be6e2097b62932e5441c357711bb87ec23b0a738a7b7a5cefd9043dacd4ed31ca56b62528ec60ba020e360f07175b6ca5bfe
+ languageName: node
+ linkType: hard
+
+"cacheable-request@npm:^6.0.0":
+ version: 6.1.0
+ resolution: "cacheable-request@npm:6.1.0"
+ dependencies:
+ clone-response: ^1.0.2
+ get-stream: ^5.1.0
+ http-cache-semantics: ^4.0.0
+ keyv: ^3.0.0
+ lowercase-keys: ^2.0.0
+ normalize-url: ^4.1.0
+ responselike: ^1.0.2
+ checksum: 8b43f661371084ee67309c6bac93313360f55d5dfb1b622d32750c95a5f9c470a83d5798a042a67badcc0674ce0ca586a72f41e450275e78d87da1b705b91efb
+ languageName: node
+ linkType: hard
+
+"cacheable-request@npm:^7.0.1":
+ version: 7.0.1
+ resolution: "cacheable-request@npm:7.0.1"
+ dependencies:
+ clone-response: ^1.0.2
+ get-stream: ^5.1.0
+ http-cache-semantics: ^4.0.0
+ keyv: ^4.0.0
+ lowercase-keys: ^2.0.0
+ normalize-url: ^4.1.0
+ responselike: ^2.0.0
+ checksum: fe0b6f3b8a145c98fecc00f0f1b13a9886cad9bf4537533c5568cba19db81c8ee09ace9c61967d5a4e72615e174d771b6b8080c3816f0b74fc6f9c69060c3ff0
+ languageName: node
+ linkType: hard
+
+"callsites@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "callsites@npm:3.1.0"
+ checksum: f726bf10d752901174cae348e69c2e58206404d5eebcea485b3fedbcf7fcffdb397e10919fdf6ee2c8adb4be52a64eea2365d52583611939bfecd109260451c9
+ languageName: node
+ linkType: hard
+
+"camelcase@npm:^5.3.1":
+ version: 5.3.1
+ resolution: "camelcase@npm:5.3.1"
+ checksum: 6a3350c4ea8ab6e5109e0b443cfaf43dc40abfad7b2d79dcafbbafbe9b6b4059b4365b17ad822e24cf08e6627c1ffb65a9651d05cef9fcc6f64b6a0c2f327feb
+ languageName: node
+ linkType: hard
+
+"caseless@npm:~0.12.0":
+ version: 0.12.0
+ resolution: "caseless@npm:0.12.0"
+ checksum: 147f48bff9bebf029d7050e2335da3f8d295f26d157edf08d8c3282c804dae04a462c4cd6efa8179755686aa3aeaca5c28f3e7f3559698bc0484c65e46c36c5b
+ languageName: node
+ linkType: hard
+
+"chalk@npm:^2.0.0":
+ version: 2.4.2
+ resolution: "chalk@npm:2.4.2"
+ dependencies:
+ ansi-styles: ^3.2.1
+ escape-string-regexp: ^1.0.5
+ supports-color: ^5.3.0
+ checksum: 22c7b7b5bc761c882bb6516454a1a671923f1c53ff972860065aa0b28a195f230163c1d46ee88bcc7a03e5539177d896457d8bc727de7f244c6e87032743038e
+ languageName: node
+ linkType: hard
+
+"chalk@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "chalk@npm:3.0.0"
+ dependencies:
+ ansi-styles: ^4.1.0
+ supports-color: ^7.1.0
+ checksum: 4018b0c812880da595d0d7b8159939527b72f58d3370e2fdc1a24d9abd460bab851695d7eca014082f110d5702d1221b05493fec430ccce375de907d50cc48c1
+ languageName: node
+ linkType: hard
+
+"chalk@npm:^4.0.0":
+ version: 4.1.0
+ resolution: "chalk@npm:4.1.0"
+ dependencies:
+ ansi-styles: ^4.1.0
+ supports-color: ^7.1.0
+ checksum: f860285b419f9e925c2db0f45ffa88aa8794c14b80cc5d01ff30930bcfc384996606362706f0829cf557f6d36152a5fb2d227ad63c4bc90e2ec9e9dbed4a3c07
+ languageName: node
+ linkType: hard
+
+"chokidar@npm:^3.2.2":
+ version: 3.3.1
+ resolution: "chokidar@npm:3.3.1"
+ dependencies:
+ anymatch: ~3.1.1
+ braces: ~3.0.2
+ fsevents: ~2.1.2
+ glob-parent: ~5.1.0
+ is-binary-path: ~2.1.0
+ is-glob: ~4.0.1
+ normalize-path: ~3.0.0
+ readdirp: ~3.3.0
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ checksum: b4925ff399ad141b651a0fc5b76395c56dde983ff98acbbc04fe20f10daea568bddde67b47e7e5cd5fafec3fd0bf3b53dd09a5447f9084672b8edc00b0ff003e
+ languageName: node
+ linkType: hard
+
+"chownr@npm:^1.1.1":
+ version: 1.1.4
+ resolution: "chownr@npm:1.1.4"
+ checksum: 4a7f1a0b2637450fd15ddb085b10649487ddd1d59a8d9335b1aa5b1e9ad55840a591ab7d7f9b568001cb6777d017334477ab2e32e048788b13a069d011cd5781
+ languageName: node
+ linkType: hard
+
+"chownr@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "chownr@npm:2.0.0"
+ checksum: b06ba0bf4218bc2214cdb94a7d0200db5c6425f9425795c064dcf5a3801aac8ae87f764727890cd1f48c026559159e7e0e15ed3d1940ce453dec54898d013379
+ languageName: node
+ linkType: hard
+
+"ci-info@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "ci-info@npm:2.0.0"
+ checksum: 553fe83c085fce5e19e20f85b993f24a463e6f805803837a8868607bb68b1300567868694a5dff1beca6c54926a4c0be1cc9ef0c35f810653d590bf64183f6a0
+ languageName: node
+ linkType: hard
+
+"cli-boxes@npm:^2.2.0":
+ version: 2.2.0
+ resolution: "cli-boxes@npm:2.2.0"
+ checksum: db0db07e6984456140f3880180582b13c71abf31b8e74842f298d80a21a2655bdb0025645f92b3fbc384daa6b6b3b1b4ea67ce9219984a8aa6ae06fca2d6296a
+ languageName: node
+ linkType: hard
+
+"clone-response@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "clone-response@npm:1.0.2"
+ dependencies:
+ mimic-response: ^1.0.0
+ checksum: 71832f9219f2682b0915bdbc0dd187ba8e63d16b0af5342b44f97b34afe9400a1f528a253dd2f70a8dd8b23bfa4c4e106928fcc520fa5899d769af95e4cce53c
+ languageName: node
+ linkType: hard
+
+"cls-bluebird@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "cls-bluebird@npm:2.1.0"
+ dependencies:
+ is-bluebird: ^1.0.2
+ shimmer: ^1.1.0
+ checksum: f3b31004a9ff9cc86eb86bd8e9287bc969670e2b60508c95e98e1bac969423c480318b224662f78e6fc0ffeaf1e1e36d1156acfeb002a67e417dd4263c270fc6
+ languageName: node
+ linkType: hard
+
+"code-point-at@npm:^1.0.0":
+ version: 1.1.0
+ resolution: "code-point-at@npm:1.1.0"
+ checksum: 7d9837296e0f1c00239c88542f5a3e0bad11e45d3d0e8d9d097901fe54722dd5d2c006969077a287be8648a202c43f74e096f17552cbd897568308fba7b87ac0
+ languageName: node
+ linkType: hard
+
+"color-convert@npm:^1.9.0":
+ version: 1.9.3
+ resolution: "color-convert@npm:1.9.3"
+ dependencies:
+ color-name: 1.1.3
+ checksum: 5f244daa3d1fe1f216d48878c550465067d15268688308554e613b7640a068f96588096d51f0b98b68f15d6ff6bb8ad24e172582ac8c0ad43fa4d3da60fd1b79
+ languageName: node
+ linkType: hard
+
+"color-convert@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "color-convert@npm:2.0.1"
+ dependencies:
+ color-name: ~1.1.4
+ checksum: 3d5d8a011a43012ca11b6d739049ecf2055d95582fd16ec44bf1e685eb0baa5cc652002be8a1dc92b429c8d87418287d0528266a7595cb1ad8a7f4f1d3049df2
+ languageName: node
+ linkType: hard
+
+"color-name@npm:1.1.3":
+ version: 1.1.3
+ resolution: "color-name@npm:1.1.3"
+ checksum: d8b91bb90aefc05b6ff568cf8889566dcc6269824df6f3c9b8ca842b18d7f4d089c07dc166808d33f22092d4a79167aa56a96a5ff0d21efab548bf44614db43b
+ languageName: node
+ linkType: hard
+
+"color-name@npm:~1.1.4":
+ version: 1.1.4
+ resolution: "color-name@npm:1.1.4"
+ checksum: 3e1c9a4dee12eada307436f61614dd11fe300469db2b83f80c8b7a7cd8a1015f0f18dd13403f018927b249003777ff60baba4a03c65f12e6bddc0dfd9642021f
+ languageName: node
+ linkType: hard
+
+"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6":
+ version: 1.0.8
+ resolution: "combined-stream@npm:1.0.8"
+ dependencies:
+ delayed-stream: ~1.0.0
+ checksum: 5791ce7944530f0db74a97e77ea28b6fdbf89afcf038e41d6b4195019c4c803cd19ed2905a54959e5b3830d50bd5d6f93c681c6d3aaea8614ad43b48e62e9d65
+ languageName: node
+ linkType: hard
+
+"compare-versions@npm:^3.6.0":
+ version: 3.6.0
+ resolution: "compare-versions@npm:3.6.0"
+ checksum: 09525264502bda1f6667ad2429eaf5520b543d997e79e7a94b66a5896df8921cdc3a97140dfff75af6c9ba1859c872de1921c3cf8a6c48ed807bbf9f582cf093
+ languageName: node
+ linkType: hard
+
+"component-emitter@npm:^1.3.0":
+ version: 1.3.0
+ resolution: "component-emitter@npm:1.3.0"
+ checksum: fc4edbf1014f0aed88dcec33ca02d2938734e428423f640d8a3f94975615b8e8c506c19e29b93949637c5a281353e75fa79e299e0d57732f42a9fe346cb2cad6
+ languageName: node
+ linkType: hard
+
+"concat-map@npm:0.0.1":
+ version: 0.0.1
+ resolution: "concat-map@npm:0.0.1"
+ checksum: 554e28d9ee5aa6e061795473ee092cb3d3a2cbdb76c35416e0bb6e03f136d7d07676da387b2ed0ec4106cedbb6534080d9abc48ecc4a92b76406cf2d0c3c0c4b
+ languageName: node
+ linkType: hard
+
+"configstore@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "configstore@npm:5.0.1"
+ dependencies:
+ dot-prop: ^5.2.0
+ graceful-fs: ^4.1.2
+ make-dir: ^3.0.0
+ unique-string: ^2.0.0
+ write-file-atomic: ^3.0.0
+ xdg-basedir: ^4.0.0
+ checksum: 81dd877bf784af29e7bbeb14e183fef21df07d9eceb3e94601a0689accb168b55f4661c629d32f079f88ea1bff3396434beb0d022414b601e72cf89adf4167e1
+ languageName: node
+ linkType: hard
+
+"confusing-browser-globals@npm:1.0.9":
+ version: 1.0.9
+ resolution: "confusing-browser-globals@npm:1.0.9"
+ checksum: 319e6d15384745d3ff4a5ca0357b687e0d36a1ab29a03084e192ea12802532de0fa7319169b09e971aba6a291f8a5ca333105e0fb239ed3f6c891f13eea2bea6
+ languageName: node
+ linkType: hard
+
+"console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0":
+ version: 1.1.0
+ resolution: "console-control-strings@npm:1.1.0"
+ checksum: 58a404d951bf270494fb91e136cf064652c1208ccedac23e4da24e6a3a3933998f302cadc45cbf6582a007a4aa44dab944e84056b24e3b1964e9a28aeedf76c9
+ languageName: node
+ linkType: hard
+
+"cookiejar@npm:^2.1.2":
+ version: 2.1.2
+ resolution: "cookiejar@npm:2.1.2"
+ checksum: 4c733c15c190798bc1fb724f3044959cabc1565dee7dfc00f99219c7a4189b21cc243ccab52e0708994923f684189a4afa6b01b6b157f8c99273f1001602ac6f
+ languageName: node
+ linkType: hard
+
+"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0":
+ version: 1.0.2
+ resolution: "core-util-is@npm:1.0.2"
+ checksum: 089015ee3c462dfceba70faa1df83b42a7bb35db26dae6af283247b06fe3216c65fccd9f00eebcaf98300dc31e981d56aae9f90b624f8f6ff1153e235ff88b65
+ languageName: node
+ linkType: hard
+
+"cosmiconfig@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "cosmiconfig@npm:7.0.0"
+ dependencies:
+ "@types/parse-json": ^4.0.0
+ import-fresh: ^3.2.1
+ parse-json: ^5.0.0
+ path-type: ^4.0.0
+ yaml: ^1.10.0
+ checksum: 151fcb91773c0ae826fc801eab86f8f818605dbf63c8e5515adf0ff0fec5ede8e614f387f93c088d65527a2ea9021f0cd8c6b6e5c7fef2b77480b5e2c33700dc
+ languageName: node
+ linkType: hard
+
+"cross-spawn@npm:^7.0.2":
+ version: 7.0.3
+ resolution: "cross-spawn@npm:7.0.3"
+ dependencies:
+ path-key: ^3.1.0
+ shebang-command: ^2.0.0
+ which: ^2.0.1
+ checksum: 51f10036f5f1de781be98f4738d58b50c6d44f4f471069b8ab075b21605893ba1548654880f7310a29a732d6fc7cd481da6026169b9f0831cab0148a62fb397a
+ languageName: node
+ linkType: hard
+
+"crypto-random-string@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "crypto-random-string@npm:2.0.0"
+ checksum: 7bc19f6cafe3194a434198c9414941cc36d874e1f85b6fcba573b5623f77a440c0a10a94c0d0da26d7d23d85b6fe07354e589ef1a0fe2d7b32e0bab9e70ca4c1
+ languageName: node
+ linkType: hard
+
+"dashdash@npm:^1.12.0":
+ version: 1.14.1
+ resolution: "dashdash@npm:1.14.1"
+ dependencies:
+ assert-plus: ^1.0.0
+ checksum: 5959409ee42dc4bdbf3fa384b801ece580ca336658bb0342ffab0099b3fc6bf9b3e239e1b82dcc4fcaeee315353e08f2eae47b0928a6a579391598c44958afa1
+ languageName: node
+ linkType: hard
+
+"debug@npm:=3.1.0":
+ version: 3.1.0
+ resolution: "debug@npm:3.1.0"
+ dependencies:
+ ms: 2.0.0
+ checksum: 1295acd5e0531761255661d325cd0a80ac8c5f6de8942a53bb23c2197ccb97526972de662ed0e5d9393be83f3428a298a6e7185ecb02f0da6282019cd2ffb4a8
+ languageName: node
+ linkType: hard
+
+"debug@npm:^2.2.0":
+ version: 2.6.9
+ resolution: "debug@npm:2.6.9"
+ dependencies:
+ ms: 2.0.0
+ checksum: 559f44f98cf25e2ee489022aec173afbff746564cb108c4493becb95bc3c017a67bdaa25a0ff64801fd32c35051d00af0e56cc7f762ae2c3bc089496e5a1c31b
+ languageName: node
+ linkType: hard
+
+"debug@npm:^3.2.6":
+ version: 3.2.6
+ resolution: "debug@npm:3.2.6"
+ dependencies:
+ ms: ^2.1.1
+ checksum: 619feb53b115f1a8341365b8aa58a8757e6632738587d4b61b25627b74891211cb20e31fdbea37fec766e575a60cf456f7a02d6f9eddfdcef80caa6a4b0fc042
+ languageName: node
+ linkType: hard
+
+"debug@npm:^4.0.1, debug@npm:^4.1.1":
+ version: 4.1.1
+ resolution: "debug@npm:4.1.1"
+ dependencies:
+ ms: ^2.1.1
+ checksum: 3601a6ce96e4698ed3edf0ee6e67ef0317adfcdae2f66a43b23d1b14e8888b422337429b16dbbcba6801e7bfa6cbb8de3128fbacfb8ae1cd9bd7615ea6baf970
+ languageName: node
+ linkType: hard
+
+"debug@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "debug@npm:4.2.0"
+ dependencies:
+ ms: 2.1.2
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ checksum: dcfb8ede26b4d899628a75806923ab9ad29daae7db0f6f1ca6227b660693ae0ca085c7f87261793abe0832ad56aff2afc33f907c6b5dc96a41fc208771feb465
+ languageName: node
+ linkType: hard
+
+"decompress-response@npm:^3.3.0":
+ version: 3.3.0
+ resolution: "decompress-response@npm:3.3.0"
+ dependencies:
+ mimic-response: ^1.0.0
+ checksum: 93b0dcc8f0c32f1d5eb656e7db54fa5554227b8bfefd242c9d28f7b9c3908052c2ab8297b4af6256759da496679ee3a806d559f22d29b7e71a25879a2c25b99b
+ languageName: node
+ linkType: hard
+
+"decompress-response@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "decompress-response@npm:6.0.0"
+ dependencies:
+ mimic-response: ^3.1.0
+ checksum: bb8b8c42be7767994764d27f91a3949e3dc9008da82f1aaeab1de40f1ebb50d7abf17b31b2e4000f8d267a1e75f76052efd58d4419124c04bf430e184c164fad
+ languageName: node
+ linkType: hard
+
+"deep-extend@npm:^0.6.0":
+ version: 0.6.0
+ resolution: "deep-extend@npm:0.6.0"
+ checksum: 856d7f52db152c19fc5a70439ea938461cfb9338a632496fe370050dc73d3291cd76fc6713f604a5c126612dee9cac0f6da1d4b88ba4b0caa4f7214345879b89
+ languageName: node
+ linkType: hard
+
+"deep-is@npm:^0.1.3":
+ version: 0.1.3
+ resolution: "deep-is@npm:0.1.3"
+ checksum: 3de58f86af4dec86c8be531a5abaf2e6d8ea98fa2f1d81a3a778d0d8df920ee282043a6ef05bfb4eb699c8551df9ac1b808d4dc71d54cc40ab1efa5ce8792943
+ languageName: node
+ linkType: hard
+
+"defer-to-connect@npm:^1.0.1":
+ version: 1.1.3
+ resolution: "defer-to-connect@npm:1.1.3"
+ checksum: d8632cafae79a077b894c17f92d668784ad83825150d31c107df4fafc39f351ecd5112e0c75e0c2886c29ea359faf299bbb73246af71607b1e5b0d1ecc496ebf
+ languageName: node
+ linkType: hard
+
+"defer-to-connect@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "defer-to-connect@npm:2.0.0"
+ checksum: 0453938bfce1c866263d0a4732ade8d69b1a39e27e073d3fbae9e0cc1c6a15a422c2fe5f90320465312ace6a01dbed4a2836755ac2a9519555e82d65141eabdc
+ languageName: node
+ linkType: hard
+
+"delay@npm:^4.4.0":
+ version: 4.4.0
+ resolution: "delay@npm:4.4.0"
+ checksum: cb54b19a68b8f299c601e59819b54f6c9927421556d2eed75ddc1fcffccfe030259fb4b573da41d59d3beca4591c15f7018bfd89c5845cf38dd4897c70730a07
+ languageName: node
+ linkType: hard
+
+"delayed-stream@npm:~1.0.0":
+ version: 1.0.0
+ resolution: "delayed-stream@npm:1.0.0"
+ checksum: d9dfb0a7c79fd308fada9db2cf29d1ff22047ceb50dd78f7e3c173567909b438f418259cb76a6d9c9f513e88ef41d3a14154f618741ec8368c3efeff616d0c9f
+ languageName: node
+ linkType: hard
+
+"delegates@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "delegates@npm:1.0.0"
+ checksum: 7459e34d29cadd9bfd340728bfcc70ea96da5d940fb197298b523f805822680e583cba3ec34d36a18004325f1ec9de55e202a92b414d01db18cd87bb8a2ae5bd
+ languageName: node
+ linkType: hard
+
+"detect-libc@npm:^1.0.2, detect-libc@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "detect-libc@npm:1.0.3"
+ bin:
+ detect-libc: ./bin/detect-libc.js
+ checksum: 6cec442139459ec2e8517076974b0eba42079885938683eca013c2e0b5db02ef048870725ce68e7ac8e4cf17e482f67d7322f45bbc5f203b7332817bc7833b39
+ languageName: node
+ linkType: hard
+
+"diff@npm:^4.0.1":
+ version: 4.0.2
+ resolution: "diff@npm:4.0.2"
+ checksum: 81b5cd7ddde6f0ba2a532d434cfdca365aedd6cc62bb133e851e66e071d40382a30924a07c1034bd3d5a2e332146f64514b73c06fe2ebc0490a67f0c98da79fb
+ languageName: node
+ linkType: hard
+
+"dir-glob@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "dir-glob@npm:3.0.1"
+ dependencies:
+ path-type: ^4.0.0
+ checksum: 687fa3bd604f264042f325d9460e1298447fb32782f30cddc47cb302b742684d13e8ffce4c6f455e0ae92099d71e29f72387379c10b8fd3f6f1bf8992d7c0997
+ languageName: node
+ linkType: hard
+
+"discord.js@npm:^12.4.1":
+ version: 12.4.1
+ resolution: "discord.js@npm:12.4.1"
+ dependencies:
+ "@discordjs/collection": ^0.1.6
+ "@discordjs/form-data": ^3.0.1
+ abort-controller: ^3.0.0
+ node-fetch: ^2.6.1
+ prism-media: ^1.2.2
+ setimmediate: ^1.0.5
+ tweetnacl: ^1.0.3
+ ws: ^7.3.1
+ checksum: bf46264835378c80ae9c83a5c86218a75ad810b8566a5527965edb8dac76861d3a716cf47e1a28609cb8ace4a625072826f598ecd2c471493e758e5e8ac7666f
+ languageName: node
+ linkType: hard
+
+"doctrine@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "doctrine@npm:3.0.0"
+ dependencies:
+ esutils: ^2.0.2
+ checksum: 2eae469bd2889ceee9892083a67340b3622568fe5290edce620e5d5ddab23d644b2a780e9a7c68ad9c8a62716a70c5e484402ac93a398fa78b54b7505592aa7f
+ languageName: node
+ linkType: hard
+
+"dot-prop@npm:^5.2.0":
+ version: 5.2.0
+ resolution: "dot-prop@npm:5.2.0"
+ dependencies:
+ is-obj: ^2.0.0
+ checksum: d2f62e0b5ec467edb8e278ab6070955f0a4aec973ec1fa837ff6152f3cdd96cd2a04c7e2626cb3eac4f639b8f6786b5b87d3c01df7ba729693c636cb78b7ae93
+ languageName: node
+ linkType: hard
+
+"dotenv@npm:^8.2.0":
+ version: 8.2.0
+ resolution: "dotenv@npm:8.2.0"
+ checksum: 16cb89cbd7b98b053899b8aba8c5044c8fb61a2db8a81fe70360b75035fce5fed53bd7a34d772be717d0880c0321122a4c09423f518025e1b52d96791521b1a7
+ languageName: node
+ linkType: hard
+
+"dottie@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "dottie@npm:2.0.2"
+ checksum: 91e855305849b75934d78c5b061f6551f1e866e592ee3a30f97669bdc136061432c4d30205b0bb86909f5495d2c88cecc69d28f0d73b84a27e0cf66caeb749a7
+ languageName: node
+ linkType: hard
+
+"duplexer3@npm:^0.1.4":
+ version: 0.1.4
+ resolution: "duplexer3@npm:0.1.4"
+ checksum: 2a4ae463aafdb6e3541e556785d971e83e8d2b534b4cfcb114b01ebc6af6dde5a07454835c7207c8eeb5472927db1bac1b507044413164e991906c5da807938b
+ languageName: node
+ linkType: hard
+
+"ecc-jsbn@npm:~0.1.1":
+ version: 0.1.2
+ resolution: "ecc-jsbn@npm:0.1.2"
+ dependencies:
+ jsbn: ~0.1.0
+ safer-buffer: ^2.1.0
+ checksum: 5b4dd05f24b2b94c1bb882488dba2b878bb5b83182669aa71fbdf53c6941618180cb226c4eb9a3e2fa51ad11f87b5edb0a7d7289cdef468ba2e6024542f73f07
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^7.0.1":
+ version: 7.0.3
+ resolution: "emoji-regex@npm:7.0.3"
+ checksum: e3a504cf5242061d9b3c78a88ce787d6beee37a5d21287c6ccdddf1fe665d5ef3eddfdda663d0baf683df8e7d354210eeb1458a7d9afdf0d7a28d48cbb9975e1
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "emoji-regex@npm:8.0.0"
+ checksum: 87cf3f89efb8ba028075b3dc1713e2c5609af94cbc129b1f00c3113d01dbe4bf85c9d971e75a98bf8a8508131727682ce929e4bd70e9022af4fd47d75e9507de
+ languageName: node
+ linkType: hard
+
+"end-of-stream@npm:^1.1.0":
+ version: 1.4.4
+ resolution: "end-of-stream@npm:1.4.4"
+ dependencies:
+ once: ^1.4.0
+ checksum: 7da60e458bdb5e16c006a45e85ef3bc1e3791db5ba275b0913258ccddc8899acb9252c4ddbcce87bd1b46e2a3f97315aafb9f0c0330e8aac44defb504a9d3ccd
+ languageName: node
+ linkType: hard
+
+"enquirer@npm:^2.3.5":
+ version: 2.3.6
+ resolution: "enquirer@npm:2.3.6"
+ dependencies:
+ ansi-colors: ^4.1.1
+ checksum: e249bb97bf7d5a91d51081547ea5aa1d849604e5de74feff2c48f7174fc6c9dfcfeea42ef5536e9a3be58964a248c322d6897269ae7bba3e1b6d24f152d9d685
+ languageName: node
+ linkType: hard
+
+"env-paths@npm:^2.2.0":
+ version: 2.2.0
+ resolution: "env-paths@npm:2.2.0"
+ checksum: 09de4fd1c068d5965aa8aede852a764b7fb6fa8f1299ba7789bc29c22840ab1985e0c9c55bc6bf40b4276834b8adfa1baf82ec9bc58445d9e75800dc32d78a4f
+ languageName: node
+ linkType: hard
+
+"error-ex@npm:^1.3.1":
+ version: 1.3.2
+ resolution: "error-ex@npm:1.3.2"
+ dependencies:
+ is-arrayish: ^0.2.1
+ checksum: 6c6c9187429ae867d145bc64c682c7c137b1f8373a406dc3b605c0d92f15b85bfcea02b461dc55ae11b10d013377e1eaf3d469d2861b2f94703c743620a9c08c
+ languageName: node
+ linkType: hard
+
+"escape-goat@npm:^2.0.0":
+ version: 2.1.1
+ resolution: "escape-goat@npm:2.1.1"
+ checksum: 8270a80ca5449893b004ae260f41aece7db91198dcb007f3f26e68c3adde0f9a4c63df9aaa23d9a3a79b670a304a30986027770b2afd5b09be18a8ffcc8ab88d
+ languageName: node
+ linkType: hard
+
+"escape-string-regexp@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "escape-string-regexp@npm:1.0.5"
+ checksum: f9484b8b4c8827d816e0fd905c25ed4b561376a9c220e1430403ea84619bf680c76a883a48cff8b8e091daf55d6a497e37479f9787b9f15f3c421b6054289744
+ languageName: node
+ linkType: hard
+
+"eslint-config-xo-typescript@npm:^0.35.0":
+ version: 0.35.0
+ resolution: "eslint-config-xo-typescript@npm:0.35.0"
+ peerDependencies:
+ "@typescript-eslint/eslint-plugin": ">=4.4.0"
+ eslint: ">=7.8.0"
+ typescript: ">=3.6.0"
+ checksum: 558f27204ebea6ca9094db4787aa6315db361f4615108c2e39a39fb87860a88d8080916fef849f17a24dc945a4fa73aa87b0c65666f106b754a24bb4327b234c
+ languageName: node
+ linkType: hard
+
+"eslint-config-xo@npm:^0.33.1":
+ version: 0.33.1
+ resolution: "eslint-config-xo@npm:0.33.1"
+ dependencies:
+ confusing-browser-globals: 1.0.9
+ peerDependencies:
+ eslint: ">=7.11.0"
+ checksum: fe417ecfb369453504cceee86f8c1208752c057e6403646764f9b4e361bb07263c2d235a97d2712caf84067b764f828ee7567c910021d8a908249a722e958fac
+ languageName: node
+ linkType: hard
+
+"eslint-scope@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "eslint-scope@npm:5.0.0"
+ dependencies:
+ esrecurse: ^4.1.0
+ estraverse: ^4.1.1
+ checksum: 296e85c180bc81b7c0f500f1aae68e92529059f4a13af3e4b7fe66be8469ada7fd1fb409a06a744853a8b7116a5af34620cae70f0255f0dd1bf5e764a342c67e
+ languageName: node
+ linkType: hard
+
+"eslint-scope@npm:^5.1.1":
+ version: 5.1.1
+ resolution: "eslint-scope@npm:5.1.1"
+ dependencies:
+ esrecurse: ^4.3.0
+ estraverse: ^4.1.1
+ checksum: 79465cf5082f4216176f6d49c7d088de89ee890f912eb87b831f23ee9a5e17ed0f3f2ab6108fb8fefa0474ba5ebeaa9bdefbe49ba704bd879b73f2445e23ee10
+ languageName: node
+ linkType: hard
+
+"eslint-utils@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "eslint-utils@npm:2.0.0"
+ dependencies:
+ eslint-visitor-keys: ^1.1.0
+ checksum: 37962274e6a40937f2cb95431d1ee241cef8a85867aad389a353825caad2df307cc23c13c5f63cb4c5868f40fc932330ed395f6827f79edcd0181b927d5fadb2
+ languageName: node
+ linkType: hard
+
+"eslint-utils@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "eslint-utils@npm:2.1.0"
+ dependencies:
+ eslint-visitor-keys: ^1.1.0
+ checksum: a43892372a4205374982ac9d4c8edc5fe180cba76535ab9184c48f18a3d931b7ffdd6862cb2f8ca4305c47eface0e614e39884a75fbf169fcc55a6131af2ec48
+ languageName: node
+ linkType: hard
+
+"eslint-visitor-keys@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "eslint-visitor-keys@npm:1.1.0"
+ checksum: 4bcd3d91e6b15ea771a0eb4a56631b384ce649145f43d23e865a695b07e197c276019098823d744d454d4e5e406a6eb7995c26310ee5d6ed3fe8d189f944440c
+ languageName: node
+ linkType: hard
+
+"eslint-visitor-keys@npm:^1.3.0":
+ version: 1.3.0
+ resolution: "eslint-visitor-keys@npm:1.3.0"
+ checksum: 58ab7a0107621d8a0fe19142a5e1306fd527c0f36b65d5c79033639e80278d8060264804f42c56f68e5541c4cc83d9175f9143083774cec8222f6cd5a695306e
+ languageName: node
+ linkType: hard
+
+"eslint-visitor-keys@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "eslint-visitor-keys@npm:2.0.0"
+ checksum: 429dabdcab3c1cf5e65d44843afc513398d4ee32a37f93edc93bb5ba59a12b78fa67d87ff23c752c170b5e4f9085050f45b3c036cdfb23d40a724f2614048140
+ languageName: node
+ linkType: hard
+
+"eslint@npm:^7.12.0":
+ version: 7.12.0
+ resolution: "eslint@npm:7.12.0"
+ dependencies:
+ "@babel/code-frame": ^7.0.0
+ "@eslint/eslintrc": ^0.2.0
+ ajv: ^6.10.0
+ chalk: ^4.0.0
+ cross-spawn: ^7.0.2
+ debug: ^4.0.1
+ doctrine: ^3.0.0
+ enquirer: ^2.3.5
+ eslint-scope: ^5.1.1
+ eslint-utils: ^2.1.0
+ eslint-visitor-keys: ^2.0.0
+ espree: ^7.3.0
+ esquery: ^1.2.0
+ esutils: ^2.0.2
+ file-entry-cache: ^5.0.1
+ functional-red-black-tree: ^1.0.1
+ glob-parent: ^5.0.0
+ globals: ^12.1.0
+ ignore: ^4.0.6
+ import-fresh: ^3.0.0
+ imurmurhash: ^0.1.4
+ is-glob: ^4.0.0
+ js-yaml: ^3.13.1
+ json-stable-stringify-without-jsonify: ^1.0.1
+ levn: ^0.4.1
+ lodash: ^4.17.19
+ minimatch: ^3.0.4
+ natural-compare: ^1.4.0
+ optionator: ^0.9.1
+ progress: ^2.0.0
+ regexpp: ^3.1.0
+ semver: ^7.2.1
+ strip-ansi: ^6.0.0
+ strip-json-comments: ^3.1.0
+ table: ^5.2.3
+ text-table: ^0.2.0
+ v8-compile-cache: ^2.0.3
+ bin:
+ eslint: bin/eslint.js
+ checksum: 22f86c0ebaf75993d197d230a8c35f11ba4ffc7cd0b280aeecb28a04c26446b9e6906eedee264a445311a3b9b31f9bca787ee58546acc087cb2c1056ca89f624
+ languageName: node
+ linkType: hard
+
+"espree@npm:^7.3.0":
+ version: 7.3.0
+ resolution: "espree@npm:7.3.0"
+ dependencies:
+ acorn: ^7.4.0
+ acorn-jsx: ^5.2.0
+ eslint-visitor-keys: ^1.3.0
+ checksum: dd2543c293e091532f3d6eda4a09ae49039ac65e69bc072aec952a5db6eb23eeee7617e99cde11414367104208c2dec13f709bbede0528d4f6854ce5cb734960
+ languageName: node
+ linkType: hard
+
+"esprima@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "esprima@npm:4.0.1"
+ bin:
+ esparse: ./bin/esparse.js
+ esvalidate: ./bin/esvalidate.js
+ checksum: 5df45a3d9c95c36800d028ba76d8d4e04e199932b58c2939f462f859fd583e7d39b4a12d3f97986cf272a28a5fe5948ee6e49e36ef63f67b5b48d82a635c5081
+ languageName: node
+ linkType: hard
+
+"esquery@npm:^1.2.0":
+ version: 1.3.1
+ resolution: "esquery@npm:1.3.1"
+ dependencies:
+ estraverse: ^5.1.0
+ checksum: 0aac7572bc8cf4aad87f4424b3e5e80917c214d15a1da02718c4bb0e6030552b0dea700777747507d5e310cfba43ea719e6397a45050fb50b9b68c0f7de6b26a
+ languageName: node
+ linkType: hard
+
+"esrecurse@npm:^4.1.0":
+ version: 4.2.1
+ resolution: "esrecurse@npm:4.2.1"
+ dependencies:
+ estraverse: ^4.1.0
+ checksum: 9acfa287729037ccb63ee725df2214b313fe1296a91f58fe42b151e1af0d51558ac18486e53f5717477ad9306f7a79d4e20fc7f8bac486d3175f86ab2dc67f73
+ languageName: node
+ linkType: hard
+
+"esrecurse@npm:^4.3.0":
+ version: 4.3.0
+ resolution: "esrecurse@npm:4.3.0"
+ dependencies:
+ estraverse: ^5.2.0
+ checksum: 2c96302dd5c4e6d07154d0ce6baee9e829ebf77e21c50c5ca4f24d6d0006fe4a4582364624a01f5667a3633b3e39bbce1a8191924f8419fb71584bb45bf7bb81
+ languageName: node
+ linkType: hard
+
+"estraverse@npm:^4.1.0, estraverse@npm:^4.1.1":
+ version: 4.3.0
+ resolution: "estraverse@npm:4.3.0"
+ checksum: 1e4c627da9e9af07bf7b2817320f606841808fb2ec0cbd81097b30d5f90d8613288b3e523153babe04615d59b54ef876d98f0ca27488b6c0934dacd725a8d338
+ languageName: node
+ linkType: hard
+
+"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0":
+ version: 5.2.0
+ resolution: "estraverse@npm:5.2.0"
+ checksum: 7dc1b027aebf937bab10c3254d9d73ed21672d7382518c9ddb9dc45560cb2f4e6548cc8ff1a07b7f431e94bd0fb0bf5da75b602e2473f966fea141c4c31b31d6
+ languageName: node
+ linkType: hard
+
+"esutils@npm:^2.0.2":
+ version: 2.0.3
+ resolution: "esutils@npm:2.0.3"
+ checksum: 590b04533177f8f6f0f352b3ac7da6c1c1e3d8375d8973972fba9c94558ca168685fd38319c3c6f4c37ba256df7494a7f15d8e761df1655af8a8f0027d988f8f
+ languageName: node
+ linkType: hard
+
+"event-target-shim@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "event-target-shim@npm:5.0.1"
+ checksum: d176477a31adf328ff50148886e46cef3f61ff8bdc1d6db161f6b3ead2501085d5652a81fab8dddc59aed93727231c0b5c8a0948de77ae401b2d977a3d18329e
+ languageName: node
+ linkType: hard
+
+"extend@npm:~3.0.2":
+ version: 3.0.2
+ resolution: "extend@npm:3.0.2"
+ checksum: 1406da1f0c4b00b839497e4cdd0ec4303ce2ae349144b7c28064a5073c93ce8c08da4e8fb1bc5cb459ffcdff30a35fc0fe54344eb88320e70100c1baea6f195c
+ languageName: node
+ linkType: hard
+
+"extsprintf@npm:1.3.0":
+ version: 1.3.0
+ resolution: "extsprintf@npm:1.3.0"
+ checksum: 892efd56aa9b27cbfbca42ad0c59308633f66000e71d1fb19c6989ea7309b32f3ff281778871bd2ce9bc7f3ad02515aa2783cea0323d0f6ff840b7c6a6a4603e
+ languageName: node
+ linkType: hard
+
+"extsprintf@npm:^1.2.0":
+ version: 1.4.0
+ resolution: "extsprintf@npm:1.4.0"
+ checksum: 092e011574324c5cddd78b5a27f869c2703613c1140eb7763aef8f5b0e33769a9b4c7dbcc50acd39b6afebe79bf66adcec73bf3c84e095c5bcfb42306d128ad0
+ languageName: node
+ linkType: hard
+
+"fast-deep-equal@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "fast-deep-equal@npm:3.1.1"
+ checksum: 38fe57c5ea7dbb42cf84f5d94166358b930beb49345619205ff16c4a0c896f8679a444f0fbd0f352a633f2ea800673173e2a150d81d3d85933d714d24498c688
+ languageName: node
+ linkType: hard
+
+"fast-glob@npm:^3.1.1":
+ version: 3.2.4
+ resolution: "fast-glob@npm:3.2.4"
+ dependencies:
+ "@nodelib/fs.stat": ^2.0.2
+ "@nodelib/fs.walk": ^1.2.3
+ glob-parent: ^5.1.0
+ merge2: ^1.3.0
+ micromatch: ^4.0.2
+ picomatch: ^2.2.1
+ checksum: 18f9eca898bc3be71b717cb59cb424e937bb9f5629449ba4e93e498dca9db921a9fd3cbdc3389d3f94aec3074bbe2ff6a74f779627a93e81ba0262b795ec44e4
+ languageName: node
+ linkType: hard
+
+"fast-json-stable-stringify@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "fast-json-stable-stringify@npm:2.1.0"
+ checksum: 7df3fabfe445d65953b2d9d9d3958bd895438b215a40fb87dae8b2165c5169a897785eb5d51e6cf0eb03523af756e3d82ea01083f6ac6341fe16db532fee3016
+ languageName: node
+ linkType: hard
+
+"fast-levenshtein@npm:^2.0.6":
+ version: 2.0.6
+ resolution: "fast-levenshtein@npm:2.0.6"
+ checksum: a2d03af3088b0397633e007fb3010ecfa4f91cae2116d2385653c59396a1b31467641afa672a79e6f82218518670dc144128378124e711e35dbf90bc82846f22
+ languageName: node
+ linkType: hard
+
+"fast-safe-stringify@npm:^2.0.7":
+ version: 2.0.7
+ resolution: "fast-safe-stringify@npm:2.0.7"
+ checksum: 7bd22543263b707870d70c6f2336b6e8563e34d6807dc388cc0566895e31e0a8273af017a7eb1c9538d0ef54288284e1c0585b557bd856491295a847159fd929
+ languageName: node
+ linkType: hard
+
+"fastq@npm:^1.6.0":
+ version: 1.8.0
+ resolution: "fastq@npm:1.8.0"
+ dependencies:
+ reusify: ^1.0.4
+ checksum: 77d71545ba88a5c4cbe628716bcf7a0db1dbe81943c1abfbe9eab65db17c6c1db7836e99478b3b8baf21d260b896dff4723f7b7af6606b3d3db2b135bf414c16
+ languageName: node
+ linkType: hard
+
+"file-entry-cache@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "file-entry-cache@npm:5.0.1"
+ dependencies:
+ flat-cache: ^2.0.1
+ checksum: 7140588becf15f05ee956cfb359b5f23e0c73acbbd38ad14c7a76a0097342e6bfc0a8151cd2e481ea3cbb735190ba9a0df4b69055ebb5b0389c62339b1a2f86b
+ languageName: node
+ linkType: hard
+
+"fill-range@npm:^7.0.1":
+ version: 7.0.1
+ resolution: "fill-range@npm:7.0.1"
+ dependencies:
+ to-regex-range: ^5.0.1
+ checksum: efca43d59b487ad4bc0b2b1cb9e51617c75a7b0159db51fa190c75c3d634ea5fad1ff4750d7c14346add4cd065e3c46e8f99af333edf2b4ec2a424f87e491a85
+ languageName: node
+ linkType: hard
+
+"find-up@npm:^4.0.0":
+ version: 4.1.0
+ resolution: "find-up@npm:4.1.0"
+ dependencies:
+ locate-path: ^5.0.0
+ path-exists: ^4.0.0
+ checksum: d612d28e02eaca6cd7128fc9bc9b456e2547a3f9875b2b2ae2dbdc6b8cec52bc2885efcb3ac6c18954e838f4c8e20565d196784b190e1d38565f9dc39aade722
+ languageName: node
+ linkType: hard
+
+"find-versions@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "find-versions@npm:3.2.0"
+ dependencies:
+ semver-regex: ^2.0.0
+ checksum: 2ddc16b4265184e2b7ab68bfd9d84835178fef4193abd957ebe328e0de98e8ca3b31e2a19201c1c8308e24786faa295aab46c0bc21fa89440e2a1bc8174987f0
+ languageName: node
+ linkType: hard
+
+"flat-cache@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "flat-cache@npm:2.0.1"
+ dependencies:
+ flatted: ^2.0.0
+ rimraf: 2.6.3
+ write: 1.0.3
+ checksum: a36ba407553064be4a571cdee4021a50290f6179a0827df1d076a2e33cd84e543d0274cb15dbeb551c2ae6d53e611e3c02564a93f0d527563d0f560be7a14b0d
+ languageName: node
+ linkType: hard
+
+"flatted@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "flatted@npm:2.0.1"
+ checksum: dd5140cc40a5c5457f024c6b7193e8581e15c0401c874cf8705b350c2f152f24c5b1794dfebf664bbce5542a4d861b5b96d0d55bf40b7cf708b22885f4bd8b8c
+ languageName: node
+ linkType: hard
+
+"fluent-ffmpeg@npm:^2.1.2":
+ version: 2.1.2
+ resolution: "fluent-ffmpeg@npm:2.1.2"
+ dependencies:
+ async: ">=0.2.9"
+ which: ^1.1.1
+ checksum: c86a0e4f9fbb47a03c73eee9fe90e4ae85f6b728e64ad35091f2ac526d071f94e116684209baaef63e2b6d5ccfe322539c9bbecd1098f230dc289bda367ca250
+ languageName: node
+ linkType: hard
+
+"follow-redirects@npm:1.5.10":
+ version: 1.5.10
+ resolution: "follow-redirects@npm:1.5.10"
+ dependencies:
+ debug: =3.1.0
+ checksum: 6e58e02c31337b6b41ffc3d5f3d49920b7db428eddcf374537da00ef121fe473983e12d8557f4304287604168d3efcc288d1f009abaf4c9d61e5db0c0cee3c4a
+ languageName: node
+ linkType: hard
+
+"forever-agent@npm:~0.6.1":
+ version: 0.6.1
+ resolution: "forever-agent@npm:0.6.1"
+ checksum: 9cc0054dd4ea5fc26e014b8c929d1fb9247e931e81165cbd965a712061d65fb84791b2124f64cd79492e516662b94068d29fe1d824732382237321b3f61955fe
+ languageName: node
+ linkType: hard
+
+"form-data@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "form-data@npm:3.0.0"
+ dependencies:
+ asynckit: ^0.4.0
+ combined-stream: ^1.0.8
+ mime-types: ^2.1.12
+ checksum: 1af88217b449eda6566a0d95185f2baa403ed2a0e3b11547069f6062be66cbac7c8d7a25f0fc59560702e96526e659b5b9e5a8c6fefe00f06da44338191a9133
+ languageName: node
+ linkType: hard
+
+"form-data@npm:~2.3.2":
+ version: 2.3.3
+ resolution: "form-data@npm:2.3.3"
+ dependencies:
+ asynckit: ^0.4.0
+ combined-stream: ^1.0.6
+ mime-types: ^2.1.12
+ checksum: 862e686b105634222db77138d5f5ae08ba85f88c04925de5be86b2b9d03cf671d86566ad10f1dd5217634c0f1634069dfc1a663a1cc13e8fbac0ce8f670ad070
+ languageName: node
+ linkType: hard
+
+"formidable@npm:^1.2.2":
+ version: 1.2.2
+ resolution: "formidable@npm:1.2.2"
+ checksum: 9fe5ef38d5881ac16cc8ca78bd3229fbf32b10e0fd3b718ec20f86ea1de7302aa0ffcfa9a9163cec02fc3f825faf9d0533f24539bb20ae6d73b580b526c25edb
+ languageName: node
+ linkType: hard
+
+"fs-capacitor@npm:^6.2.0":
+ version: 6.2.0
+ resolution: "fs-capacitor@npm:6.2.0"
+ checksum: 015a34427d7b83eb484d4d7514f0cfc6e6be66abc91f4da11f1171a195250b5ebb22894011b4f074cbad507b5d82486896371186158eb1ecefaa2156e7a6ff50
+ languageName: node
+ linkType: hard
+
+"fs-minipass@npm:^1.2.5":
+ version: 1.2.7
+ resolution: "fs-minipass@npm:1.2.7"
+ dependencies:
+ minipass: ^2.6.0
+ checksum: eb59a93065f25457e5d1d10a064e22565e704b03140d5ef86a71a57155b13aa645811126fed2a5a282df8dc9c40df9c9d696f6b2d93c181071a971221d0a454b
+ languageName: node
+ linkType: hard
+
+"fs-minipass@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "fs-minipass@npm:2.1.0"
+ dependencies:
+ minipass: ^3.0.0
+ checksum: e14a490658621cf1f7d8cbf9e92a9cc4dc7ce050418e4817e877e4531c438223db79f7a1774668087428d665a3de95f87014ce36c8afdc841fea42bcb782abcb
+ languageName: node
+ linkType: hard
+
+"fs.realpath@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "fs.realpath@npm:1.0.0"
+ checksum: 698a91b1695e3926185c9e5b0dd57cf687dceb4eb73799af91e6b2ab741735e2962c366c5af6403ffddae2619914193bd339efa706fdc984d0ffc74b7a3603f4
+ languageName: node
+ linkType: hard
+
+"fsevents@patch:fsevents@~2.1.2#builtin<compat/fsevents>":
+ version: 2.1.2
+ resolution: "fsevents@patch:fsevents@npm%3A2.1.2#builtin<compat/fsevents>::version=2.1.2&hash=127e8e"
+ dependencies:
+ node-gyp: latest
+ checksum: f4e06c69cb1f888dcefd81822f7789fadb2885efd0f5967cb1ec499d5bdd086fa6b7ab5d76ad2160bed8e68daf81fa96be8b8bf61957d7a531b4c12dbeab3a6a
+ languageName: node
+ linkType: hard
fsevents@~2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805"
- integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==
-
-fstream@^1.0.0, fstream@^1.0.12:
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
- integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
- dependencies:
- graceful-fs "^4.1.2"
- inherits "~2.0.0"
- mkdirp ">=0.5 0"
- rimraf "2"
-
-functional-red-black-tree@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
- integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
-
-gauge@~2.7.3:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
- integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
- dependencies:
- aproba "^1.0.3"
- console-control-strings "^1.0.0"
- has-unicode "^2.0.0"
- object-assign "^4.1.0"
- signal-exit "^3.0.0"
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wide-align "^1.1.0"
-
-get-stream@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
- integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
- dependencies:
- pump "^3.0.0"
-
-get-stream@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
- integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
- dependencies:
- pump "^3.0.0"
-
-get-youtube-id@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/get-youtube-id/-/get-youtube-id-1.0.1.tgz#adb6f475e292d98f98ed5bfb530887656193e157"
- integrity sha512-5yidLzoLXbtw82a/Wb7LrajkGn29BM6JuLWeHyNfzOGp1weGyW4+7eMz6cP23+etqj27VlOFtq8fFFDMLq/FXQ==
-
-getpass@^0.1.1:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
- integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
- dependencies:
- assert-plus "^1.0.0"
-
-glob-parent@^5.0.0, glob-parent@~5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2"
- integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==
- dependencies:
- is-glob "^4.0.1"
-
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
- integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@^7.0.3, glob@^7.1.3, glob@^7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-global-dirs@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201"
- integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==
- dependencies:
- ini "^1.3.5"
-
-globals@^12.1.0:
- version "12.3.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz#1e564ee5c4dded2ab098b0f88f24702a3c56be13"
- integrity sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==
- dependencies:
- type-fest "^0.8.1"
-
-got@^11.5.2:
- version "11.5.2"
- resolved "https://registry.yarnpkg.com/got/-/got-11.5.2.tgz#772e3f3a06d9c7589c7c94dc3c83cdb31ddbf742"
- integrity sha512-yUhpEDLeuGiGJjRSzEq3kvt4zJtAcjKmhIiwNp/eUs75tRlXfWcHo5tcBaMQtnjHWC7nQYT5HkY/l0QOQTkVww==
- dependencies:
- "@sindresorhus/is" "^3.0.0"
- "@szmarczak/http-timer" "^4.0.5"
- "@types/cacheable-request" "^6.0.1"
- "@types/responselike" "^1.0.0"
- cacheable-lookup "^5.0.3"
- cacheable-request "^7.0.1"
- decompress-response "^6.0.0"
- http2-wrapper "^1.0.0-beta.5.0"
- lowercase-keys "^2.0.0"
- p-cancelable "^2.0.0"
- responselike "^2.0.0"
-
-got@^9.6.0:
- version "9.6.0"
- resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
- integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
- dependencies:
- "@sindresorhus/is" "^0.14.0"
- "@szmarczak/http-timer" "^1.1.2"
- cacheable-request "^6.0.0"
- decompress-response "^3.3.0"
- duplexer3 "^0.1.4"
- get-stream "^4.1.0"
- lowercase-keys "^1.0.1"
- mimic-response "^1.0.1"
- p-cancelable "^1.0.0"
- to-readable-stream "^1.0.0"
- url-parse-lax "^3.0.0"
-
-graceful-fs@^4.1.2:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
- integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
-
-har-schema@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
- integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
-
-har-validator@~5.1.3:
- version "5.1.3"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
- integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
- dependencies:
- ajv "^6.5.5"
- har-schema "^2.0.0"
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
- integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has-unicode@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
- integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
-
-has-yarn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
- integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
-
-hasha@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.0.tgz#33094d1f69c40a4a6ac7be53d5fe3ff95a269e0c"
- integrity sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw==
- dependencies:
- is-stream "^2.0.0"
- type-fest "^0.8.0"
-
-html-entities@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"
- integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==
-
-http-cache-semantics@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
- integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
-
-http-signature@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
- integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
- dependencies:
- assert-plus "^1.0.0"
- jsprim "^1.2.2"
- sshpk "^1.7.0"
-
-http2-wrapper@^1.0.0-beta.5.0:
- version "1.0.0-beta.5.2"
- resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz#8b923deb90144aea65cf834b016a340fc98556f3"
- integrity sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ==
- dependencies:
- quick-lru "^5.1.1"
- resolve-alpn "^1.0.0"
-
-husky@^4.2.5:
- version "4.2.5"
- resolved "https://registry.yarnpkg.com/husky/-/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36"
- integrity sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==
- dependencies:
- chalk "^4.0.0"
- ci-info "^2.0.0"
- compare-versions "^3.6.0"
- cosmiconfig "^6.0.0"
- find-versions "^3.2.0"
- opencollective-postinstall "^2.0.2"
- pkg-dir "^4.2.0"
- please-upgrade-node "^3.2.0"
- slash "^3.0.0"
- which-pm-runs "^1.0.0"
-
-iconv-lite@^0.4.4:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
-ignore-by-default@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
- integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk=
-
-ignore-walk@^3.0.1:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
- integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==
- dependencies:
- minimatch "^3.0.4"
-
-ignore@^4.0.6:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
- integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
-
-import-fresh@^3.0.0, import-fresh@^3.1.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
- integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-import-lazy@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
- integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
- integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
-
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416"
- integrity sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@~2.0.0, inherits@~2.0.3:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-ini@^1.3.5, ini@~1.3.0:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
- integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
-
-inversify@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/inversify/-/inversify-5.0.1.tgz#500d709b1434896ce5a0d58915c4a4210e34fb6e"
- integrity sha512-Ieh06s48WnEYGcqHepdsJUIJUXpwH5o5vodAX+DK2JA/gjy4EbEcQZxw+uFfzysmKjiLXGYwNG3qDZsKVMcINQ==
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
- integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-bluebird@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-bluebird/-/is-bluebird-1.0.2.tgz#096439060f4aa411abee19143a84d6a55346d6e2"
- integrity sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI=
-
-is-ci@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
- integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
- dependencies:
- ci-info "^2.0.0"
-
-is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
-
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
- integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
-
-is-fullwidth-code-point@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
- integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
- integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-installed-globally@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141"
- integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==
- dependencies:
- global-dirs "^2.0.1"
- is-path-inside "^3.0.1"
-
-is-npm@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d"
- integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-obj@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
- integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-
-is-path-inside@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017"
- integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==
-
-is-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
- integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
-
-is-typedarray@^1.0.0, is-typedarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
- integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
-
-is-yarn-global@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232"
- integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
-
-isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
- integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-
-iso8601-duration@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/iso8601-duration/-/iso8601-duration-1.2.0.tgz#5fa6fc180a8fe95ad6a6721c9bdd9069cb59e80e"
- integrity sha512-ErTBd++b17E8nmWII1K1uZtBgD1E8RjyvwmxlCjPHNqHMD7gmcMHOw0E8Ro/6+QT4PhHRSnnMo7bxa1vFPkwhg==
-
-isstream@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
- integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-
-js-tokens@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@^3.13.1:
- version "3.13.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
- integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-jsbn@~0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
- integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
- integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
-
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
- integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
-
-json-parse-better-errors@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
- integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
- integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
-
-json-stable-stringify-without-jsonify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
- integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
-
-json-stringify-safe@~5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
- integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
-
-jsprim@^1.2.2:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
- integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
- dependencies:
- assert-plus "1.0.0"
- extsprintf "1.3.0"
- json-schema "0.2.3"
- verror "1.10.0"
-
-keyv@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
- integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
- dependencies:
- json-buffer "3.0.0"
-
-keyv@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.0.tgz#2d1dab694926b2d427e4c74804a10850be44c12f"
- integrity sha512-U7ioE8AimvRVLfw4LffyOIRhL2xVgmE8T22L6i0BucSnBUyv4w+I7VN/zVZwRKHOI6ZRUcdMdWHQ8KSUvGpEog==
- dependencies:
- json-buffer "3.0.1"
-
-latest-version@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
- integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
- dependencies:
- package-json "^6.3.0"
-
-levn@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
- integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
- dependencies:
- prelude-ls "^1.2.1"
- type-check "~0.4.0"
-
-lines-and-columns@^1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
- integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
-
-locate-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
- integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
- dependencies:
- p-locate "^4.1.0"
-
-lodash.toarray@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
- integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE=
-
-lodash@^4.17.14, lodash@^4.17.15:
- version "4.17.15"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
- integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
-
-lodash@^4.17.19:
- version "4.17.20"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
- integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
-
-lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
- integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
-
-lowercase-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
- integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
-
-m3u8stream@^0.7.1:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/m3u8stream/-/m3u8stream-0.7.1.tgz#74b01a67ca248ac7bbdc263a65d9d8d2c479a65c"
- integrity sha512-z6ldnAdhbuWOL6LmMkwptSZGzj+qbRytMKLTbNicwF/bJMjf9U9lqD57RNQUFecvWadEkzy6PDjcNJFFgi19uQ==
- dependencies:
- miniget "^1.6.1"
- sax "^1.2.4"
-
-make-dir@^3.0.0, make-dir@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
- dependencies:
- semver "^6.0.0"
-
-make-error@^1.1.1:
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
- integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
-
-methods@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
- integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
-
- version "1.43.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
- integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
-
-mime-types@^2.1.12, mime-types@~2.1.19:
- version "2.1.26"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
- integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==
- dependencies:
- mime-db "1.43.0"
-
-mime@^1.4.1:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
- integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-
-mimic-response@^1.0.0, mimic-response@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
- integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
-
-mimic-response@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
- integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
-
-miniget@^1.6.1:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/miniget/-/miniget-1.7.0.tgz#a29eb79ebff479e9efafd271616981c603987875"
- integrity sha512-yrgaDSMRzrfYTkudB4Y6xK8pCb7oAH2bvfv6iPY2m6CedZfs9yK4b/ofh0Vzv08hCYXH/HHkoS8an6fkWtOAQA==
-
-miniget@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/miniget/-/miniget-2.0.1.tgz#e2188573317ad8239bab33f056aae64804fc8e47"
- integrity sha512-MX+QfVIPAutz6c+T7WKuFKtjcw0nOyRRh1ubhTDD+z/e/pKcSAsfAV63aQKUgb1MFRT1GyfJeW53N5fHkX0wIA==
-
-minimatch@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
- integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
- dependencies:
- brace-expansion "^1.1.7"
-
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
- integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
-
-minimist@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
- integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
-
-minimist@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
- integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
-
-minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
- integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
- dependencies:
- safe-buffer "^5.1.2"
- yallist "^3.0.0"
-
-minipass@^3.0.0:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd"
- integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==
- dependencies:
- yallist "^4.0.0"
-
-minizlib@^1.2.1:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
- integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
- dependencies:
- minipass "^2.9.0"
-
-minizlib@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
- integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
- dependencies:
- minipass "^3.0.0"
- yallist "^4.0.0"
-
-"mkdirp@>=0.5 0", mkdirp@^0.5.5:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
- integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
- dependencies:
- minimist "^1.2.5"
-
-mkdirp@^0.5.0, mkdirp@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
- integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
- dependencies:
- minimist "0.0.8"
-
-mkdirp@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
-moment-timezone@^0.5.21:
- version "0.5.28"
- resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.28.tgz#f093d789d091ed7b055d82aa81a82467f72e4338"
- integrity sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==
- dependencies:
- moment ">= 2.9.0"
-
-"moment@>= 2.9.0", moment@^2.24.0:
- version "2.24.0"
- resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
- integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
-
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
- integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-
-ms@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
- integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
-
-needle@^2.2.1:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.3.tgz#a041ad1d04a871b0ebb666f40baaf1fb47867117"
- integrity sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==
- dependencies:
- debug "^3.2.6"
- iconv-lite "^0.4.4"
- sax "^1.2.4"
-
-needle@^2.4.1:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.5.0.tgz#e6fc4b3cc6c25caed7554bd613a5cf0bac8c31c0"
- integrity sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA==
- dependencies:
- debug "^3.2.6"
- iconv-lite "^0.4.4"
- sax "^1.2.4"
-
[email protected], node-addon-api@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.0.tgz#f9afb8d777a91525244b01775ea0ddbe1125483b"
- integrity sha512-ASCL5U13as7HhOExbT6OlWJJUV/lLzL2voOSP1UVehpRD8FbSrSDjfScK/KwAvVTI5AS6r4VwbOMlIqtvRidnA==
-
-node-emoji@^1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da"
- integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==
- dependencies:
- lodash.toarray "^4.4.0"
-
-node-fetch@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
- integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
-
- version "3.8.0"
- resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
- integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==
- dependencies:
- fstream "^1.0.0"
- glob "^7.0.3"
- graceful-fs "^4.1.2"
- mkdirp "^0.5.0"
- nopt "2 || 3"
- npmlog "0 || 1 || 2 || 3 || 4"
- osenv "0"
- request "^2.87.0"
- rimraf "2"
- semver "~5.3.0"
- tar "^2.0.0"
- which "1"
-
-node-pre-gyp@^0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz#db1f33215272f692cd38f03238e3e9b47c5dd054"
- integrity sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==
- dependencies:
- detect-libc "^1.0.2"
- mkdirp "^0.5.1"
- needle "^2.2.1"
- nopt "^4.0.1"
- npm-packlist "^1.1.6"
- npmlog "^4.0.2"
- rc "^1.2.7"
- rimraf "^2.6.1"
- semver "^5.3.0"
- tar "^4"
-
-nodemon@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.4.tgz#55b09319eb488d6394aa9818148c0c2d1c04c416"
- integrity sha512-Ltced+hIfTmaS28Zjv1BM552oQ3dbwPqI4+zI0SLgq+wpJhSyqgYude/aZa/3i31VCQWMfXJVxvu86abcam3uQ==
- dependencies:
- chokidar "^3.2.2"
- debug "^3.2.6"
- ignore-by-default "^1.0.1"
- minimatch "^3.0.4"
- pstree.remy "^1.1.7"
- semver "^5.7.1"
- supports-color "^5.5.0"
- touch "^3.1.0"
- undefsafe "^2.0.2"
- update-notifier "^4.0.0"
-
-"nopt@2 || 3":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
- integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
- dependencies:
- abbrev "1"
-
-nopt@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
- integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
- dependencies:
- abbrev "1"
- osenv "^0.1.4"
-
-nopt@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
- integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==
- dependencies:
- abbrev "1"
- osenv "^0.1.4"
-
-nopt@~1.0.10:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
- integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=
- dependencies:
- abbrev "1"
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-normalize-url@^4.1.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129"
- integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
-
-npm-bundled@^1.0.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
- integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==
- dependencies:
- npm-normalize-package-bin "^1.0.1"
-
-npm-normalize-package-bin@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
- integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
-
-npm-packlist@^1.1.6, npm-packlist@^1.4.8:
- version "1.4.8"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
- integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
- dependencies:
- ignore-walk "^3.0.1"
- npm-bundled "^1.0.1"
- npm-normalize-package-bin "^1.0.1"
-
-"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.2, npmlog@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
- integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
- dependencies:
- are-we-there-yet "~1.1.2"
- console-control-strings "~1.1.0"
- gauge "~2.7.3"
- set-blocking "~2.0.0"
-
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
- integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-
-oauth-sign@~0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
- integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-
-object-assign@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
- dependencies:
- wrappy "1"
-
-opencollective-postinstall@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89"
- integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==
-
-optionator@^0.9.1:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
- integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
- dependencies:
- deep-is "^0.1.3"
- fast-levenshtein "^2.0.6"
- levn "^0.4.1"
- prelude-ls "^1.2.1"
- type-check "^0.4.0"
- word-wrap "^1.2.3"
-
-os-homedir@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
- integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
-
-os-tmpdir@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
- integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-
-osenv@0, osenv@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
- integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
- dependencies:
- os-homedir "^1.0.0"
- os-tmpdir "^1.0.0"
-
-p-cancelable@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
- integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
-
-p-cancelable@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e"
- integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==
-
-p-limit@^2.2.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e"
- integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==
- dependencies:
- p-try "^2.0.0"
-
-p-limit@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe"
- integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==
- dependencies:
- p-try "^2.0.0"
-
-p-locate@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
- integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
- dependencies:
- p-limit "^2.2.0"
-
-p-try@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
- integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-
-package-json@^6.3.0:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
- integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
- dependencies:
- got "^9.6.0"
- registry-auth-token "^4.0.0"
- registry-url "^5.0.0"
- semver "^6.2.0"
-
-parent-module@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
- integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
- dependencies:
- callsites "^3.0.0"
-
-parse-json@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f"
- integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
- lines-and-columns "^1.1.6"
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-
-path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-type@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
- integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
-performance-now@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
- integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
-
-picomatch@^2.0.4, picomatch@^2.0.7:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a"
- integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==
-
-pkg-dir@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
- integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
- dependencies:
- find-up "^4.0.0"
-
-please-upgrade-node@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
- integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
- dependencies:
- semver-compare "^1.0.0"
-
-prelude-ls@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
- integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-
-prepend-http@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
- integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
-
-prism-media@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/prism-media/-/prism-media-1.2.2.tgz#4f1c841f248b67d325a24b4e6b1a491b8f50a24f"
- integrity sha512-I+nkWY212lJ500jLe4tN9tWO7nRiBAVdMv76P9kffZjYhw20raMlW1HSSvS+MLXC9MmbNZCazMrAr+5jEEgTuw==
-
-process-nextick-args@~2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
- integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-
-progress@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
- integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-
-psl@^1.1.28:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c"
- integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==
-
-pstree.remy@^1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.7.tgz#c76963a28047ed61542dc361aa26ee55a7fa15f3"
- integrity sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A==
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-punycode@^2.1.0, punycode@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
- integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-
-pupa@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.0.1.tgz#dbdc9ff48ffbea4a26a069b6f9f7abb051008726"
- integrity sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==
- dependencies:
- escape-goat "^2.0.0"
-
-qs@^6.5.1:
- version "6.9.1"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.1.tgz#20082c65cb78223635ab1a9eaca8875a29bf8ec9"
- integrity sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==
-
-qs@~6.5.2:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
- integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
-
-quick-lru@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
- integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
-
-rc@^1.2.7, rc@^1.2.8:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
- integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
-readable-stream@^2.0.6, readable-stream@^2.3.5:
- version "2.3.7"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
- 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"
-
-readdirp@~3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17"
- integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==
- dependencies:
- picomatch "^2.0.7"
-
-reflect-metadata@^0.1.13:
- version "0.1.13"
- resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08"
- integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==
-
-regenerator-runtime@^0.13.4:
- version "0.13.4"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz#e96bf612a3362d12bb69f7e8f74ffeab25c7ac91"
- integrity sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g==
-
-regexpp@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e"
- integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==
-
-regexpp@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
- integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
-
-registry-auth-token@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.0.tgz#1d37dffda72bbecd0f581e4715540213a65eb7da"
- integrity sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w==
- dependencies:
- rc "^1.2.8"
-
-registry-url@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009"
- integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
- dependencies:
- rc "^1.2.8"
-
-request@^2.87.0:
- version "2.88.2"
- resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
- integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
- dependencies:
- aws-sign2 "~0.7.0"
- aws4 "^1.8.0"
- caseless "~0.12.0"
- combined-stream "~1.0.6"
- extend "~3.0.2"
- forever-agent "~0.6.1"
- form-data "~2.3.2"
- har-validator "~5.1.3"
- http-signature "~1.2.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.19"
- oauth-sign "~0.9.0"
- performance-now "^2.1.0"
- qs "~6.5.2"
- safe-buffer "^5.1.2"
- tough-cookie "~2.5.0"
- tunnel-agent "^0.6.0"
- uuid "^3.3.2"
-
-resolve-alpn@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c"
- integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA==
-
-resolve-from@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
- integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-
-responselike@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
- integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
- dependencies:
- lowercase-keys "^1.0.0"
-
-responselike@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723"
- integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==
- dependencies:
- lowercase-keys "^2.0.0"
-
-retry-as-promised@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-3.2.0.tgz#769f63d536bec4783549db0777cb56dadd9d8543"
- integrity sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg==
- dependencies:
- any-promise "^1.3.0"
-
-rimraf@2, rimraf@^2.6.1:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
- integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
- dependencies:
- glob "^7.1.3"
-
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
- integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
- dependencies:
- glob "^7.1.3"
-
-rimraf@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
- dependencies:
- glob "^7.1.3"
-
-safe-buffer@^5.0.1, safe-buffer@^5.1.2:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
- integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
-
-safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-sax@^1.1.3, sax@^1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
- integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-
-semver-compare@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
- integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
-
-semver-diff@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b"
- integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==
- dependencies:
- semver "^6.3.0"
-
-semver-regex@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338"
- integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==
-
-semver@^5.3.0, semver@^5.7.1:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
- integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-
-semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
- integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-
-semver@^7.2.1, semver@^7.3.0, semver@^7.3.2:
- version "7.3.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
- integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
-
-semver@~5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
- integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
-
-sequelize-pool@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-2.3.0.tgz#64f1fe8744228172c474f530604b6133be64993d"
- integrity sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA==
-
-sequelize-typescript@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/sequelize-typescript/-/sequelize-typescript-1.1.0.tgz#d5c2945e7fbfe55a934917b27d84589858d79123"
- integrity sha512-FAPEQPeAhIaFQNLAcf9Q2IWcqWhNcvn5OZZ7BzGB0CJMtImIsGg4E/EAb7huMmPaPwDArxJUWGqk1KurphTNRA==
- dependencies:
- glob "7.1.2"
-
-sequelize@^5.21.11:
- version "5.22.3"
- resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-5.22.3.tgz#7e7a92ddd355d883c9eb11cdb106d874d0d2636f"
- integrity sha512-+nxf4TzdrB+PRmoWhR05TP9ukLAurK7qtKcIFv5Vhxm5Z9v+d2PcTT6Ea3YAoIQVkZ47QlT9XWAIUevMT/3l8Q==
- dependencies:
- bluebird "^3.5.0"
- cls-bluebird "^2.1.0"
- debug "^4.1.1"
- dottie "^2.0.0"
- inflection "1.12.0"
- lodash "^4.17.15"
- moment "^2.24.0"
- moment-timezone "^0.5.21"
- retry-as-promised "^3.2.0"
- semver "^6.3.0"
- sequelize-pool "^2.3.0"
- toposort-class "^1.0.1"
- uuid "^3.3.3"
- validator "^10.11.0"
- wkx "^0.4.8"
-
-set-blocking@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
-
-setimmediate@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
- integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-shimmer@^1.1.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
- integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
-
-signal-exit@^3.0.0, signal-exit@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
- integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-slice-ansi@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
- integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
- dependencies:
- ansi-styles "^3.2.0"
- astral-regex "^1.0.0"
- is-fullwidth-code-point "^2.0.0"
-
-source-map-support@^0.5.17:
- version "0.5.19"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
- integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map@^0.6.0:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-spotify-uri@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/spotify-uri/-/spotify-uri-2.1.0.tgz#1e0428536bd616e90e086d74167310fa23465f6b"
- integrity sha512-+QjB/9zRsbGB+2oOPK6K4jidLEWbsY43mov84vEj66dNj0aqqz6ul6VbxfUDlklOqgL4kVLFC/Yhr01PcXlJbQ==
-
-spotify-web-api-node@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/spotify-web-api-node/-/spotify-web-api-node-4.0.0.tgz#55f060975220cdac18efc0e781f84130b12004c0"
- integrity sha512-FQAX4qiP9xfjmJpkSfF5PEVr7RVorUZiLvcdVTlhVFLYAmQ8VSsZlyb0yTK0GExKhAcgJy9GfWxqjSB2r9SrjA==
- dependencies:
- superagent "^3.7.0"
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
- integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
-
-sqlite3@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.0.0.tgz#1bfef2151c6bc48a3ab1a6c126088bb8dd233566"
- integrity sha512-rjvqHFUaSGnzxDy2AHCwhHy6Zp6MNJzCPGYju4kD8yi6bze4d1/zMTg6C7JI49b7/EM7jKMTvyfN/4ylBKdwfw==
- dependencies:
- node-addon-api "2.0.0"
- node-pre-gyp "^0.11.0"
- optionalDependencies:
- node-gyp "3.x"
-
-sshpk@^1.7.0:
- version "1.16.1"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
- integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
- dependencies:
- asn1 "~0.2.3"
- assert-plus "^1.0.0"
- bcrypt-pbkdf "^1.0.0"
- dashdash "^1.12.0"
- ecc-jsbn "~0.1.1"
- getpass "^0.1.1"
- jsbn "~0.1.0"
- safer-buffer "^2.0.2"
- tweetnacl "~0.14.0"
-
-string-width@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
-"string-width@^1.0.2 || 2":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
- integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
- dependencies:
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^4.0.0"
-
-string-width@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
- integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
- dependencies:
- emoji-regex "^7.0.1"
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^5.1.0"
-
-string-width@^4.0.0, string-width@^4.1.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
- integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.0"
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.0"
-
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
- dependencies:
- ansi-regex "^2.0.0"
-
-strip-ansi@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
- integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
- dependencies:
- ansi-regex "^3.0.0"
-
-strip-ansi@^5.1.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
- integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
- dependencies:
- ansi-regex "^4.1.0"
-
-strip-ansi@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
- integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
- dependencies:
- ansi-regex "^5.0.0"
-
-strip-json-comments@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
-strip-json-comments@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
- integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
-
-superagent@^3.7.0:
- version "3.8.3"
- resolved "https://registry.yarnpkg.com/superagent/-/superagent-3.8.3.tgz#460ea0dbdb7d5b11bc4f78deba565f86a178e128"
- integrity sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==
- dependencies:
- component-emitter "^1.2.0"
- cookiejar "^2.1.0"
- debug "^3.1.0"
- extend "^3.0.0"
- form-data "^2.3.1"
- formidable "^1.2.0"
- methods "^1.1.1"
- mime "^1.4.1"
- qs "^6.5.1"
- readable-stream "^2.3.5"
-
-supports-color@^5.3.0, supports-color@^5.5.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
- integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
- dependencies:
- has-flag "^4.0.0"
-
-table@^5.2.3:
- version "5.4.6"
- resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
- integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
- dependencies:
- ajv "^6.10.2"
- lodash "^4.17.14"
- slice-ansi "^2.1.0"
- string-width "^3.0.0"
-
-tar@^2.0.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
- integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
- dependencies:
- block-stream "*"
- fstream "^1.0.12"
- inherits "2"
-
-tar@^4:
- version "4.4.13"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
- integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
- dependencies:
- chownr "^1.1.1"
- fs-minipass "^1.2.5"
- minipass "^2.8.6"
- minizlib "^1.2.1"
- mkdirp "^0.5.0"
- safe-buffer "^5.1.2"
- yallist "^3.0.3"
-
-tar@^6.0.2:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f"
- integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==
- dependencies:
- chownr "^2.0.0"
- fs-minipass "^2.0.0"
- minipass "^3.0.0"
- minizlib "^2.1.1"
- mkdirp "^1.0.3"
- yallist "^4.0.0"
-
-term-size@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753"
- integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==
-
-text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
- integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
-
-to-readable-stream@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
- integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-toposort-class@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988"
- integrity sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=
-
-touch@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b"
- integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==
- dependencies:
- nopt "~1.0.10"
-
-tough-cookie@~2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
- dependencies:
- psl "^1.1.28"
- punycode "^2.1.1"
-
-ts-node@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.0.0.tgz#e7699d2a110cc8c0d3b831715e417688683460b3"
- integrity sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg==
- dependencies:
- arg "^4.1.0"
- diff "^4.0.1"
- make-error "^1.1.1"
- source-map-support "^0.5.17"
- yn "3.1.1"
-
-tslib@^1.8.1:
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
- integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
-
-tsutils@^3.17.1:
- version "3.17.1"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
- integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
- dependencies:
- tslib "^1.8.1"
-
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
- integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
- dependencies:
- safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
- integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
-
-tweetnacl@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596"
- integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
-
-type-check@^0.4.0, type-check@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
- integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
- dependencies:
- prelude-ls "^1.2.1"
-
-type-fest@^0.8.0, type-fest@^0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
- integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
-
-typedarray-to-buffer@^3.1.5:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
- integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
- dependencies:
- is-typedarray "^1.0.0"
-
-typescript@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2"
- integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==
-
-undefsafe@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.3.tgz#6b166e7094ad46313b2202da7ecc2cd7cc6e7aae"
- integrity sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==
- dependencies:
- debug "^2.2.0"
-
-unique-random-array@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unique-random-array/-/unique-random-array-2.0.0.tgz#9e639b1a9dc141e97350a6fc6f17da4b0717b1ad"
- integrity sha512-xR87O95fZ7hljw84J8r1YDXrvffPLWN513BNOP4Bv0KcgG5dyEUrHwsvP7mVAOKg4Y80uqRbpUk0GKr8il70qg==
- dependencies:
- unique-random "^2.1.0"
-
-unique-random@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/unique-random/-/unique-random-2.1.0.tgz#7a8413da5176d028567168b57125ac5c0cec5c25"
- integrity sha512-iQ1ZgWac3b8YxGThecQFRQiqgk6xFERRwHZIWeVVsqlbmgCRl0PY13R4mUkodNgctmg5b5odG1nyW/IbOxQTqg==
-
-unique-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
- integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
- dependencies:
- crypto-random-string "^2.0.0"
-
-update-notifier@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.1.tgz#895fc8562bbe666179500f9f2cebac4f26323746"
- integrity sha512-9y+Kds0+LoLG6yN802wVXoIfxYEwh3FlZwzMwpCZp62S2i1/Jzeqb9Eeeju3NSHccGGasfGlK5/vEHbAifYRDg==
- dependencies:
- boxen "^4.2.0"
- chalk "^3.0.0"
- configstore "^5.0.1"
- has-yarn "^2.1.0"
- import-lazy "^2.1.0"
- is-ci "^2.0.0"
- is-installed-globally "^0.3.1"
- is-npm "^4.0.0"
- is-yarn-global "^0.3.0"
- latest-version "^5.0.0"
- pupa "^2.0.1"
- semver-diff "^3.1.1"
- xdg-basedir "^4.0.0"
-
-uri-js@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
- integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
- dependencies:
- punycode "^2.1.0"
-
-url-parse-lax@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
- integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
- dependencies:
- prepend-http "^2.0.0"
-
-util-deprecate@~1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
-
-uuid@^3.3.2, uuid@^3.3.3:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
- integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
-
-v8-compile-cache@^2.0.3:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e"
- integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==
-
-validator@^10.11.0:
- version "10.11.0"
- resolved "https://registry.yarnpkg.com/validator/-/validator-10.11.0.tgz#003108ea6e9a9874d31ccc9e5006856ccd76b228"
- integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==
-
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
- integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
- dependencies:
- assert-plus "^1.0.0"
- core-util-is "1.0.2"
- extsprintf "^1.2.0"
-
-which-pm-runs@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
- integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
-
-which@1, which@^1.1.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
-which@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-wide-align@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
- integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
- dependencies:
- string-width "^1.0.2 || 2"
-
-widest-line@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
- integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
- dependencies:
- string-width "^4.0.0"
-
-wkx@^0.4.8:
- version "0.4.8"
- resolved "https://registry.yarnpkg.com/wkx/-/wkx-0.4.8.tgz#a092cf088d112683fdc7182fd31493b2c5820003"
- integrity sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ==
- dependencies:
- "@types/node" "*"
-
-word-wrap@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
- integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-
-write-file-atomic@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
- integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
- dependencies:
- imurmurhash "^0.1.4"
- is-typedarray "^1.0.0"
- signal-exit "^3.0.2"
- typedarray-to-buffer "^3.1.5"
-
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
- integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
- dependencies:
- mkdirp "^0.5.1"
-
-ws@^7.3.1:
- version "7.3.1"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8"
- integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==
-
-xdg-basedir@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
- integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
-
-yallist@^3.0.0, yallist@^3.0.3:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
- integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yallist@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
- integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yaml@^1.7.2:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.8.0.tgz#169fbcfa2081302dc9441d02b0b6fe667e4f74c9"
- integrity sha512-6qI/tTx7OVtA4qNqD0OyutbM6Z9EKu4rxWm/2Y3FDEBQ4/2X2XAnyuRXMzAE2+1BPyqzksJZtrIwblOHg0IEzA==
- dependencies:
- "@babel/runtime" "^7.8.7"
-
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
- integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
-
-youtube.ts@^0.1.8:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/youtube.ts/-/youtube.ts-0.1.8.tgz#d78ce7c1d02110edbeb3a9adc9be9e963506b857"
- integrity sha512-rOUx7M7ltJChMqoV77fOdLE8B1au/u6v9GfLVDA7+9VXNUeu4sZrQCSGobSI4/RNyNz5Ik3HRA5P1whIU8MYXw==
- dependencies:
- axios "^0.19.0"
- ytdl-core "^3.2.2"
-
-ytdl-core@^3.2.2:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/ytdl-core/-/ytdl-core-3.2.2.tgz#056eae00209410734f11046f8d7947d7e39514bf"
- integrity sha512-DVE7uhk4WYB2Op742QQVGE/b9G7cr9kSB3ZDpDXmyRPhO55h9u8gwORlDIHWKucWVmCsdsdKzNP89QylpJEgiw==
- dependencies:
- html-entities "^1.3.1"
- m3u8stream "^0.7.1"
- miniget "^2.0.1"
- sax "^1.1.3"
-
-ytsr@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/ytsr/-/ytsr-1.0.1.tgz#d108d4a8161fd14ce0a20654297c6fa4251a4731"
- integrity sha512-oZgv3nA6ks0ODOs41CFujAE80LC1XmzUnmIfgb1y3HKPlubc+ypKSXAATjT6p2DQe/sjGuN4Ium13HAbrZ4TAg==
- dependencies:
- html-entities "^1.3.1"
- miniget "^2.0.1"
+ version: 2.1.2
+ resolution: "fsevents@npm:2.1.2"
+ dependencies:
+ node-gyp: latest
+ checksum: 8f61ef784058aa410def121afcf20014fbb845c678c04e43fe1fd1edec6c469c5452343b4a49960d89e8a207955c8e9b37a229af7a8fc5b28658c9e0faabe086
+ languageName: node
+ linkType: hard
+
+"fstream@npm:^1.0.0, fstream@npm:^1.0.12":
+ version: 1.0.12
+ resolution: "fstream@npm:1.0.12"
+ dependencies:
+ graceful-fs: ^4.1.2
+ inherits: ~2.0.0
+ mkdirp: ">=0.5 0"
+ rimraf: 2
+ checksum: 61c76d2c8d702d0233efb1bdaaff49486d2ac523562167f9900151936ce229a6fc96f04236feeb3cb88ce65660c665781ad080d5f06c115f0987c9c27db9fb9d
+ languageName: node
+ linkType: hard
+
+"functional-red-black-tree@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "functional-red-black-tree@npm:1.0.1"
+ checksum: 477ecaf62d4f8d788876099b35ed4b97586b331e729d2d28d0df96b598863d21c18b8a45a6cbecb6c2bf7f5e5ef1e82a053570583ef9a0ff8336683ab42b8d14
+ languageName: node
+ linkType: hard
+
+"gauge@npm:~2.7.3":
+ version: 2.7.4
+ resolution: "gauge@npm:2.7.4"
+ dependencies:
+ aproba: ^1.0.3
+ console-control-strings: ^1.0.0
+ has-unicode: ^2.0.0
+ object-assign: ^4.1.0
+ signal-exit: ^3.0.0
+ string-width: ^1.0.1
+ strip-ansi: ^3.0.1
+ wide-align: ^1.1.0
+ checksum: b136dbeb8e40acaaddab6c71c9f34d3c9aa104efc538c8c0ddcd74b25efb8daeb8dca24a9b30626b477d66beccd3dee8dd31e25eb4c7c97ec58a3f1a82914be1
+ languageName: node
+ linkType: hard
+
+"get-stream@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "get-stream@npm:4.1.0"
+ dependencies:
+ pump: ^3.0.0
+ checksum: f41bb3c74de09d1dbe1e9d0b6d12520875d99b7ecd32c71ee21eea26d32ca74110e2406922ca64ed8cd6f10076c5f59e4fd128f10cc292eae3b669379e5f18ed
+ languageName: node
+ linkType: hard
+
+"get-stream@npm:^5.1.0":
+ version: 5.1.0
+ resolution: "get-stream@npm:5.1.0"
+ dependencies:
+ pump: ^3.0.0
+ checksum: 599dad0b6b9e41602c5a383d218e929209774e66bd3345d5ba6b87e305a16e5d4263936cab974804a30cfeebb1d9e6082f0dba4a463fcce0ba75b922b7c9d861
+ languageName: node
+ linkType: hard
+
+"get-youtube-id@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "get-youtube-id@npm:1.0.1"
+ checksum: 705f99e1d51084ba3106eb9ab8d84ed33bad01719cb11775643b54f5a0ebe15c9546736d3a7f9df7436e37f3d69f61cf55c789a79bbdd70fa406ed2889d32e93
+ languageName: node
+ linkType: hard
+
+"getpass@npm:^0.1.1":
+ version: 0.1.7
+ resolution: "getpass@npm:0.1.7"
+ dependencies:
+ assert-plus: ^1.0.0
+ checksum: 2650725bc6939616da8432e5351ca87d8b29421bb8dc19c21bad2c37cd337d2a50d36fcc398ce0c16a075f6079afe114131780dca7e2f4b96063e53e7d28fd7a
+ languageName: node
+ linkType: hard
+
+"glob-parent@npm:^5.0.0, glob-parent@npm:~5.1.0":
+ version: 5.1.0
+ resolution: "glob-parent@npm:5.1.0"
+ dependencies:
+ is-glob: ^4.0.1
+ checksum: da8fb21548ae42b8707c1cda69998c2f714ae908a81dd4708dfb6ed98e93acc51ced4162afe6e3c843a631d489cdd83e21987c3a387b7102c275a29fbad6f1c5
+ languageName: node
+ linkType: hard
+
+"glob-parent@npm:^5.1.0":
+ version: 5.1.1
+ resolution: "glob-parent@npm:5.1.1"
+ dependencies:
+ is-glob: ^4.0.1
+ checksum: 2af6e196fba4071fb07ba261366e446ba2b320e6db0a2069cf8e12117c5811abc6721f08546148048882d01120df47e56aa5a965517a6e5ba19bfeb792655119
+ languageName: node
+ linkType: hard
+
+"glob@npm:7.1.2":
+ version: 7.1.2
+ resolution: "glob@npm:7.1.2"
+ dependencies:
+ fs.realpath: ^1.0.0
+ inflight: ^1.0.4
+ inherits: 2
+ minimatch: ^3.0.4
+ once: ^1.3.0
+ path-is-absolute: ^1.0.0
+ checksum: eeb466da847c75811d6ba5ceb0e1fd857dbecfdef647eba8e71c4047b1882bf2d9b4def072382fa328283b3afb802de64ab240e9a169c1fede3aec53906520bc
+ languageName: node
+ linkType: hard
+
+"glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.1.4":
+ version: 7.1.6
+ resolution: "glob@npm:7.1.6"
+ dependencies:
+ fs.realpath: ^1.0.0
+ inflight: ^1.0.4
+ inherits: 2
+ minimatch: ^3.0.4
+ once: ^1.3.0
+ path-is-absolute: ^1.0.0
+ checksum: 789977b52432865bd63846da5c75a6efc2c56abdc0cb5ffcdb8e91eeb67a58fa5594c1195d18b2b4aff99675b0739ed6bd61024b26562e0cca18c8f993efdc82
+ languageName: node
+ linkType: hard
+
+"global-dirs@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "global-dirs@npm:2.0.1"
+ dependencies:
+ ini: ^1.3.5
+ checksum: 8dfdc04e846b748b6e1278e0db1827e968ae585468f5d1847fc5223a69a3d7920107dae0c569431f60bc490104b0b66f072a14728aec6dd6987134d362cb63cb
+ languageName: node
+ linkType: hard
+
+"globals@npm:^12.1.0":
+ version: 12.3.0
+ resolution: "globals@npm:12.3.0"
+ dependencies:
+ type-fest: ^0.8.1
+ checksum: 9df75e1f0ef801281023a7932d1b12e1a71217dbe9d789f342b41ba9fa70181c85b496ef897577223c7e271a964d092cade1b9058e7a49be6aab0fdc9713a090
+ languageName: node
+ linkType: hard
+
+"globby@npm:^11.0.1":
+ version: 11.0.1
+ resolution: "globby@npm:11.0.1"
+ dependencies:
+ array-union: ^2.1.0
+ dir-glob: ^3.0.1
+ fast-glob: ^3.1.1
+ ignore: ^5.1.4
+ merge2: ^1.3.0
+ slash: ^3.0.0
+ checksum: e7239e9e468c3692aec31dc97b5efc13dd21edf38820baeda98118ade39f475c4ff9e7610859eb4a3c75277ca2616e371265fec3c626aba5db4335bc41c59ac7
+ languageName: node
+ linkType: hard
+
+"got@npm:^11.8.0":
+ version: 11.8.0
+ resolution: "got@npm:11.8.0"
+ dependencies:
+ "@sindresorhus/is": ^4.0.0
+ "@szmarczak/http-timer": ^4.0.5
+ "@types/cacheable-request": ^6.0.1
+ "@types/responselike": ^1.0.0
+ cacheable-lookup: ^5.0.3
+ cacheable-request: ^7.0.1
+ decompress-response: ^6.0.0
+ http2-wrapper: ^1.0.0-beta.5.2
+ lowercase-keys: ^2.0.0
+ p-cancelable: ^2.0.0
+ responselike: ^2.0.0
+ checksum: 9ad3dddd7292e34484b314eabfcb140074e70b14e0d501fce6afd341715c2300838d5382392562ce7764c1ac46506d1b835db4f5988053211d5506d5b9a4b849
+ languageName: node
+ linkType: hard
+
+"got@npm:^9.6.0":
+ version: 9.6.0
+ resolution: "got@npm:9.6.0"
+ dependencies:
+ "@sindresorhus/is": ^0.14.0
+ "@szmarczak/http-timer": ^1.1.2
+ cacheable-request: ^6.0.0
+ decompress-response: ^3.3.0
+ duplexer3: ^0.1.4
+ get-stream: ^4.1.0
+ lowercase-keys: ^1.0.1
+ mimic-response: ^1.0.1
+ p-cancelable: ^1.0.0
+ to-readable-stream: ^1.0.0
+ url-parse-lax: ^3.0.0
+ checksum: 4cfb862eb7e2d023f486efbd9ad5ab199ea44f957dc72be9518bf54d832ad4281ef3b63eac4d861b189690c3b7674eef3e1cb4f41285a83fa43293431ab879bd
+ languageName: node
+ linkType: hard
+
+"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.3":
+ version: 4.2.3
+ resolution: "graceful-fs@npm:4.2.3"
+ checksum: 67b7e3f6a687c91287f17a2adfcce462406e2aa16ea4440618e1daaecd579ae6362c0b13303f86c77c165ed8074fa8b0868bb0a73173fa3407c2b747e89353f9
+ languageName: node
+ linkType: hard
+
+"har-schema@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "har-schema@npm:2.0.0"
+ checksum: e27ac33a968b8a3b2cc32e53afaec8aa795d08b058ef9b09b3bbce74db7ecadcabf60a6186e3bb901335d2c72bbf9e2af59429d736b5e80dc0edf18b3e1c5860
+ languageName: node
+ linkType: hard
+
+"har-validator@npm:~5.1.3":
+ version: 5.1.3
+ resolution: "har-validator@npm:5.1.3"
+ dependencies:
+ ajv: ^6.5.5
+ har-schema: ^2.0.0
+ checksum: 64cb2294c1eceba077280e31d7059e54a99aca442ade03b7e14af3d715f7f1c01c6e1a6df21252b0aff9bea7b06fc10539bb99ebe1acf46321e97f197bbb932b
+ languageName: node
+ linkType: hard
+
+"has-flag@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "has-flag@npm:3.0.0"
+ checksum: 63aade480d27aeedb3b5b63a2e069d47d0006bf182338d662e7941cdc024e68a28418e0efa8dc5df30db9c4ee2407f39e6ea3f16cfbc6b83848b450826a28aa0
+ languageName: node
+ linkType: hard
+
+"has-flag@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "has-flag@npm:4.0.0"
+ checksum: 2e5391139d3d287231ccb58659702392f6e3abeac3296fb4721afaff46493f3d9b99a9329ae015dfe973aa206ed5c75f43e86aec0267dce79aa5c2b6e811b3ad
+ languageName: node
+ linkType: hard
+
+"has-unicode@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "has-unicode@npm:2.0.1"
+ checksum: ed3719f95cbd7dada9e3fde6fad113eae6d317bc8e818a2350954914c098ca6eddb203261af2c291c49a14c52f83610becbc7ab8d569bee81261b9c260a435f2
+ languageName: node
+ linkType: hard
+
+"has-yarn@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "has-yarn@npm:2.1.0"
+ checksum: 105682f263a3437972c75594cdda237ce8454f67cae37a36a507701f300dade0460231dabbe873a7df035b7c0a0b3a686c9fcd1eebb29c73ca35753ecae6fb7d
+ languageName: node
+ linkType: hard
+
+"hasha@npm:^5.2.2":
+ version: 5.2.2
+ resolution: "hasha@npm:5.2.2"
+ dependencies:
+ is-stream: ^2.0.0
+ type-fest: ^0.8.0
+ checksum: 50adf6a312f802a3fac6858eb5835b0465931c46608e0719178033008153c4aef85cb682d82df6c02f069024bd588d918fd8cea30ca0584a8fbe7914b36962af
+ languageName: node
+ linkType: hard
+
+"html-entities@npm:^1.3.1":
+ version: 1.3.1
+ resolution: "html-entities@npm:1.3.1"
+ checksum: 53d37e5161230ad7f2c16dd2b54945069d84b5167113eac55e39a8fffed357378afc022d5dc66045b132ea46232cab41aee86e79dd5cd0618e0b78776b9085b5
+ languageName: node
+ linkType: hard
+
+"http-cache-semantics@npm:^4.0.0":
+ version: 4.1.0
+ resolution: "http-cache-semantics@npm:4.1.0"
+ checksum: 451df9784af2acbe0cc1fd70291285c08ca4a8966ab5ee4d3975e003d1ad4d74c81473086d628f31296b31221966fda8bc5ea1e29dd8f1f33f9fc2b0fdca65ca
+ languageName: node
+ linkType: hard
+
+"http-signature@npm:~1.2.0":
+ version: 1.2.0
+ resolution: "http-signature@npm:1.2.0"
+ dependencies:
+ assert-plus: ^1.0.0
+ jsprim: ^1.2.2
+ sshpk: ^1.7.0
+ checksum: d28227eed37cb0dae0e76c46b2a5e611c678808433e5642238f17dba7f2c9c8f8d1646122d57ec1a110ecc7e8b9f5b7aa0462f1e2a5fa3b41f2fca5a69af7edf
+ languageName: node
+ linkType: hard
+
+"http2-wrapper@npm:^1.0.0-beta.5.2":
+ version: 1.0.0-beta.5.2
+ resolution: "http2-wrapper@npm:1.0.0-beta.5.2"
+ dependencies:
+ quick-lru: ^5.1.1
+ resolve-alpn: ^1.0.0
+ checksum: 74db457c83d2cef5ea36e6a0a013a0a12b3fff575c4cabfc91c012b7335463d09ed3dba2d7e87babab4396a170df466730b1c13d92f99bbdd82b7aec99387683
+ languageName: node
+ linkType: hard
+
+"husky@npm:^4.3.0":
+ version: 4.3.0
+ resolution: "husky@npm:4.3.0"
+ dependencies:
+ chalk: ^4.0.0
+ ci-info: ^2.0.0
+ compare-versions: ^3.6.0
+ cosmiconfig: ^7.0.0
+ find-versions: ^3.2.0
+ opencollective-postinstall: ^2.0.2
+ pkg-dir: ^4.2.0
+ please-upgrade-node: ^3.2.0
+ slash: ^3.0.0
+ which-pm-runs: ^1.0.0
+ bin:
+ husky-run: bin/run.js
+ husky-upgrade: lib/upgrader/bin.js
+ checksum: c212d9732de84cbd7c25d907b874f7844503f85e28c0512518cddbac9854c54f1c569e81c5b70387f1e3c27d35c2b43256c811cf06fdad066565c5fc178f33f7
+ languageName: node
+ linkType: hard
+
+"iconv-lite@npm:^0.4.4":
+ version: 0.4.24
+ resolution: "iconv-lite@npm:0.4.24"
+ dependencies:
+ safer-buffer: ">= 2.1.2 < 3"
+ checksum: a9b9521066ee81853a8561e92bd7240bc5d3b7d5ef7da807a475e7858b0246e318b6af518c30a20a8749ef5eafeaa9631079446e4e696c7b60f468b34dc2cbfc
+ languageName: node
+ linkType: hard
+
+"ignore-by-default@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "ignore-by-default@npm:1.0.1"
+ checksum: c5c70afd7cfa3fb6bb14455e0154d76cda22c54438147f55f85a1012d211e120965686f277e9777a05a91fa77cbaf67d018f8a93d8cba67775e8579ac7856c93
+ languageName: node
+ linkType: hard
+
+"ignore-walk@npm:^3.0.1":
+ version: 3.0.3
+ resolution: "ignore-walk@npm:3.0.3"
+ dependencies:
+ minimatch: ^3.0.4
+ checksum: 08394ce8c47dc086d44ef65a1e1d30352ff3d6605bdec90f59e985b710cc660aafa7975cb30312891d21d826d10b3a8b3210c5d68251678e2dcd366362865170
+ languageName: node
+ linkType: hard
+
+"ignore@npm:^4.0.6":
+ version: 4.0.6
+ resolution: "ignore@npm:4.0.6"
+ checksum: 8f7b7f7c261d110604aed4340771933b0a42ffd2075e87bf8b4229ceb679659c5384c99e25c059f53a2b0e16cebaa4c49f7e837d1f374d1abf91fea46ccddd1a
+ languageName: node
+ linkType: hard
+
+"ignore@npm:^5.1.4":
+ version: 5.1.8
+ resolution: "ignore@npm:5.1.8"
+ checksum: b08e3d5b5d94eca13475f29a5d47d221060e9cdd7e38d7647088e29d90130669a970fecbc4cdb41b8fa295c6673740c729d3dc05dadc381f593efb42282cbf9f
+ languageName: node
+ linkType: hard
+
+"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1":
+ version: 3.2.1
+ resolution: "import-fresh@npm:3.2.1"
+ dependencies:
+ parent-module: ^1.0.0
+ resolve-from: ^4.0.0
+ checksum: 5ace95063123e8c2e30cfe302421f3ef1598d4fff9763c1b6bbed0ab4e700a16e45078fbfc3f7a8a5c3680e01edf707bca25354dec90a268b9803074e46bc89c
+ languageName: node
+ linkType: hard
+
+"import-lazy@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "import-lazy@npm:2.1.0"
+ checksum: 4907a2ddbe39df77b28cbb3e0a41d675f56990b935cd579df7ccd143501f5496382cfbf8d53f359a41660d4a8963bec22a5d68e12d8fae9c828bf59664114963
+ languageName: node
+ linkType: hard
+
+"imurmurhash@npm:^0.1.4":
+ version: 0.1.4
+ resolution: "imurmurhash@npm:0.1.4"
+ checksum: 34d414d789286f6ef4d2b954c76c7df40dd7cabffef9b9959c8bd148677e98151f4fa5344aae2e3ad2b62308555ccbba3022e535a3e24288c9babb1308e35532
+ languageName: node
+ linkType: hard
+
+"inflection@npm:1.12.0":
+ version: 1.12.0
+ resolution: "inflection@npm:1.12.0"
+ checksum: b08d8b92fcc3a3860995a00605f56eac3964829ca6061fd7b0a1c06f888536c734b685f620fff6b694a8c9ed3e3b7a40fc79c3c6f2cc31bf58dee7eb8244c955
+ languageName: node
+ linkType: hard
+
+"inflight@npm:^1.0.4":
+ version: 1.0.6
+ resolution: "inflight@npm:1.0.6"
+ dependencies:
+ once: ^1.3.0
+ wrappy: 1
+ checksum: 17c53fc42cbe7f7f471d2bc41b97a0cde4b79a74d5ff59997d3f75210566fa278e17596da526d43de2bd07e222706240ce50e60097e54f2cde2e64cbbb372638
+ languageName: node
+ linkType: hard
+
+"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:~2.0.0, inherits@npm:~2.0.3":
+ version: 2.0.4
+ resolution: "inherits@npm:2.0.4"
+ checksum: 98426da247ddfc3dcd7d7daedd90c3ca32d5b08deca08949726f12d49232aef94772a07b36cf4ff833e105ae2ef931777f6de4a6dd8245a216b9299ad4a50bea
+ languageName: node
+ linkType: hard
+
+"ini@npm:^1.3.5, ini@npm:~1.3.0":
+ version: 1.3.5
+ resolution: "ini@npm:1.3.5"
+ checksum: 304a78d1e0ec49c6dc316b6a21bee5340ba85159c6581235b26a4cf27e2bac5f66f2c8f0e074ceaf3c48085f89fb974691cbf812df2128d2d74c5ef726d1b19a
+ languageName: node
+ linkType: hard
+
+"inversify@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "inversify@npm:5.0.1"
+ checksum: f06e76e4dd149b910f1b32822b63e44c407c5314994ad878cf5020768f13d69d9c4d17a2e70c368b4d8ee2ef5aba8816eed953b0d3152e4a26fd795dd285e25e
+ languageName: node
+ linkType: hard
+
+"is-arrayish@npm:^0.2.1":
+ version: 0.2.1
+ resolution: "is-arrayish@npm:0.2.1"
+ checksum: fc2bbe14dbcb27b490e63b7fbf0e3b0aae843e5e1fa96d79450bb9617797615a575c78c454ffc8e027c3ad50d63d83e85a7387784979dcd46686d2eb5f412db0
+ languageName: node
+ linkType: hard
+
+"is-binary-path@npm:~2.1.0":
+ version: 2.1.0
+ resolution: "is-binary-path@npm:2.1.0"
+ dependencies:
+ binary-extensions: ^2.0.0
+ checksum: 49a1446a3cf3719e91a061f0e52add18fd065325c652c277519a2ad333440dc8b449076a893277a46940ef16f05a908716667ca8f986b28c677b9acb11e10a36
+ languageName: node
+ linkType: hard
+
+"is-bluebird@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "is-bluebird@npm:1.0.2"
+ checksum: 88981b25d84294916cdfb2e5ea081a21ffbc9a9e325f38d3330991413306c638e4813fe2a336fa98e37d9a0b2b3ba59179034306af072a4459b2102d62538cf4
+ languageName: node
+ linkType: hard
+
+"is-ci@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "is-ci@npm:2.0.0"
+ dependencies:
+ ci-info: ^2.0.0
+ bin:
+ is-ci: bin.js
+ checksum: 09083018edafd63221ff0506356f13c0aaf4b75a6435ea648bc67d07ddab199b2d5b9297de43d0821df1a14c18cd9f1edd1775a0166abfe37390843e79137213
+ languageName: node
+ linkType: hard
+
+"is-extglob@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "is-extglob@npm:2.1.1"
+ checksum: ca623e2c56c893714a237aff645ec7caa8fea4d78868682af8d6803d7f0780323f8d566311e0dc6f942c886e81cbfa517597e48fcada7f3bf78a4d099eeecdd3
+ languageName: node
+ linkType: hard
+
+"is-fullwidth-code-point@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "is-fullwidth-code-point@npm:1.0.0"
+ dependencies:
+ number-is-nan: ^1.0.0
+ checksum: fc3d51ef082eaf0c0d44e94b74cf43b97446e008b147b08186daea8bd5ff402596f04b5fe4fa4c0457470beab5c2de8339c49c96b5be65fe9fdf88f60a0001e8
+ languageName: node
+ linkType: hard
+
+"is-fullwidth-code-point@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "is-fullwidth-code-point@npm:2.0.0"
+ checksum: e1e5284f848ab6885665967cd768292a75022304d4401e78937a68f423047c29bfe87a43a9cdb67a3210fff7bcd5da51469122a0eff59b03261c379e58dbe921
+ languageName: node
+ linkType: hard
+
+"is-fullwidth-code-point@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "is-fullwidth-code-point@npm:3.0.0"
+ checksum: a01a19ecac34386ae3a4e801c5639d6e31082d1ddc418e7cd96317fef3c8b24ec8531558e9d3d35b33551ab9c5cf20bf2cdefa583927b7ff60c27c8d7c216063
+ languageName: node
+ linkType: hard
+
+"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:~4.0.1":
+ version: 4.0.1
+ resolution: "is-glob@npm:4.0.1"
+ dependencies:
+ is-extglob: ^2.1.1
+ checksum: 98cd4f715f0fb81da34aa6c8be4a5ef02d8cfac3ebc885153012abc2a0410df5a572f9d0393134fcba9192c7a845da96142c5f74a3c02787efe178ed798615e6
+ languageName: node
+ linkType: hard
+
+"is-installed-globally@npm:^0.3.1":
+ version: 0.3.2
+ resolution: "is-installed-globally@npm:0.3.2"
+ dependencies:
+ global-dirs: ^2.0.1
+ is-path-inside: ^3.0.1
+ checksum: 10fc4fb09fe86c0ed5fa21e821607c6e1ca258386787b1aaad3afbe59470d0c3b50b076cbc996173b9b4c0de7d6a8b741aabf9229ab09d6c37ff663e51631529
+ languageName: node
+ linkType: hard
+
+"is-npm@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "is-npm@npm:4.0.0"
+ checksum: 94ab2edae37293ceba039729ba1de851448059979138f72d7184a89a484bf70fbefc462268fecf59865e54ce972c15164229acc73bd56c025a7afc7dd0702c40
+ languageName: node
+ linkType: hard
+
+"is-number@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "is-number@npm:7.0.0"
+ checksum: eec6e506c6de472af4bdfd0cc477e8aeb76f0a7066c8680fcdfed5324ee31a7d2b59d22313007c58aa80eb937f0c40eefdceedb851997d46b490b49f87160369
+ languageName: node
+ linkType: hard
+
+"is-obj@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "is-obj@npm:2.0.0"
+ checksum: ffa67ed5df66e37757876cd976380737a0430551789a0457b8c031eaedef8f5c6bc4ab6d903e529efb777545f8718ab73d9badde61c8b08720a3747ccff0b2a0
+ languageName: node
+ linkType: hard
+
+"is-path-inside@npm:^3.0.1":
+ version: 3.0.2
+ resolution: "is-path-inside@npm:3.0.2"
+ checksum: 709ba85a713d25fb058a4c2f62e9e7160bcc1a3e48af2f201045cde027fc1efe61a6e1b5c1cf21b8329f764e3649e160976fde14317c1b848caa9c1f31d5beec
+ languageName: node
+ linkType: hard
+
+"is-stream@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "is-stream@npm:2.0.0"
+ checksum: f92ba04a8b8fafbade79bdaada53a044025db2fbd3fc2be978434db9a097a4afa457c2e3222c70c2ffc38854bde3a352593d6315463a54394f08ca9e51e32b50
+ languageName: node
+ linkType: hard
+
+"is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0":
+ version: 1.0.0
+ resolution: "is-typedarray@npm:1.0.0"
+ checksum: 4e21156e7360a5916eded35c5938adf6278299a8055640864eebb251e4351cd605beccddf9af27477e19f753d453412fe0c21379bb54b55cfdf5add263076959
+ languageName: node
+ linkType: hard
+
+"is-yarn-global@npm:^0.3.0":
+ version: 0.3.0
+ resolution: "is-yarn-global@npm:0.3.0"
+ checksum: 5a66f706f24e76979ce252a8f5ff4bb680da3c3eb978a2930f0147fecaa583eefb4ee1765bcfb85c0b4e83f67a231355e158a89b0047e83649f8f11a93563ef9
+ languageName: node
+ linkType: hard
+
+"isarray@npm:~1.0.0":
+ version: 1.0.0
+ resolution: "isarray@npm:1.0.0"
+ checksum: b0ff31a290e783f7b3fb73f2951ee7fc2946dc197b05f73577dc77f87dc3be2e0f66007bedf069123d4e5c4b691e7c89a241f6ca06f0c0f4765cdac5aa4b4047
+ languageName: node
+ linkType: hard
+
+"isexe@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "isexe@npm:2.0.0"
+ checksum: 7b437980bb77881a146fba85cfbdf01edc2b148673e9c2722a1e49661fea73adf524430a80fdbfb8ce9f60d43224e682c657c45030482bd39e0c488fc29b4afe
+ languageName: node
+ linkType: hard
+
+"iso8601-duration@npm:^1.2.0":
+ version: 1.2.0
+ resolution: "iso8601-duration@npm:1.2.0"
+ checksum: dc83921492208ab0f70ab078cdedf0ce8986dc08c5f32bdb40d2b7a1df95f86ed56275d84e7b941a656a73ec1a135b255049acfc4a94ce40fb1c26164d078211
+ languageName: node
+ linkType: hard
+
+"isstream@npm:~0.1.2":
+ version: 0.1.2
+ resolution: "isstream@npm:0.1.2"
+ checksum: 8e6e5c4cf1823562db7035d2e7bac388412060fe9bc6727eca8c608def5aa57709165c51c2e68a2fce6ff0b64d79489501b84715060c5e8a477b87b6cbcd1eca
+ languageName: node
+ linkType: hard
+
+"js-tokens@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "js-tokens@npm:4.0.0"
+ checksum: 1fc4e4667ac2d972aba65148b9cbf9c17566b2394d3504238d8492bbd3e68f496c657eab06b26b40b17db5cac0a34d153a12130e2d2d2bb6dc2cdc8a4764eb1b
+ languageName: node
+ linkType: hard
+
+"js-yaml@npm:^3.13.1":
+ version: 3.13.1
+ resolution: "js-yaml@npm:3.13.1"
+ dependencies:
+ argparse: ^1.0.7
+ esprima: ^4.0.0
+ bin:
+ js-yaml: bin/js-yaml.js
+ checksum: 277157fdf235757b71cfbf24f6bef57576a26d9b4cf89b63d89c9044da7b0f9d16c3629c8b5fd549ae343523727a0df1598794e9a4429763cee4e17056ff8523
+ languageName: node
+ linkType: hard
+
+"jsbn@npm:~0.1.0":
+ version: 0.1.1
+ resolution: "jsbn@npm:0.1.1"
+ checksum: b530d48a64e6aff9523407856a54c5b9beee30f34a410612057f4fa097d90072fc8403c49604dacf0c3e7620dca43c2b7f0de3f954af611e43716a254c46f6f5
+ languageName: node
+ linkType: hard
+
+"json-buffer@npm:3.0.0":
+ version: 3.0.0
+ resolution: "json-buffer@npm:3.0.0"
+ checksum: 09b53ecc8ffbb1252d9ef07f37ad616eb0769325d749c87555df786dc70e9855d4ad208255bbf232c86069504756277a7efb6725a31f6e6c4ef39a7b072e75f2
+ languageName: node
+ linkType: hard
+
+"json-buffer@npm:3.0.1":
+ version: 3.0.1
+ resolution: "json-buffer@npm:3.0.1"
+ checksum: 78011309cb53c19195702ece9e282c8c58d7facd8d6e286857fd4daf511f0bd93424498898d0b9ecfde6ab8e87a2ab0c0a654fba4b1a4ec81fa51f2c48a5ddba
+ languageName: node
+ linkType: hard
+
+"json-parse-better-errors@npm:^1.0.1":
+ version: 1.0.2
+ resolution: "json-parse-better-errors@npm:1.0.2"
+ checksum: b4c4f0e43b43892af887db742b26f9aa6302b09cd5f6e655ead49fca9f47f3cdd300dcf98cf5218778262be51d7b29859221206fc98b87a1a61c5af7618dae89
+ languageName: node
+ linkType: hard
+
+"json-schema-traverse@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "json-schema-traverse@npm:0.4.1"
+ checksum: 6f71bddba38aa043cf9c05ff9cf37158a6657909f1dd37032ba164b76923da47a17bb4592ee4f7f9c029dfaf26965b821ac214c1f991bb3bd038c9cfea2da50b
+ languageName: node
+ linkType: hard
+
+"json-schema@npm:0.2.3":
+ version: 0.2.3
+ resolution: "json-schema@npm:0.2.3"
+ checksum: d382ea841f0af5cf6ae3b63043c6ddbd144086de52342b5dd32d8966872dce1e0ed280f6b27c5fba97e50cf8640f27b593e039cb95df365718ada03ef0feb9f2
+ languageName: node
+ linkType: hard
+
+"json-stable-stringify-without-jsonify@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "json-stable-stringify-without-jsonify@npm:1.0.1"
+ checksum: a01b6c65413b2d0dd6797004ace6166bb6f8a0a2a77c742966021c74233cebe48de3c33223f003a9e8e4a241bb882fe92141e538e7e1dad58afd32649444e269
+ languageName: node
+ linkType: hard
+
+"json-stringify-safe@npm:~5.0.1":
+ version: 5.0.1
+ resolution: "json-stringify-safe@npm:5.0.1"
+ checksum: 261dfb8eb3e72c8b0dda11fd7c20c151ffc1d1b03e529245d51708c8dd8d8c6a225880464adf41a570dff6e5c805fd9d1f47fed948cfb526e4fbe5a67ce4e5f4
+ languageName: node
+ linkType: hard
+
+"jsprim@npm:^1.2.2":
+ version: 1.4.1
+ resolution: "jsprim@npm:1.4.1"
+ dependencies:
+ assert-plus: 1.0.0
+ extsprintf: 1.3.0
+ json-schema: 0.2.3
+ verror: 1.10.0
+ checksum: ee0177b7ef39e6becf18c586d31fabe15d62be88e7867d3aff86466e4a3de9a2cd47b6e597417aebc1cd3c2d43bc662e79ab5eecdadf3ce0643e909432ed6d2c
+ languageName: node
+ linkType: hard
+
+"keyv@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "keyv@npm:3.1.0"
+ dependencies:
+ json-buffer: 3.0.0
+ checksum: 6bf032ee504f27e00ae3a366c7e0ca5d93b8f947672871568f2a1456bf56d1bc4e55555158a45188d14483c4c38d0fa1dc7f0585b0d6c640f8e79abc9b4d3162
+ languageName: node
+ linkType: hard
+
+"keyv@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "keyv@npm:4.0.0"
+ dependencies:
+ json-buffer: 3.0.1
+ checksum: cd446a9a979601da7a70d96b5df0b912851390c4ebc6bd1663c3b340accae425c7d759d87394331293dd0666b300a25bd065c41b2c3ac923ef7f980faf0c7d31
+ languageName: node
+ linkType: hard
+
+"latest-version@npm:^5.0.0":
+ version: 5.1.0
+ resolution: "latest-version@npm:5.1.0"
+ dependencies:
+ package-json: ^6.3.0
+ checksum: 63c1f224358d094a75782cc48a5b3eeaf70a70c0e18f8b814480e50ed0ecedb4bc5f2c9cc44c7983fbf31e865f0376526bf9a563c304f3261971f38d8f51c5c6
+ languageName: node
+ linkType: hard
+
+"levn@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "levn@npm:0.4.1"
+ dependencies:
+ prelude-ls: ^1.2.1
+ type-check: ~0.4.0
+ checksum: 2f6ddfb0b956f2cb6b1608253a62b0c30e7392dd3c7b4cf284dfe2889b44d8385eaa81597646e253752c312a960ccb5e4d596968e476d5f6614f4ca60e5218e9
+ languageName: node
+ linkType: hard
+
+"lines-and-columns@npm:^1.1.6":
+ version: 1.1.6
+ resolution: "lines-and-columns@npm:1.1.6"
+ checksum: 798b80ed7ae3fba34d43fe29591ccb4f16f6fca1da4e1f9922b92264b91d931012433c248daf8e44caa74feb40c0eaa0f27a14f8ee68b6ffb425f3c3f785af27
+ languageName: node
+ linkType: hard
+
+"locate-path@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "locate-path@npm:5.0.0"
+ dependencies:
+ p-locate: ^4.1.0
+ checksum: c58f49d45c8672d0a290dea0ce41fcb27205b3f2d61452ba335ef3b42ad36c10c31b1f061b46d96dd4b81e9a00e8a2897bc124d75623b80a9f6d36b1e754a6b5
+ languageName: node
+ linkType: hard
+
+"lodash.toarray@npm:^4.4.0":
+ version: 4.4.0
+ resolution: "lodash.toarray@npm:4.4.0"
+ checksum: f2b8de1812789321335dd5f4cb60625c4b8874cb3b300367d8a22990072459b76eb893feacd243686493393cccd035115cc149563f7aa5123d06d9a3b2825bf1
+ languageName: node
+ linkType: hard
+
+"lodash@npm:^4.17.14, lodash@npm:^4.17.15":
+ version: 4.17.15
+ resolution: "lodash@npm:4.17.15"
+ checksum: aec3fbb7570aa67bda500b8299b1b1821d60646bede87f76a74dfcc7666ab3445267d734ec71424d70809d52ad67a1356fab5ab694a3faa1908d68e9d48f00f5
+ languageName: node
+ linkType: hard
+
+"lodash@npm:^4.17.19":
+ version: 4.17.20
+ resolution: "lodash@npm:4.17.20"
+ checksum: c62101d2500c383b5f174a7e9e6fe8098149ddd6e9ccfa85f36d4789446195f5c4afd3cfba433026bcaf3da271256566b04a2bf2618e5a39f6e67f8c12030cb6
+ languageName: node
+ linkType: hard
+
+"lowercase-keys@npm:^1.0.0, lowercase-keys@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "lowercase-keys@npm:1.0.1"
+ checksum: ac9d79c47dd9f831cebb2cbe930e72f7c03b27ab07c5bb9072ee0b4a853ce26d6648403b9eb371b3d400af3790da9ce65cf7207af887f8c134d53dce81559107
+ languageName: node
+ linkType: hard
+
+"lowercase-keys@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "lowercase-keys@npm:2.0.0"
+ checksum: 4da67f41865a25360bb05749a66a83c60987c7efa0b8ec443941a19978c21ba916ae9fedca25b96fc652026c4264a437d3fec099d1949716b5483eec42395ec9
+ languageName: node
+ linkType: hard
+
+"m3u8stream@npm:^0.7.1":
+ version: 0.7.1
+ resolution: "m3u8stream@npm:0.7.1"
+ dependencies:
+ miniget: ^1.6.1
+ sax: ^1.2.4
+ checksum: 97b8b9a004ee40f9825ddb3d6cc78b33b47fd4caf9489d7623631f65e8f2f90790360db34a3674be08df43890048d0d8cd31530b3b8030cb1f254083bcba4c52
+ languageName: node
+ linkType: hard
+
+"make-dir@npm:^3.0.0, make-dir@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "make-dir@npm:3.1.0"
+ dependencies:
+ semver: ^6.0.0
+ checksum: 54b6f186c209c1b133d0d1710e6b04c41ebfcb0dac699e5a369ea1223f22c0574ef820b91db37cae6c245f5bda8aff9bfec94f6c23e7d75970446b34a58a79b0
+ languageName: node
+ linkType: hard
+
+"make-error@npm:^1.1.1":
+ version: 1.3.6
+ resolution: "make-error@npm:1.3.6"
+ checksum: 2c780bab8409b865e8ee86697c599a2bf2765ec64d21eb67ccda27050e039f983feacad05a0d43aba3c966ea03d305d2612e94fec45474bcbc61181f57c5bb88
+ languageName: node
+ linkType: hard
+
+"merge2@npm:^1.3.0":
+ version: 1.4.1
+ resolution: "merge2@npm:1.4.1"
+ checksum: 7ad40d8b140a5ed4e621b916858410e4f0dd4ced1e5a2b675563347e70f0661d95ba6c3c8007dd3c4e242d0b8eee44559fa75bb90a146cf168debffc0cbc18f3
+ languageName: node
+ linkType: hard
+
+"methods@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "methods@npm:1.1.2"
+ checksum: 450e4ea0fd4a0f3de8c0593d753c7d6c8f2ee49766f5ef35c68cc2ac41699d5e295b7d6330fc2b7271b8569a07857e3eb0b5df0599a353c5808265b4b5066168
+ languageName: node
+ linkType: hard
+
+"micromatch@npm:^4.0.2":
+ version: 4.0.2
+ resolution: "micromatch@npm:4.0.2"
+ dependencies:
+ braces: ^3.0.1
+ picomatch: ^2.0.5
+ checksum: 0cb0e11d647cbb65e398a0a8a1340a7fb751ae2722346219c435704cfac8b3275a94a6464236fe867f52ad46a24046d3bc4ac11b3d21ddb73bc44e27cf1e4904
+ languageName: node
+ linkType: hard
+
+"mime-db@npm:1.43.0":
+ version: 1.43.0
+ resolution: "mime-db@npm:1.43.0"
+ checksum: 756d8ac9ea62e3f4bcecb7513208ccd213f96930dbaa7e6ebc83f3517f5efa2eeec6923c28e6409049eb29d54668ff3e80e9c3605a1270498d6e52fde0fd3bc2
+ languageName: node
+ linkType: hard
+
+"mime-types@npm:^2.1.12, mime-types@npm:~2.1.19":
+ version: 2.1.26
+ resolution: "mime-types@npm:2.1.26"
+ dependencies:
+ mime-db: 1.43.0
+ checksum: 6ab045d65e6123857be28a58dc446fd038ae7697aba9b5135b581cfb5ed8b01908d2c2dcfe16085ecbb57ba6c42b5e598732171f1c22034c20cd04c371003ada
+ languageName: node
+ linkType: hard
+
+"mime@npm:^2.4.6":
+ version: 2.4.6
+ resolution: "mime@npm:2.4.6"
+ bin:
+ mime: cli.js
+ checksum: 319ec3858894aa9befa9da90e33c4422506689f1e3e7c939095df68abe848050a51070c78a31061769d9192051a8c9f33d14d6771dc0f2ff309fe846898e0807
+ languageName: node
+ linkType: hard
+
+"mimic-response@npm:^1.0.0, mimic-response@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "mimic-response@npm:1.0.1"
+ checksum: 64b43c717ed8710bc920576e96d38d0e504e9eec3114af8e00c9e3d7ae53cd459ee38febb0badc83e3a4e6d21cd571db43e9011f8cf014809989c87a1a9f0ea4
+ languageName: node
+ linkType: hard
+
+"mimic-response@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "mimic-response@npm:3.1.0"
+ checksum: cfbf19f66de6ad46df7481d9e8c1a7f30b6fa77dd771ad4a72a0443265041a39768182bde6d1de39001c2774168635bc74f42902e401c8ba33db55d69b773004
+ languageName: node
+ linkType: hard
+
+"miniget@npm:^1.6.1":
+ version: 1.7.0
+ resolution: "miniget@npm:1.7.0"
+ checksum: 44d587d1b30313e97db27358498ae7640317213ac1495b20f91d1bc5409c21bafe92c666e724acf0ed06b2e8679157a2e4adf70f6128df609ca6b9801c2646b2
+ languageName: node
+ linkType: hard
+
+"miniget@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "miniget@npm:2.0.1"
+ checksum: d515ae5fcc5c249409215073aeb2b72452247766eb5530c73de2d242847c7eb9edb7456355801b6237afad8c95d81cf15d47947eb09945f7e4dbc51633ea6c9b
+ languageName: node
+ linkType: hard
+
+"minimatch@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "minimatch@npm:3.0.4"
+ dependencies:
+ brace-expansion: ^1.1.7
+ checksum: 47eab9263962cacd5733e274ecad2d8e54b0f8e124ba35ae69189e296058f634a4967b87a98954f86fa5c830ff177caf827ce0136d28717ed3232951fb4fae62
+ languageName: node
+ linkType: hard
+
+"minimist@npm:0.0.8":
+ version: 0.0.8
+ resolution: "minimist@npm:0.0.8"
+ checksum: d71c4684bce92f9c0500e103498adb5e45bbda551763132a703306c2dab6f3a1f69eb6448c3ff3ea73fb562285dfd6ee3a354d5c0e5dd52e3d5f3037c82c0935
+ languageName: node
+ linkType: hard
+
+"minimist@npm:^1.2.0":
+ version: 1.2.0
+ resolution: "minimist@npm:1.2.0"
+ checksum: 80a1a219c0243e870be65b9605e2711eb5ce08639ae4ea8d8bbf8997d4eafe8a6b2af856c3e19c33f51faf40025f23c7668c7b916bca6f72e1bc2cf9189526ff
+ languageName: node
+ linkType: hard
+
+"minimist@npm:^1.2.5":
+ version: 1.2.5
+ resolution: "minimist@npm:1.2.5"
+ checksum: b77b8590147a4e217ff34266236bc39de23b52e6e33054076991ff674c7397a1380a7bde11111916f16f003a94aaa7e4f3d92595a32189644ff607fabc65a5b6
+ languageName: node
+ linkType: hard
+
+"minipass@npm:^2.6.0, minipass@npm:^2.8.6, minipass@npm:^2.9.0":
+ version: 2.9.0
+ resolution: "minipass@npm:2.9.0"
+ dependencies:
+ safe-buffer: ^5.1.2
+ yallist: ^3.0.0
+ checksum: 57a49f9523fdc495625184f4ef5a101615d3ee0c06f0c37e2ed7140c12deeecbd404539bd605b985100836006409b11b627a3148941dcc4ade24f0f078557836
+ languageName: node
+ linkType: hard
+
+"minipass@npm:^3.0.0":
+ version: 3.1.3
+ resolution: "minipass@npm:3.1.3"
+ dependencies:
+ yallist: ^4.0.0
+ checksum: d12b95a845f15950bce7a77730c89400cf0c4f55e7066338da1d201ac148ece4ea8efa79e45a2c07c868c61bcaf9e996c4c3d6bf6b85c038ffa454521fc6ecd5
+ languageName: node
+ linkType: hard
+
+"minizlib@npm:^1.2.1":
+ version: 1.3.3
+ resolution: "minizlib@npm:1.3.3"
+ dependencies:
+ minipass: ^2.9.0
+ checksum: 8d12782dd943ea92bb3e8e5dc4fe21201b56e77e5f12723c29159cf01dd0d50330dd071897dec270b3861994fb07a982b2473e5c2f42bf5f4b180ab18bf81c06
+ languageName: node
+ linkType: hard
+
+"minizlib@npm:^2.1.1":
+ version: 2.1.2
+ resolution: "minizlib@npm:2.1.2"
+ dependencies:
+ minipass: ^3.0.0
+ yallist: ^4.0.0
+ checksum: 5a45b57b3467e5a743d87a96d7be57598a6f72eb3b7eeac237074c566bd04278766ae03bb523c32f34581c565a19e74e54ec90c6ce0630a540787c755b4c4b4e
+ languageName: node
+ linkType: hard
+
+"mkdirp@npm:>=0.5 0, mkdirp@npm:^0.5.5":
+ version: 0.5.5
+ resolution: "mkdirp@npm:0.5.5"
+ dependencies:
+ minimist: ^1.2.5
+ bin:
+ mkdirp: bin/cmd.js
+ checksum: 9dd9792e891927b14ca02226dbe1daeb717b9517a001620d5e2658bbc72c5e4f06887b6cbcbb60595fa5a56e701073cf250f1ed69c1988a6b89faf9fd6a4d049
+ languageName: node
+ linkType: hard
+
+"mkdirp@npm:^0.5.0, mkdirp@npm:^0.5.1":
+ version: 0.5.1
+ resolution: "mkdirp@npm:0.5.1"
+ dependencies:
+ minimist: 0.0.8
+ bin:
+ mkdirp: bin/cmd.js
+ checksum: 8ef65f4f0c7642b2f6e7af417eb9f3f24e8d1e4d612eddc5b1ee3b0ef974ccfaafb38bba6cc9178510c5aae82a6ef9ad85037448c9856b2fb8308162a7c8987e
+ languageName: node
+ linkType: hard
+
+"mkdirp@npm:^1.0.3":
+ version: 1.0.4
+ resolution: "mkdirp@npm:1.0.4"
+ bin:
+ mkdirp: bin/cmd.js
+ checksum: 1aa3a6a2d7514f094a91329ec09994f5d32d2955a4985ecbb3d86f2aaeafc4aa11521f98d606144c1d49cd9835004d9a73342709b8c692c92e59eacf37412468
+ languageName: node
+ linkType: hard
+
+"moment-timezone@npm:^0.5.21":
+ version: 0.5.28
+ resolution: "moment-timezone@npm:0.5.28"
+ dependencies:
+ moment: ">= 2.9.0"
+ checksum: 13f33e997556a89d082792b40a6ae2b8b3d02d1d55b152d1902a3da06453c690ed7c74cbedfa3aff602cbc66e3853736efbc793bf03eee7cd54a942da8f9a562
+ languageName: node
+ linkType: hard
+
+"moment@npm:>= 2.9.0, moment@npm:^2.24.0":
+ version: 2.24.0
+ resolution: "moment@npm:2.24.0"
+ checksum: 983617bc51c8121a88d9530671fb9e5dc2c71d67ba5bf1b16ebef25b51bd3d1291f17735ac33e8604f4984a275561dfe0fb883664eceacf8f67291ffd26acee9
+ languageName: node
+ linkType: hard
+
+"ms@npm:2.0.0":
+ version: 2.0.0
+ resolution: "ms@npm:2.0.0"
+ checksum: 1a230340cc7f322fbe916783d8c8d60455407c6b7fb7f901d6ee34eb272402302c5c7f070a97b8531245cbb4ca6a0a623f6a128d7e5a5440cefa2c669c0b35bb
+ languageName: node
+ linkType: hard
+
+"ms@npm:2.1.2, ms@npm:^2.1.1":
+ version: 2.1.2
+ resolution: "ms@npm:2.1.2"
+ checksum: 9b65fb709bc30c0c07289dcbdb61ca032acbb9ea5698b55fa62e2cebb04c5953f1876a1f3f7f4bc2e91d4bf4d86003f3e207c3bc6ee2f716f99827e62389cd0e
+ languageName: node
+ linkType: hard
+
+"muse@workspace:.":
+ version: 0.0.0-use.local
+ resolution: "muse@workspace:."
+ dependencies:
+ "@discordjs/opus": ^0.3.2
+ "@types/bluebird": ^3.5.32
+ "@types/debug": ^4.1.5
+ "@types/fluent-ffmpeg": ^2.1.16
+ "@types/fs-capacitor": ^2.0.0
+ "@types/node": ^14.14.2
+ "@types/node-emoji": ^1.8.1
+ "@types/spotify-web-api-node": ^4.0.1
+ "@types/validator": ^13.1.0
+ "@types/ws": ^7.2.7
+ "@typescript-eslint/eslint-plugin": ^4.5.0
+ "@typescript-eslint/parser": ^4.5.0
+ array-shuffle: ^1.0.1
+ debug: ^4.2.0
+ delay: ^4.4.0
+ discord.js: ^12.4.1
+ dotenv: ^8.2.0
+ eslint: ^7.12.0
+ eslint-config-xo: ^0.33.1
+ eslint-config-xo-typescript: ^0.35.0
+ fluent-ffmpeg: ^2.1.2
+ fs-capacitor: ^6.2.0
+ get-youtube-id: ^1.0.1
+ got: ^11.8.0
+ hasha: ^5.2.2
+ husky: ^4.3.0
+ inversify: ^5.0.1
+ iso8601-duration: ^1.2.0
+ make-dir: ^3.1.0
+ node-emoji: ^1.10.0
+ nodemon: ^2.0.6
+ p-limit: ^3.0.2
+ reflect-metadata: ^0.1.13
+ sequelize: ^5.21.11
+ sequelize-typescript: ^1.1.0
+ spotify-uri: ^2.1.0
+ spotify-web-api-node: ^5.0.0
+ sqlite3: ^5.0.0
+ ts-node: ^9.0.0
+ typescript: ^4.0.3
+ unique-random-array: ^2.0.0
+ youtube.ts: ^0.1.8
+ ytdl-core: ^3.4.2
+ ytsr: ^1.0.4
+ languageName: unknown
+ linkType: soft
+
+"natural-compare@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "natural-compare@npm:1.4.0"
+ checksum: 2daf93d9bb516eddb06e2e80657a605af2e494d47c65d090ba43691aaffbc41f520840f1c9d3b7b641977af950217a4ab6ffb85bafcd5dfa8ba6fe4e68c43b53
+ languageName: node
+ linkType: hard
+
+"needle@npm:^2.2.1":
+ version: 2.3.3
+ resolution: "needle@npm:2.3.3"
+ dependencies:
+ debug: ^3.2.6
+ iconv-lite: ^0.4.4
+ sax: ^1.2.4
+ bin:
+ needle: bin/needle
+ checksum: 4e547b507eeab8742132fe6d64e370f48dc12264fffc9e65ba2d4635f44632652937a63240623b872b0d29d8131b6d353095da52316c9eea371952e0b6dd3b8a
+ languageName: node
+ linkType: hard
+
+"needle@npm:^2.4.1":
+ version: 2.5.0
+ resolution: "needle@npm:2.5.0"
+ dependencies:
+ debug: ^3.2.6
+ iconv-lite: ^0.4.4
+ sax: ^1.2.4
+ bin:
+ needle: bin/needle
+ checksum: b50cef343e8f1037ddc727949d9e3243a9e175a2e935d5ac8f7f1434a47c6433c869c8accf270942196014a9f65ea1911a3d032455a380c9e27b66c74b7c6889
+ languageName: node
+ linkType: hard
+
+"node-addon-api@npm:2.0.0, node-addon-api@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "node-addon-api@npm:2.0.0"
+ dependencies:
+ node-gyp: latest
+ checksum: 115059b3adef7bb6813ed411289a300f93c81141689bf25f22c453c484a6b8d2d2fd2d2a070bdb749406c65e389f8ee264293f0531a196ecd82c6736e25ec879
+ languageName: node
+ linkType: hard
+
+"node-emoji@npm:^1.10.0":
+ version: 1.10.0
+ resolution: "node-emoji@npm:1.10.0"
+ dependencies:
+ lodash.toarray: ^4.4.0
+ checksum: 9c73cd0af03965131225c388339ec5cb3b7239f9d63f15c7755540d265b20a4ecac855fd270af216fb14cdf8232ec4687ab5a52b4b475a681ee1bd74f7562ced
+ languageName: node
+ linkType: hard
+
+"node-fetch@npm:^2.6.1":
+ version: 2.6.1
+ resolution: "node-fetch@npm:2.6.1"
+ checksum: cbb171635e538162b977eac5dfe7a1e07a9a02e991924377a6435502291e2f823d306b95aabc455caebf4a118ccf836868462bc70ccc3095af02bb9da61fda37
+ languageName: node
+ linkType: hard
+
+"node-gyp@npm:3.x":
+ version: 3.8.0
+ resolution: "node-gyp@npm:3.8.0"
+ dependencies:
+ fstream: ^1.0.0
+ glob: ^7.0.3
+ graceful-fs: ^4.1.2
+ mkdirp: ^0.5.0
+ nopt: 2 || 3
+ npmlog: 0 || 1 || 2 || 3 || 4
+ osenv: 0
+ request: ^2.87.0
+ rimraf: 2
+ semver: ~5.3.0
+ tar: ^2.0.0
+ which: 1
+ bin:
+ node-gyp: ./bin/node-gyp.js
+ checksum: bbea370ec5884427c5219f0e8392431c43d9f448b66aee340188d5fed2c86305dd51fdcf75678662f107cfd6baf6b4d10d53e3c62410002e4d3276045c956dbe
+ languageName: node
+ linkType: hard
+
+"node-gyp@npm:latest":
+ version: 7.1.2
+ resolution: "node-gyp@npm:7.1.2"
+ dependencies:
+ env-paths: ^2.2.0
+ glob: ^7.1.4
+ graceful-fs: ^4.2.3
+ nopt: ^5.0.0
+ npmlog: ^4.1.2
+ request: ^2.88.2
+ rimraf: ^3.0.2
+ semver: ^7.3.2
+ tar: ^6.0.2
+ which: ^2.0.2
+ bin:
+ node-gyp: bin/node-gyp.js
+ checksum: fca9ecb1be01f707b76c2aec01f0f2ef4ff45c4e24df378c01a4a2c93b4a8172b47ad59f07af91c54a797a8a77fc72e087e29a97a52c892df507245530c46bfa
+ languageName: node
+ linkType: hard
+
+"node-pre-gyp@npm:^0.11.0":
+ version: 0.11.0
+ resolution: "node-pre-gyp@npm:0.11.0"
+ dependencies:
+ detect-libc: ^1.0.2
+ mkdirp: ^0.5.1
+ needle: ^2.2.1
+ nopt: ^4.0.1
+ npm-packlist: ^1.1.6
+ npmlog: ^4.0.2
+ rc: ^1.2.7
+ rimraf: ^2.6.1
+ semver: ^5.3.0
+ tar: ^4
+ bin:
+ node-pre-gyp: ./bin/node-pre-gyp
+ checksum: c166a62588f1f72f2098449add3c6400d31d2127dd059df0064f53d2089bbffc7d0e22e5ae4890518974df6e7c09a536e9e23d5a9831762d777e8f186a3d970c
+ languageName: node
+ linkType: hard
+
+"nodemon@npm:^2.0.6":
+ version: 2.0.6
+ resolution: "nodemon@npm:2.0.6"
+ dependencies:
+ chokidar: ^3.2.2
+ debug: ^3.2.6
+ ignore-by-default: ^1.0.1
+ minimatch: ^3.0.4
+ pstree.remy: ^1.1.7
+ semver: ^5.7.1
+ supports-color: ^5.5.0
+ touch: ^3.1.0
+ undefsafe: ^2.0.3
+ update-notifier: ^4.1.0
+ bin:
+ nodemon: bin/nodemon.js
+ checksum: 6a4b0d6ba2c164796a2b164cd8c7e0587387b5fca224526bd1267e93b99a23071b31f51a5eecbeccd656a0ec097a194d9a123a3bc8833e148c53de9c4c3dcebd
+ languageName: node
+ linkType: hard
+
+"nopt@npm:2 || 3":
+ version: 3.0.6
+ resolution: "nopt@npm:3.0.6"
+ dependencies:
+ abbrev: 1
+ bin:
+ nopt: ./bin/nopt.js
+ checksum: cb2105d5286b96243d8b71964ccbce04aa8776d6479b8a3b567c2b5b3da86b35ff2b95c22e443337724d13acb60db9b107c64851424d9d60a088a461a976da29
+ languageName: node
+ linkType: hard
+
+"nopt@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "nopt@npm:4.0.1"
+ dependencies:
+ abbrev: 1
+ osenv: ^0.1.4
+ bin:
+ nopt: ./bin/nopt.js
+ checksum: 1d220f1e15a0697dcb1be26a08e69dfa83b55f21a6cdaf20170fc546b56e722bb1f2e91887fcfed593e57a33c42aa51e760267bd72d83350367a5ad26382a49a
+ languageName: node
+ linkType: hard
+
+"nopt@npm:^4.0.3":
+ version: 4.0.3
+ resolution: "nopt@npm:4.0.3"
+ dependencies:
+ abbrev: 1
+ osenv: ^0.1.4
+ bin:
+ nopt: bin/nopt.js
+ checksum: bf7b8c15fd035bf1faa897ec83c3fe5a459beb51a09dfad9413429382139784c3f05e11847d2e5de7160a813c5c8c6cf74c34f22b483c08fdaf465586f293f49
+ languageName: node
+ linkType: hard
+
+"nopt@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "nopt@npm:5.0.0"
+ dependencies:
+ abbrev: 1
+ bin:
+ nopt: bin/nopt.js
+ checksum: e1523158fca7f99d0102cd4db7a651441968d7ffebb31e691dfa5dde546343126a29e50af12061cc4459940e6ecfb8d70887567a73c599799c3e1fc39e9647a1
+ languageName: node
+ linkType: hard
+
+"nopt@npm:~1.0.10":
+ version: 1.0.10
+ resolution: "nopt@npm:1.0.10"
+ dependencies:
+ abbrev: 1
+ bin:
+ nopt: ./bin/nopt.js
+ checksum: fb74743e70abbabfdfa828be4b85ba7261ebdff439a9d5edc7a86871ddc45d4741e0724df91dff0a274ea4d3b6ef458c3c35a14ca97e53a6fe24264ff1d45a66
+ languageName: node
+ linkType: hard
+
+"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0":
+ version: 3.0.0
+ resolution: "normalize-path@npm:3.0.0"
+ checksum: 215a701b471948884193628f3e38910353abf445306b519c42c2a30144b8beb8ca0a684da97bfc2ee11eb168c35c776d484274da4bd8f213d2b22f70579380ee
+ languageName: node
+ linkType: hard
+
+"normalize-url@npm:^4.1.0":
+ version: 4.5.0
+ resolution: "normalize-url@npm:4.5.0"
+ checksum: 09794941dbe5c7b91caf6f3cd1ae167c27f6d09793e4a03601a68b62de7e8ee9e5de21a246130cdbab98b01481de292f9556d492444a527648f9cf1220e4b0df
+ languageName: node
+ linkType: hard
+
+"npm-bundled@npm:^1.0.1":
+ version: 1.1.1
+ resolution: "npm-bundled@npm:1.1.1"
+ dependencies:
+ npm-normalize-package-bin: ^1.0.1
+ checksum: f51ddba86970fc568a40449f51348de535ac71d93a2ce31195e978d0189899a0da696b3e51a5eb6e77a88890482ac873767c58c81763dda3dab410c9c1e99ca5
+ languageName: node
+ linkType: hard
+
+"npm-normalize-package-bin@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "npm-normalize-package-bin@npm:1.0.1"
+ checksum: 495fae761551a765064f6937ed578a1d749c110355b63f5bbf6df9f0237862639de184a5c13fb9982d2a7745b2bd983e427bf16893ad98f20e53a32ad0254fc9
+ languageName: node
+ linkType: hard
+
+"npm-packlist@npm:^1.1.6, npm-packlist@npm:^1.4.8":
+ version: 1.4.8
+ resolution: "npm-packlist@npm:1.4.8"
+ dependencies:
+ ignore-walk: ^3.0.1
+ npm-bundled: ^1.0.1
+ npm-normalize-package-bin: ^1.0.1
+ checksum: 34c4bbd47daccd64e5e432b435ec37339bd472900dccd2a8f003d5004b4fff67b8561aadbbedaa5a5effd1dab9126b89fb28355fef1f3e85ff60ecf6b21433d9
+ languageName: node
+ linkType: hard
+
+"npmlog@npm:0 || 1 || 2 || 3 || 4, npmlog@npm:^4.0.2, npmlog@npm:^4.1.2":
+ version: 4.1.2
+ resolution: "npmlog@npm:4.1.2"
+ dependencies:
+ are-we-there-yet: ~1.1.2
+ console-control-strings: ~1.1.0
+ gauge: ~2.7.3
+ set-blocking: ~2.0.0
+ checksum: 0cd63f127c1bbda403a112e83b11804aaee2b58b0bc581c3bde9b82e4d957c7ed0ad3bee499af706cdd3599bb93669d7cbbf29fb500407d35fe75687ac96e2c0
+ languageName: node
+ linkType: hard
+
+"number-is-nan@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "number-is-nan@npm:1.0.1"
+ checksum: 42251b2653a16f8b47639d93c3b646fff295a4582a6b3a2fc51a651d4511427c247629709063d19befbceb8a3db1a8e9f17016b3a207291e79e4bd1413032918
+ languageName: node
+ linkType: hard
+
+"oauth-sign@npm:~0.9.0":
+ version: 0.9.0
+ resolution: "oauth-sign@npm:0.9.0"
+ checksum: af1ab60297c3a687d1d2de5c43c6453c4df6939de3e6114ada4a486ac51fa7ab1769f33000b94c0e8ffced5ae4c57c4f5d36b517792d83e9e9742578a728682e
+ languageName: node
+ linkType: hard
+
+"object-assign@npm:^4.1.0":
+ version: 4.1.1
+ resolution: "object-assign@npm:4.1.1"
+ checksum: 66cf021898fc1b13ea573ea8635fbd5a76533f50cecbc2fcd5eee1e8029af41bcebe7023788b6d0e06cbe4401ecea075d972f78ec74467cdc571a0f1a4d1a081
+ languageName: node
+ linkType: hard
+
+"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "once@npm:1.4.0"
+ dependencies:
+ wrappy: 1
+ checksum: 57afc246536cf6494437f982b26475f22bee860f8b77ce8eb1543f42a8bffe04b2c66ddfea9a16cb25ccb80943f8ee4fc639367ef97b7a6a4f2672eb573963f5
+ languageName: node
+ linkType: hard
+
+"opencollective-postinstall@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "opencollective-postinstall@npm:2.0.2"
+ bin:
+ opencollective-postinstall: index.js
+ checksum: f71a908d0958a321c260050b5e9e78cbde59598e21df2dfb121b3721514db288ccdeb1d39b3ff0f9e81d85e661e5a2b3e3cd47fa1ab04feefca31facd58a5ca5
+ languageName: node
+ linkType: hard
+
+"optionator@npm:^0.9.1":
+ version: 0.9.1
+ resolution: "optionator@npm:0.9.1"
+ dependencies:
+ deep-is: ^0.1.3
+ fast-levenshtein: ^2.0.6
+ levn: ^0.4.1
+ prelude-ls: ^1.2.1
+ type-check: ^0.4.0
+ word-wrap: ^1.2.3
+ checksum: bdf5683f986d00e173e6034837b7b6a9e68c7e1a37d7684b240adf1758db9076cfb04c9f64be29327881bb06c5017afb8b65012c5f02d07b180e9f6f42595ffd
+ languageName: node
+ linkType: hard
+
+"os-homedir@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "os-homedir@npm:1.0.2"
+ checksum: 725256246b2cec353250ec46442e3cfa7bc96ef92285d448a90f12f4bbd78c1bf087051b2cef0382da572e1a9ebc8aa24bd0940a3bdc633c3e3012eef1dc6848
+ languageName: node
+ linkType: hard
+
+"os-tmpdir@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "os-tmpdir@npm:1.0.2"
+ checksum: ca158a3c2e48748adc7736cdbe4c593723f8ed8581d2aae2f2a30fdb9417d4ba14bed1cd487d47561898a7b1ece88bce69745e9ce0303e1dea9ea7d22d1f1082
+ languageName: node
+ linkType: hard
+
+"osenv@npm:0, osenv@npm:^0.1.4":
+ version: 0.1.5
+ resolution: "osenv@npm:0.1.5"
+ dependencies:
+ os-homedir: ^1.0.0
+ os-tmpdir: ^1.0.0
+ checksum: 1c7462808c5ff0c2816b11f2f46265a98c395586058f98d73a6deac82955744484b277baedceeb962c419f3b75d0831a77ce7cf38b9e4f20729943ba79d72b08
+ languageName: node
+ linkType: hard
+
+"p-cancelable@npm:^1.0.0":
+ version: 1.1.0
+ resolution: "p-cancelable@npm:1.1.0"
+ checksum: 01fdd9ac319f0e69e22c18d5b9e5f4dca62a0827d72349c73b0c88b07c760849de49201dcbe4fbbcbe61b4bdce8f4f3596cfbbfed664cf411ff1ab9a80664574
+ languageName: node
+ linkType: hard
+
+"p-cancelable@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "p-cancelable@npm:2.0.0"
+ checksum: 966065f056a116a1ca3b6c7064d4d27a65bc1740c25cc60729faa5deea385bbd0f2317aedabb8e64c0cfc3c6b2dafe7f3ea65c267373d6d9be1602af443b4f12
+ languageName: node
+ linkType: hard
+
+"p-limit@npm:^2.2.0":
+ version: 2.2.2
+ resolution: "p-limit@npm:2.2.2"
+ dependencies:
+ p-try: ^2.0.0
+ checksum: 10cd927c1e3b6c66a294dd803bc05acd721d003b7c8c16d6648f133b4f47853f37d6895096e56cbbc4d10009f8380b7679e4f0220ead74c82f5b036e45bbb520
+ languageName: node
+ linkType: hard
+
+"p-limit@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "p-limit@npm:3.0.2"
+ dependencies:
+ p-try: ^2.0.0
+ checksum: 1eb23d6ea77709212bf8d7a98d36c4e8b5276ec791bf74f460c012fadf4580d136f40efafa25d4892a9327102866eafc79b441eed7be339b0da59da416ced600
+ languageName: node
+ linkType: hard
+
+"p-locate@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "p-locate@npm:4.1.0"
+ dependencies:
+ p-limit: ^2.2.0
+ checksum: 57f9abef0b29f02ff88c0936a392c9a1fbdd08169e636e0d85b7407c108014d71578c0c6fe93fa49b5bf3857b20d6f16b96389e2b356f7f599d4d2150505844f
+ languageName: node
+ linkType: hard
+
+"p-try@npm:^2.0.0":
+ version: 2.2.0
+ resolution: "p-try@npm:2.2.0"
+ checksum: 20983f3765466c1ab617ed153cb53b70ac5df828d854a3334d185e20b37f436e9096f12bc1b7fc96d8908dc927a3685172d3d89e755774f57b7103460c54dcc5
+ languageName: node
+ linkType: hard
+
+"package-json@npm:^6.3.0":
+ version: 6.5.0
+ resolution: "package-json@npm:6.5.0"
+ dependencies:
+ got: ^9.6.0
+ registry-auth-token: ^4.0.0
+ registry-url: ^5.0.0
+ semver: ^6.2.0
+ checksum: 3023e318de5d76bbd650aedd3671b452cb1e018c4d99b72955dde0f22c6ba765c3f6d678ab0ee45e2561842e8399b1fea77a0730dc93c39505e7ebfed7ab2818
+ languageName: node
+ linkType: hard
+
+"parent-module@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "parent-module@npm:1.0.1"
+ dependencies:
+ callsites: ^3.0.0
+ checksum: 58714b9699f8e84340aaf0781b7cbd82f1c357f6ce9c035c151d0e8c1e9b869c51b95b680882f0d21b4751e817a6c936d4bb2952a1a1d9d9fb27e5a84baec2aa
+ languageName: node
+ linkType: hard
+
+"parse-json@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "parse-json@npm:5.0.0"
+ dependencies:
+ "@babel/code-frame": ^7.0.0
+ error-ex: ^1.3.1
+ json-parse-better-errors: ^1.0.1
+ lines-and-columns: ^1.1.6
+ checksum: 9c46eb0c388df4333eaa4feb996deae32f32ab447723abe48fdc6756bce863cf46009d56485fde0178bfe3ac9002ef0c3540ff4b278ad3ada2abc12186413eb8
+ languageName: node
+ linkType: hard
+
+"path-exists@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "path-exists@npm:4.0.0"
+ checksum: 6ab15000c5bea4f3e6e6b651983276e27ee42907ea29f5bd68f0d5c425c22f1664ab53c355099723f59b0bfd31aa52d29ea499e1843bf62543e045698f4c77b2
+ languageName: node
+ linkType: hard
+
+"path-is-absolute@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "path-is-absolute@npm:1.0.1"
+ checksum: 907e1e3e6ac0aef6e65adffd75b3892191d76a5b94c5cf26b43667c4240531d11872ca6979c209b2e5e1609f7f579d02f64ba9936b48bb59d36cc529f0d965ed
+ languageName: node
+ linkType: hard
+
+"path-key@npm:^3.1.0":
+ version: 3.1.1
+ resolution: "path-key@npm:3.1.1"
+ checksum: e44aa3ca9faed0440994883050143b1214fffb907bf3a7bbdba15dc84f60821617c0d84e4cc74e1d84e9274003da50427f54d739b0b47636bcbaff4ec71b9b86
+ languageName: node
+ linkType: hard
+
+"path-type@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "path-type@npm:4.0.0"
+ checksum: ef5835f2eb47e4d06004c7ec7bd51175c0455eaecd5ee99a9774bca5ef43242616e25b44ccc0ba86a0bf42b9f197550fcc0dfa7580e5ff9dca53c035e9bd86a9
+ languageName: node
+ linkType: hard
+
+"performance-now@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "performance-now@npm:2.1.0"
+ checksum: bb4ebed0b03d6c3ad3ae4eddd1182c895d385cff9096af441c19c130aaae3ea70229438ebc3297dfc52c86022f6becf177a810050823d01bf5280779cd2de624
+ languageName: node
+ linkType: hard
+
+"picomatch@npm:^2.0.4, picomatch@npm:^2.0.7":
+ version: 2.2.1
+ resolution: "picomatch@npm:2.2.1"
+ checksum: c926fe6cb118643bbd4eb44125afbfa02fcd3f6ff3ba85db201874678a46ab2dad589c8db654474cc131df356af36a6afd4fb3c8878ca26bae5190c232b838a5
+ languageName: node
+ linkType: hard
+
+"picomatch@npm:^2.0.5, picomatch@npm:^2.2.1":
+ version: 2.2.2
+ resolution: "picomatch@npm:2.2.2"
+ checksum: 20fa75e0a58b39d83425b3db68744d5f6f361fd4fd66ec7745d884036d502abba0d553a637703af79939b844164b13e60eea339ccb043d7fbd74c3da2592b864
+ languageName: node
+ linkType: hard
+
+"pkg-dir@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "pkg-dir@npm:4.2.0"
+ dependencies:
+ find-up: ^4.0.0
+ checksum: 1956ebf3cf5cc36a5d20e93851fcadd5a786774eb08667078561e72e0ab8ace91fc36a028d5305f0bfe7c89f9bf51886e2a3c8cb2c2620accfa3feb8da3c256b
+ languageName: node
+ linkType: hard
+
+"please-upgrade-node@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "please-upgrade-node@npm:3.2.0"
+ dependencies:
+ semver-compare: ^1.0.0
+ checksum: 34cf86f6d577877df5e9ced0bda57babd97bd2dc7e5965a67f990337f01ccd5203a98dc5aa7971e10088b2b1b29628d51d9770996151c7d306ed0069b4ecd745
+ languageName: node
+ linkType: hard
+
+"prelude-ls@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "prelude-ls@npm:1.2.1"
+ checksum: bc1649f521e8928cde0e1b349b224de2e6f00b71361a4a44f2e4a615342b6e1ae30366c32d26412dabe74d999a40f79c0ae044ae6b17cf19af935e74d12ea4fa
+ languageName: node
+ linkType: hard
+
+"prepend-http@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "prepend-http@npm:2.0.0"
+ checksum: d39325775adce38e18213fd19656af4abd7672ef6b1e330437079bb237de011d49a70bfb56b35037603d30ef279cceddb33794f70168582d50845c2ade29968e
+ languageName: node
+ linkType: hard
+
+"prism-media@npm:^1.2.2":
+ version: 1.2.2
+ resolution: "prism-media@npm:1.2.2"
+ peerDependencies:
+ "@discordjs/opus": ^0.1.0
+ ffmpeg-static: ^2.4.0 || ^3.0.0
+ node-opus: ^0.3.1
+ opusscript: ^0.0.6
+ peerDependenciesMeta:
+ "@discordjs/opus":
+ optional: true
+ ffmpeg-static:
+ optional: true
+ node-opus:
+ optional: true
+ opusscript:
+ optional: true
+ checksum: fa992731ff55d1b798329801d7b4e020bef870196d4cbd23d11425eefdd64b98ba2303a8071a4a0acd37822c7a0af96b39c325e0c65b99756cd27610b5491001
+ languageName: node
+ linkType: hard
+
+"process-nextick-args@npm:~2.0.0":
+ version: 2.0.1
+ resolution: "process-nextick-args@npm:2.0.1"
+ checksum: ddeb0f07d0d5efa649c2c5e39d1afd0e3668df2b392d036c8a508b0034f7beffbc474b3c2f7fd3fed2dc4113cef8f1f7e00d05690df3c611b36f6c7efd7852d1
+ languageName: node
+ linkType: hard
+
+"progress@npm:^2.0.0":
+ version: 2.0.3
+ resolution: "progress@npm:2.0.3"
+ checksum: c46ef5a1de4d527dfd32fe56a7df0c1c8b420a4c02617196813bf7f10ac7c2a929afc265d44fdd68f5c439a7e7cb3d70d569716c82d6b4148ec72089860a1312
+ languageName: node
+ linkType: hard
+
+"psl@npm:^1.1.28":
+ version: 1.7.0
+ resolution: "psl@npm:1.7.0"
+ checksum: b2158825f6676a61820b22d197b630efb9828fcb9471eccc3dc2c43a689201711f4e87cd3b7a2106997309a87cc31d04f71e928f2c474c80fe679b31d5b1702e
+ languageName: node
+ linkType: hard
+
+"pstree.remy@npm:^1.1.7":
+ version: 1.1.7
+ resolution: "pstree.remy@npm:1.1.7"
+ checksum: 84e819065817b0471cd1807f31c095ec17d5707ffa0ea99996ca7aaa186eeef8c386cedc042d554653035f22963b572d1409e39f89ffdddaf7ccd1fef9039e11
+ languageName: node
+ linkType: hard
+
+"pump@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "pump@npm:3.0.0"
+ dependencies:
+ end-of-stream: ^1.1.0
+ once: ^1.3.1
+ checksum: 5464d5cf6c6f083cc60cb45b074fb9a4a92ba4d3e0d89e9b2fa1906d8151fd3766784a426725ccf1af50d1c29963ac20b13829933549830e08a6704e3f95e08c
+ languageName: node
+ linkType: hard
+
+"punycode@npm:^2.1.0, punycode@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "punycode@npm:2.1.1"
+ checksum: 0202dc191cb35bfd88870ac99a1e824b03486d4cee20b543ef337a6dee8d8b11017da32a3e4c40b69b19976e982c030b62bd72bba42884acb691bc5ef91354c8
+ languageName: node
+ linkType: hard
+
+"pupa@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "pupa@npm:2.0.1"
+ dependencies:
+ escape-goat: ^2.0.0
+ checksum: d03edb9fd7d707e54618711896ab4a96c80fcfb380e413a9130157dc08a3553bf62fa7c7407edbba57095d4ba993df6de4f28a56dd5eca93b5dccbe1fc4a82db
+ languageName: node
+ linkType: hard
+
+"qs@npm:^6.9.4":
+ version: 6.9.4
+ resolution: "qs@npm:6.9.4"
+ checksum: beba62d1e1c66e9888cc08a488eb95771c252a92289a96bff4b767a49e4e7afe9487d7ee3269b856292d8281b855ac5eac927c2e77f845e407ee4fe54743fea7
+ languageName: node
+ linkType: hard
+
+"qs@npm:~6.5.2":
+ version: 6.5.2
+ resolution: "qs@npm:6.5.2"
+ checksum: fa0410eff2c05ce3328e11f82db4015e7819c986ee056d6b62b06ae112f4929af09ea3b879ca168ff9f0338f50972bba487ad0e46c879e42bfaf63c3c2ea7f09
+ languageName: node
+ linkType: hard
+
+"quick-lru@npm:^5.1.1":
+ version: 5.1.1
+ resolution: "quick-lru@npm:5.1.1"
+ checksum: fafb2b2fa1a948d6f2e88d4a60571be70b316d9b0be857d24fba0ac28fc31acebf535b643fe968473d689f8c655bcb2a0e4da67912f571059a4e4eb15740b021
+ languageName: node
+ linkType: hard
+
+"rc@npm:^1.2.7, rc@npm:^1.2.8":
+ version: 1.2.8
+ resolution: "rc@npm:1.2.8"
+ dependencies:
+ deep-extend: ^0.6.0
+ ini: ~1.3.0
+ minimist: ^1.2.0
+ strip-json-comments: ~2.0.1
+ bin:
+ rc: ./cli.js
+ checksum: ea2b7f7cee201a67923a2240de594a5d9b59bd312b814b06536d3d609a416dfd6fb9b85ea2abfd3b8a4eb5ed33eaff946ee75a8f2b7fb10941073c5cfee6b7a5
+ languageName: node
+ linkType: hard
+
+"readable-stream@npm:^2.0.6":
+ version: 2.3.7
+ resolution: "readable-stream@npm:2.3.7"
+ 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
+ checksum: 6e3826560627a751feb3a8aec073ef94c6e47b8c8e06eb5d136323b5f09db9d2077c23a42a8d54ed0123695af54b36c1e4271a8ec55112b15f4b89020d8dec72
+ languageName: node
+ linkType: hard
+
+"readable-stream@npm:^3.6.0":
+ version: 3.6.0
+ resolution: "readable-stream@npm:3.6.0"
+ dependencies:
+ inherits: ^2.0.3
+ string_decoder: ^1.1.1
+ util-deprecate: ^1.0.1
+ checksum: f178b1daa80d9e58ebba71dbb08486430aa6f0dea3a22a1b7401f3f6983077d0bc0edea43099db06b8d006c9ad48d6383e8fb72c05d5b187670aeaf1b9b44f00
+ languageName: node
+ linkType: hard
+
+"readdirp@npm:~3.3.0":
+ version: 3.3.0
+ resolution: "readdirp@npm:3.3.0"
+ dependencies:
+ picomatch: ^2.0.7
+ checksum: 97ad7dd846ab1a81850a7e934d0b20168d6737c7db2e28c682ab300fcbfd9549c6962788fde20cae11445756f1d8e63f4496a96d7be8e35c7c5c82cb192f0ce3
+ languageName: node
+ linkType: hard
+
+"reflect-metadata@npm:^0.1.13":
+ version: 0.1.13
+ resolution: "reflect-metadata@npm:0.1.13"
+ checksum: 629101e6c8b7e0d3166fa51953f908f45b5c73dbaf1375c4f8c3ed62221b870c951343b9b031d0c49957e7262a88020f41be25731ee85b5d779f12c7cec66005
+ languageName: node
+ linkType: hard
+
+"regexpp@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "regexpp@npm:3.0.0"
+ checksum: 9528ff2d4d4c85c80ae866c558d8b61ae7da69dad240f4a8d69e73be51a04d466e5c6808e06837737eaf8ec499d41126ab397693ab5d0a1039376855ce331566
+ languageName: node
+ linkType: hard
+
+"regexpp@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "regexpp@npm:3.1.0"
+ checksum: 69d0ce6b449cf35d3732d6341a1e70850360ffc619f8eef10629871c462e614853fffb80d3f00fc17cd0bb5b8f34b0cde5be4b434e72c0eb3fbba2360c8b5ac4
+ languageName: node
+ linkType: hard
+
+"registry-auth-token@npm:^4.0.0":
+ version: 4.2.0
+ resolution: "registry-auth-token@npm:4.2.0"
+ dependencies:
+ rc: ^1.2.8
+ checksum: bbdcbe2210ec119538ea5f57df65149bac03e03c0d7fd0e0d0ff323140bb20d62e07a32f825e45902e2aea99e588fd042411a056b477c33761e3a88b846fd87d
+ languageName: node
+ linkType: hard
+
+"registry-url@npm:^5.0.0":
+ version: 5.1.0
+ resolution: "registry-url@npm:5.1.0"
+ dependencies:
+ rc: ^1.2.8
+ checksum: 50802a1d43efb18505ffc1f242b8af43bde95e95ac2461f453ef21d4bce793d4230076147809f1ade7452afaa537c6e0324dd4a7bc9d83f1b6f5cc7e1300c544
+ languageName: node
+ linkType: hard
+
+"request@npm:^2.87.0, request@npm:^2.88.2":
+ version: 2.88.2
+ resolution: "request@npm:2.88.2"
+ dependencies:
+ aws-sign2: ~0.7.0
+ aws4: ^1.8.0
+ caseless: ~0.12.0
+ combined-stream: ~1.0.6
+ extend: ~3.0.2
+ forever-agent: ~0.6.1
+ form-data: ~2.3.2
+ har-validator: ~5.1.3
+ http-signature: ~1.2.0
+ is-typedarray: ~1.0.0
+ isstream: ~0.1.2
+ json-stringify-safe: ~5.0.1
+ mime-types: ~2.1.19
+ oauth-sign: ~0.9.0
+ performance-now: ^2.1.0
+ qs: ~6.5.2
+ safe-buffer: ^5.1.2
+ tough-cookie: ~2.5.0
+ tunnel-agent: ^0.6.0
+ uuid: ^3.3.2
+ checksum: 7a74841f3024cac21d8c3cca7f7f2e4243fbd62464d2f291fddb94008a9d010e20c4a1488f4224b03412a4438a699db2a3de11019e486c8e656f86b0b79bf022
+ languageName: node
+ linkType: hard
+
+"resolve-alpn@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "resolve-alpn@npm:1.0.0"
+ checksum: 17baee01c03a57cebd163aa5c9bd94f33646378bce8aa94c7a8d29fc0e1bf0807532bda3c36bb929511606633921d0f4a69e7fcc894cf02ad1c742e649b71673
+ languageName: node
+ linkType: hard
+
+"resolve-from@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "resolve-from@npm:4.0.0"
+ checksum: 87a4357c0c1c2d165012ec04a3b2aa58931c0c0be257890806760b627bad36c9bceb6f9b2a3726f8570c67f2c9ff3ecc9507fe65cc3ad8d45cdab015245c649f
+ languageName: node
+ linkType: hard
+
+"responselike@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "responselike@npm:1.0.2"
+ dependencies:
+ lowercase-keys: ^1.0.0
+ checksum: c904f1499418d0729e9592079ea653c8fd35d50a7cca1a17d58ef3137382f915cbd344daaa7fe2e2b064a6d9fab4bcdd8b2ab963c523829427b440b775fba8fd
+ languageName: node
+ linkType: hard
+
+"responselike@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "responselike@npm:2.0.0"
+ dependencies:
+ lowercase-keys: ^2.0.0
+ checksum: 11d8225dd8bbbd2ab7482c2e54ff2618e346c7d785e66d2ff5da03d6eafa8b33c3a4c6d685324dccf06f36ee2695db9bd2579382548c2a7253d770204694a63d
+ languageName: node
+ linkType: hard
+
+"retry-as-promised@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "retry-as-promised@npm:3.2.0"
+ dependencies:
+ any-promise: ^1.3.0
+ checksum: 4aab2302ba9c101844ed2439aeb99c794f4b0d34e1b6386d838cf9528f1de2b902ab38ebc2d79cc5d3d01e37bfeb688956e5b86bd8362fee7f932de0081bdc02
+ languageName: node
+ linkType: hard
+
+"reusify@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "reusify@npm:1.0.4"
+ checksum: 08ef02ed0514f020a51131ba2e6c27c66ccebe25d49cfc83467a0d4054db4634a2853480d0895c710b645ab66af1a6fb3e183888306ae559413bd96c69f39ccd
+ languageName: node
+ linkType: hard
+
+"rimraf@npm:2, rimraf@npm:^2.6.1":
+ version: 2.7.1
+ resolution: "rimraf@npm:2.7.1"
+ dependencies:
+ glob: ^7.1.3
+ bin:
+ rimraf: ./bin.js
+ checksum: 059efac2838ef917d4d1da1d80e724ad28c120cdf14ca6ed27ca72db2dc70be3e25421cba5947c6ec3d804c1d2bb9a247254653816ee0722bf943ffdd1ae19ef
+ languageName: node
+ linkType: hard
+
+"rimraf@npm:2.6.3":
+ version: 2.6.3
+ resolution: "rimraf@npm:2.6.3"
+ dependencies:
+ glob: ^7.1.3
+ bin:
+ rimraf: ./bin.js
+ checksum: c9ce1854f19327606934558f4729b0f7aa7b9f1a3e7ca292d56261cce1074e20b0a0b16689166da6d8ab24ed9c30f7c71fba0df38e1d37f0233b6f48307c5c7a
+ languageName: node
+ linkType: hard
+
+"rimraf@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "rimraf@npm:3.0.2"
+ dependencies:
+ glob: ^7.1.3
+ bin:
+ rimraf: bin.js
+ checksum: f0de3e445581e64a8a077af476cc30708e659f5779ec2ca2a161556d0792aa318a685923798ae22055b4ecd02b9aff444ef619578f7af53cf8e0e248031e3dee
+ languageName: node
+ linkType: hard
+
+"run-parallel@npm:^1.1.9":
+ version: 1.1.9
+ resolution: "run-parallel@npm:1.1.9"
+ checksum: a05ca86e9908b2d2f90d659a0eb4129e040341729fc9ac1fa8971bf0d77ca6ccfb69f9a559cecce9cd541a9328fa4fa19a3faa6d24698d93cf751efb90aec61f
+ languageName: node
+ linkType: hard
+
+"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.2":
+ version: 5.2.0
+ resolution: "safe-buffer@npm:5.2.0"
+ checksum: e513079353a235749e64dc3b1ade741caf651c09d1291ee826e68d42c08913dcd2c76b291dd23979b0fd0bd551d99f4a3d8cc05aef4e9c75bebf6cbbd310b129
+ languageName: node
+ linkType: hard
+
+"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1":
+ version: 5.1.2
+ resolution: "safe-buffer@npm:5.1.2"
+ checksum: 2708587c1b5e70a5e420714ceb59f30f5791c6e831d39812125a008eca63a4ac18578abd020a0776ea497ff03b4543f2b2a223a7b9073bf2d6c7af9ec6829218
+ languageName: node
+ linkType: hard
+
+"safe-buffer@npm:~5.2.0":
+ version: 5.2.1
+ resolution: "safe-buffer@npm:5.2.1"
+ checksum: 0bb57f0d8f9d1fa4fe35ad8a2db1f83a027d48f2822d59ede88fd5cd4ddad83c0b497213feb7a70fbf90597a70c5217f735b0eb1850df40ce9b4ae81dd22b3f9
+ languageName: node
+ linkType: hard
+
+"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0":
+ version: 2.1.2
+ resolution: "safer-buffer@npm:2.1.2"
+ checksum: 549ba83f5b314b59898efe3422120ce1ca7987a6eae5925a5fa5db930dc414d4a9dde0a5594f89638cd6ea60b6840ea961872908933ac2428d1726489db46fa5
+ languageName: node
+ linkType: hard
+
+"sax@npm:^1.1.3, sax@npm:^1.2.4":
+ version: 1.2.4
+ resolution: "sax@npm:1.2.4"
+ checksum: 9d7668d69105e89e2c1a4b2fdc12c72e1a2f78b825f7b4a8a2ea5cdfebf70920bd17715bed55264c3b3959616a0695f8ad2d098bf6944fbd0953ee9c695dceef
+ languageName: node
+ linkType: hard
+
+"semver-compare@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "semver-compare@npm:1.0.0"
+ checksum: 9f3a74ca5f829c6b643668281228e2af310d9cb918a9d722e0c9426c4244c32346d29e955bbe796c46341f644fc741d888ca02e573f7aa230542809b03b0d8ec
+ languageName: node
+ linkType: hard
+
+"semver-diff@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "semver-diff@npm:3.1.1"
+ dependencies:
+ semver: ^6.3.0
+ checksum: d5c9b693e6118bf56226b52fe4bb51f1f05fd7b91bd7979d3d01b32d4e136e16e4ea110f28f0690608712473d682e7a71a05f0ab65b8ba4a70d63b536d4c6278
+ languageName: node
+ linkType: hard
+
+"semver-regex@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "semver-regex@npm:2.0.0"
+ checksum: 9b96cc8bd559c1d46968b334ccc88115a2d9d2f7a2125d6838471114ed0c52057e77aae760fbe4932aee06687584733b32aed6d2c9654b2db33e383bfb8f26ce
+ languageName: node
+ linkType: hard
+
+"semver@npm:^5.3.0, semver@npm:^5.7.1":
+ version: 5.7.1
+ resolution: "semver@npm:5.7.1"
+ bin:
+ semver: ./bin/semver
+ checksum: 06ff0ed753ebf741b7602be8faad620d6e160a2cb3f61019d00d919c8bca141638aa23c34da779b8595afdc9faa3678bfbb5f60366b6a4f65f98cf86605bbcdb
+ languageName: node
+ linkType: hard
+
+"semver@npm:^6.0.0, semver@npm:^6.2.0, semver@npm:^6.3.0":
+ version: 6.3.0
+ resolution: "semver@npm:6.3.0"
+ bin:
+ semver: ./bin/semver.js
+ checksum: f0d155c06a67cc7e500c92d929339f1c6efd4ce9fe398aee6acc00a2333489cca0f5b4e76ee7292beba237fcca4b5a3d4a6153471f105f56299801bdab37289f
+ languageName: node
+ linkType: hard
+
+"semver@npm:^7.2.1, semver@npm:^7.3.0, semver@npm:^7.3.2":
+ version: 7.3.2
+ resolution: "semver@npm:7.3.2"
+ bin:
+ semver: bin/semver.js
+ checksum: bceb46d396d039afb5be2b2860bce1b0a43ecbadc72dde7ebe9c56dd9035ca50d9b8e086208ff9bbe53773ebde0bcfc6fc0842d7358398bca7054bb9ced801e3
+ languageName: node
+ linkType: hard
+
+"semver@npm:~5.3.0":
+ version: 5.3.0
+ resolution: "semver@npm:5.3.0"
+ bin:
+ semver: ./bin/semver
+ checksum: 8211d9f88e8b4c6c5bd45f4383a4354d252afbf3d35b216b41bf1820913199a8cdeead8ad6d93b11c70a02c575ab0d76a13e35fd335d7f75551645feb5d1af2f
+ languageName: node
+ linkType: hard
+
+"sequelize-pool@npm:^2.3.0":
+ version: 2.3.0
+ resolution: "sequelize-pool@npm:2.3.0"
+ checksum: a6fc8cc5ef189671efb9964c702796fc00d49092e764d79d1f79a02673b3a6c006721e724d3a1f78baab9eb2605539e3e389841407c199631b82a0c6fd6187f4
+ languageName: node
+ linkType: hard
+
+"sequelize-typescript@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "sequelize-typescript@npm:1.1.0"
+ dependencies:
+ glob: 7.1.2
+ peerDependencies:
+ "@types/bluebird": "*"
+ "@types/node": "*"
+ "@types/validator": "*"
+ reflect-metadata: "*"
+ sequelize: ^5.1.0
+ checksum: 7538d342f8adf4ac1416e1c69dc94d3552e077f1814f26668ccf9cdee790229d3497cfb41f298e5abed5ed9b91efda9f6151bde0e0efef27cec4dba29263621b
+ languageName: node
+ linkType: hard
+
+"sequelize@npm:^5.21.11":
+ version: 5.22.3
+ resolution: "sequelize@npm:5.22.3"
+ dependencies:
+ bluebird: ^3.5.0
+ cls-bluebird: ^2.1.0
+ debug: ^4.1.1
+ dottie: ^2.0.0
+ inflection: 1.12.0
+ lodash: ^4.17.15
+ moment: ^2.24.0
+ moment-timezone: ^0.5.21
+ retry-as-promised: ^3.2.0
+ semver: ^6.3.0
+ sequelize-pool: ^2.3.0
+ toposort-class: ^1.0.1
+ uuid: ^3.3.3
+ validator: ^10.11.0
+ wkx: ^0.4.8
+ checksum: 6c5c2650072da71f76197dfb26a93c992b79453002621c1575c7627422eb2e7ba84fd84f57c29e74fcc6bb6964aee2a021564ada143d11b8b9e063aa5d4655b1
+ languageName: node
+ linkType: hard
+
+"set-blocking@npm:~2.0.0":
+ version: 2.0.0
+ resolution: "set-blocking@npm:2.0.0"
+ checksum: 0ac2403b0c2d39bf452f6d5d17dfd3cb952b9113098e1231cc0614c436e2f465637e39d27cf3b93556f5c59795e9790fd7e98da784c5f9919edeba4295ffeb29
+ languageName: node
+ linkType: hard
+
+"setimmediate@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "setimmediate@npm:1.0.5"
+ checksum: 87884d8add4779fe47ccf763396a5bf875640ae34d80a10802da4de5c25d87647c12f6e7748fd5b8c143b57201caf2a5a781631456c228825f166ca305c12f20
+ languageName: node
+ linkType: hard
+
+"shebang-command@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "shebang-command@npm:2.0.0"
+ dependencies:
+ shebang-regex: ^3.0.0
+ checksum: 85aa394d8cedeedf2e03524d6defef67a2b07d3a17d7ee50d4281d62d3fca898f26ebe7aa7bf674d51b80f197aa1d346bc1a10e8efb04377b534f4322c621012
+ languageName: node
+ linkType: hard
+
+"shebang-regex@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "shebang-regex@npm:3.0.0"
+ checksum: ea18044ffaf18129ced5a246660a9171a7dff98999aaa9de8abb237d8a7711d8a1f76e16881399994ee429156717ce1c6a50c665bb18a4d55a7f80b9125b1f7d
+ languageName: node
+ linkType: hard
+
+"shimmer@npm:^1.1.0":
+ version: 1.2.1
+ resolution: "shimmer@npm:1.2.1"
+ checksum: 23431fc4c5cf2df4c4ffca20a415ac18fbc989bdec595b97b541c65b08cf04da55c5b4e1d7b7ea73d17fc92d4c33bd6e97e4da356adbf0349e06813068263d87
+ languageName: node
+ linkType: hard
+
+"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "signal-exit@npm:3.0.2"
+ checksum: e4a13a074d8f32d804950dd21490295513c683a5692685b96087b29de3b74990e798c61c7bd4c6133c34c890f6133ad6361e26fd6a7b142b86aa4df13449444e
+ languageName: node
+ linkType: hard
+
+"slash@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "slash@npm:3.0.0"
+ checksum: fc3e8597d822ee3ba6cd76e9b001cd5be315f9b81c3a03a29bb611c003d1484e3b29a9e7bc020298fa669b585ff7c9268f44513f60c186216eb6af3111a3e838
+ languageName: node
+ linkType: hard
+
+"slice-ansi@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "slice-ansi@npm:2.1.0"
+ dependencies:
+ ansi-styles: ^3.2.0
+ astral-regex: ^1.0.0
+ is-fullwidth-code-point: ^2.0.0
+ checksum: 7578393cac91c28f8cb5fa5df36b826ad62c9e66313d2547770db8401570fa8f4aa20cd84ef9244fa054d8e9cc6bfc02578784bb89b238d384b99f2728a35a6d
+ languageName: node
+ linkType: hard
+
+"source-map-support@npm:^0.5.17":
+ version: 0.5.19
+ resolution: "source-map-support@npm:0.5.19"
+ dependencies:
+ buffer-from: ^1.0.0
+ source-map: ^0.6.0
+ checksum: 59d4efaae97755155b078413ecba63517e3ef054cc7ab767bbd30e6f3054be2ae8e8f5cce7eef53b7eb93e98fe27a58dd8f5e7abfb13144ba420ddaf5267bbb2
+ languageName: node
+ linkType: hard
+
+"source-map@npm:^0.6.0":
+ version: 0.6.1
+ resolution: "source-map@npm:0.6.1"
+ checksum: 8647829a0611724114022be455ca1c8a2c8ae61df81c5b3667d9b398207226a1e21174fb7bbf0b4dbeb27ac358222afb5a14f1c74a62a62b8883b012e5eb1270
+ languageName: node
+ linkType: hard
+
+"spotify-uri@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "spotify-uri@npm:2.1.0"
+ checksum: 1a10b8bb1058db86ace626790a50750ae6bb5ce8bff26d42946ce324b6b7bb6c91ab80eace2b9f261698a9b56a75bcabbd7b0ab31d4dc65b0fa809a848584a6b
+ languageName: node
+ linkType: hard
+
+"spotify-web-api-node@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "spotify-web-api-node@npm:5.0.0"
+ dependencies:
+ superagent: ^6.1.0
+ checksum: 0487b59508f1929c58bd6f42c0fc98d9015bd246b8ee70e574fb1a04c012a3426819ec2a36a89f679166954b92023f6e56240dfb94ed93bea04a1aee4cc5cc66
+ languageName: node
+ linkType: hard
+
+"sprintf-js@npm:~1.0.2":
+ version: 1.0.3
+ resolution: "sprintf-js@npm:1.0.3"
+ checksum: 51df1bce9e577287f56822d79ac5bd94f6c634fccf193895f2a1d2db2e975b6aa7bc97afae9cf11d49b7c37fe4afc188ff5c4878be91f2c86eabd11c5df8b62c
+ languageName: node
+ linkType: hard
+
+"sqlite3@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "sqlite3@npm:5.0.0"
+ dependencies:
+ node-addon-api: 2.0.0
+ node-gyp: 3.x
+ node-pre-gyp: ^0.11.0
+ peerDependencies:
+ node-gyp: 3.x
+ dependenciesMeta:
+ node-gyp:
+ optional: true
+ peerDependenciesMeta:
+ node-gyp:
+ optional: true
+ checksum: 224dc7fd92629e013f83149064e495238297d2901d9613766c914dbb5e4786278936c38e5dab8563d22e252d00123d8e87bc071225e25594ae8730509e5a8a36
+ languageName: node
+ linkType: hard
+
+"sshpk@npm:^1.7.0":
+ version: 1.16.1
+ resolution: "sshpk@npm:1.16.1"
+ dependencies:
+ asn1: ~0.2.3
+ assert-plus: ^1.0.0
+ bcrypt-pbkdf: ^1.0.0
+ dashdash: ^1.12.0
+ ecc-jsbn: ~0.1.1
+ getpass: ^0.1.1
+ jsbn: ~0.1.0
+ safer-buffer: ^2.0.2
+ tweetnacl: ~0.14.0
+ bin:
+ sshpk-conv: bin/sshpk-conv
+ sshpk-sign: bin/sshpk-sign
+ sshpk-verify: bin/sshpk-verify
+ checksum: 4bd7422634ec3730404186179e5d9ba913accc64449f18d594b3a757a3b81000719adc94cf0c93a7b3da42487ae42404a1f37bfaa7908a60743d4478382b9d78
+ languageName: node
+ linkType: hard
+
+"string-width@npm:^1.0.1":
+ version: 1.0.2
+ resolution: "string-width@npm:1.0.2"
+ dependencies:
+ code-point-at: ^1.0.0
+ is-fullwidth-code-point: ^1.0.0
+ strip-ansi: ^3.0.0
+ checksum: b11745daa9398a1b3bb37ffa64263f9869c5f790901ed1242decb08171785346447112ead561cffde6b222a5ebeab9d2b382c72ae688859e852aa29325ca9d0b
+ languageName: node
+ linkType: hard
+
+"string-width@npm:^1.0.2 || 2":
+ version: 2.1.1
+ resolution: "string-width@npm:2.1.1"
+ dependencies:
+ is-fullwidth-code-point: ^2.0.0
+ strip-ansi: ^4.0.0
+ checksum: 906b4887c39d247e9d12dfffb42bfe68655b52d27758eb13e069dce0f4cf2e7f82441dbbe44f7279298781e6f68e1c659451bd4d9e2bbe9d487a157ad14ae1bd
+ languageName: node
+ linkType: hard
+
+"string-width@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "string-width@npm:3.1.0"
+ dependencies:
+ emoji-regex: ^7.0.1
+ is-fullwidth-code-point: ^2.0.0
+ strip-ansi: ^5.1.0
+ checksum: 54c5d1842dc122d8e0251ad50e00e91c06368f1aca44f41a67cd5ce013c4ba8f5a26f1b7f72a3e1644f38c62092a82c86b646aff514073894faf84b9564a38a0
+ languageName: node
+ linkType: hard
+
+"string-width@npm:^4.0.0, string-width@npm:^4.1.0":
+ version: 4.2.0
+ resolution: "string-width@npm:4.2.0"
+ dependencies:
+ emoji-regex: ^8.0.0
+ is-fullwidth-code-point: ^3.0.0
+ strip-ansi: ^6.0.0
+ checksum: cf1e8acddf3d6d6e9e168628cc58cf1b33b1e7e801af2a0c18316e4e8beb62361eb9aad6eab2fc86de972ab149cb7262aedc2a5d0c2ce28873c91b171cce84d7
+ languageName: node
+ linkType: hard
+
+"string_decoder@npm:^1.1.1":
+ version: 1.3.0
+ resolution: "string_decoder@npm:1.3.0"
+ dependencies:
+ safe-buffer: ~5.2.0
+ checksum: 0a09afb610cb538707fcf0a50a080f159040529eabdba82f23b04f1d1f90adf9ba18cc3800231c6ab2ee55dece047f4bed87c56da52b2afd85c3c7fb73eb7e48
+ languageName: node
+ linkType: hard
+
+"string_decoder@npm:~1.1.1":
+ version: 1.1.1
+ resolution: "string_decoder@npm:1.1.1"
+ dependencies:
+ safe-buffer: ~5.1.0
+ checksum: bc2dc169d83df1b9e94defe7716bcad8a19ffe8211b029581cb0c6f9e83a6a7ba9ec3be38d179708a8643c692868a2b8b004ab159555dc26089ad3fa7b2158f5
+ languageName: node
+ linkType: hard
+
+"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "strip-ansi@npm:3.0.1"
+ dependencies:
+ ansi-regex: ^2.0.0
+ checksum: 98772dcf440d08f65790ee38cd186b1f139fa69b430e75f9d9c11f97058662f82a22c2ba03a30f502f948958264e99051524fbf1819edaa8a8bbb909ece297da
+ languageName: node
+ linkType: hard
+
+"strip-ansi@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "strip-ansi@npm:4.0.0"
+ dependencies:
+ ansi-regex: ^3.0.0
+ checksum: 9ac63872c2ba5e8a946c6f3a9c1ab81db5b43bce0d24a33b016e5666d3efda421f721447a1962611053a3ca1595b8742b0216fcc25886958d4565b7afcd27013
+ languageName: node
+ linkType: hard
+
+"strip-ansi@npm:^5.1.0":
+ version: 5.2.0
+ resolution: "strip-ansi@npm:5.2.0"
+ dependencies:
+ ansi-regex: ^4.1.0
+ checksum: 44a0d0d354f5f7b15f83323879a9112ea746daae7bef0b68238a27626ee757d9a04ce6590433841e14b325e8e7c5d62b8442885e50497e21b7cbca6da40d54ea
+ languageName: node
+ linkType: hard
+
+"strip-ansi@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "strip-ansi@npm:6.0.0"
+ dependencies:
+ ansi-regex: ^5.0.0
+ checksum: 10568c91cadbef182a807c38dfa718dce15a35b12fcc97b96b6b2029d0508ef66ca93fabddeb49482d9b027495d1e18591858e80f27ad26861c4967c60fd207f
+ languageName: node
+ linkType: hard
+
+"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "strip-json-comments@npm:3.1.1"
+ checksum: f16719ce25abc58a55ef82b1c27f541dcfa5d544f17158f62d10be21ff9bd22fde45a53c592b29d80ad3c97ccb67b7451c4833913fdaeadb508a40f5e0a9c206
+ languageName: node
+ linkType: hard
+
+"strip-json-comments@npm:~2.0.1":
+ version: 2.0.1
+ resolution: "strip-json-comments@npm:2.0.1"
+ checksum: e60d99aa2849c27a04dce0620334f45822197df6b83664dd3746971e9a0a766d989dbb8d87f9cb7350725d2b5df401a2343222ad06e36a1ba7d62c6633267fcb
+ languageName: node
+ linkType: hard
+
+"superagent@npm:^6.1.0":
+ version: 6.1.0
+ resolution: "superagent@npm:6.1.0"
+ dependencies:
+ component-emitter: ^1.3.0
+ cookiejar: ^2.1.2
+ debug: ^4.1.1
+ fast-safe-stringify: ^2.0.7
+ form-data: ^3.0.0
+ formidable: ^1.2.2
+ methods: ^1.1.2
+ mime: ^2.4.6
+ qs: ^6.9.4
+ readable-stream: ^3.6.0
+ semver: ^7.3.2
+ checksum: bc21d32d9dd1dd0e33df5f5e112e6796b010ae08d4402d61cc232de6204c8fb5aaa04ed717873c217e033fc80e7c2578aa4f1b607feec54627a5f724805c1e5b
+ languageName: node
+ linkType: hard
+
+"supports-color@npm:^5.3.0, supports-color@npm:^5.5.0":
+ version: 5.5.0
+ resolution: "supports-color@npm:5.5.0"
+ dependencies:
+ has-flag: ^3.0.0
+ checksum: edacee6425498440744c418be94b0660181aad2a1828bcf2be85c42bd385da2fd8b2b358d9b62b0c5b03ff5cd3e992458d7b8f879d9fb42f2201fe05a4848a29
+ languageName: node
+ linkType: hard
+
+"supports-color@npm:^7.1.0":
+ version: 7.1.0
+ resolution: "supports-color@npm:7.1.0"
+ dependencies:
+ has-flag: ^4.0.0
+ checksum: 6130f36b2a71f73014a6ef306bbaa5415d8daa5c0294082762a0505e4fb6800b8a9d037b60ed54f0c69cdfc37860034047d6004481c21f22dd43151b5e9334f0
+ languageName: node
+ linkType: hard
+
+"table@npm:^5.2.3":
+ version: 5.4.6
+ resolution: "table@npm:5.4.6"
+ dependencies:
+ ajv: ^6.10.2
+ lodash: ^4.17.14
+ slice-ansi: ^2.1.0
+ string-width: ^3.0.0
+ checksum: 38877a196c0a57b955e4965fa3ff1cede38649b6e1f6286aa5435579dfd01663fdf8d19c87510e67a79474d75ae0144a0819f2054d654c45d7f525270aafe56b
+ languageName: node
+ linkType: hard
+
+"tar@npm:^2.0.0":
+ version: 2.2.2
+ resolution: "tar@npm:2.2.2"
+ dependencies:
+ block-stream: "*"
+ fstream: ^1.0.12
+ inherits: 2
+ checksum: a8eeafd7eafd143df2034cfec228abc4f7bfec96a988fe6e970e1224e46a91b3cd9f34656574658e5cf31bdf48e3a8b04474a81bbdef65caaeaa19f9239dc1f6
+ languageName: node
+ linkType: hard
+
+"tar@npm:^4":
+ version: 4.4.13
+ resolution: "tar@npm:4.4.13"
+ dependencies:
+ chownr: ^1.1.1
+ fs-minipass: ^1.2.5
+ minipass: ^2.8.6
+ minizlib: ^1.2.1
+ mkdirp: ^0.5.0
+ safe-buffer: ^5.1.2
+ yallist: ^3.0.3
+ checksum: d325c316ac329ecb18f2b8cd3f85a80ab4a4105ada601b9253aaafae3fc14268e3cd874ccc265b6a08e60ebd17fbc31bd3dbc0d1018f874b536eb2a6e8ef6d9c
+ languageName: node
+ linkType: hard
+
+"tar@npm:^6.0.2":
+ version: 6.0.5
+ resolution: "tar@npm:6.0.5"
+ dependencies:
+ chownr: ^2.0.0
+ fs-minipass: ^2.0.0
+ minipass: ^3.0.0
+ minizlib: ^2.1.1
+ mkdirp: ^1.0.3
+ yallist: ^4.0.0
+ checksum: 7ae26210927bdf590686db21e66d5579020ccbebda93a1adffe266eb88ca8b152c56dd8ce0df87d81e3dbe709bfe8562b29c584871ba015ec868dec9062e91ea
+ languageName: node
+ linkType: hard
+
+"term-size@npm:^2.1.0":
+ version: 2.2.0
+ resolution: "term-size@npm:2.2.0"
+ checksum: 02307492dfe602234355d55f23f4ce0125ad2dea428a63337e031bc97d2f7832b12c66eb64853f4dc30bdfc05377bc161da8659ecc30303a1ac616a619f284bb
+ languageName: node
+ linkType: hard
+
+"text-table@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "text-table@npm:0.2.0"
+ checksum: 373904ce70524ba11ec7e1905c44fb92671132d5e0b0aba2fb48057161f8bf9cbf7f6178f0adf31810150cf44fb52c7b912dc722bff3fddf9688378596dbeb56
+ languageName: node
+ linkType: hard
+
+"to-readable-stream@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "to-readable-stream@npm:1.0.0"
+ checksum: aa4b65d3e7a60d7b51204585187bdfd2159788a22ec241451c782552699e8dec39dcb8a9cd4957e03f32191ca18d3ea80abd9bb40005a8f1631df8fbba22b413
+ languageName: node
+ linkType: hard
+
+"to-regex-range@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "to-regex-range@npm:5.0.1"
+ dependencies:
+ is-number: ^7.0.0
+ checksum: 2b6001e314e4998a07137c197e333fac2f86d46d0593da90b678ae64e2daa07274b508f83cca09e6b3504cdf222497dcb5b7daceb6dc13a9a8872f58a27db907
+ languageName: node
+ linkType: hard
+
+"toposort-class@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "toposort-class@npm:1.0.1"
+ checksum: cead76d5abf1090ba903f36f42fbd69c78dd417593bce8d0f64c0f4226a34fa8c6ac92e7be358da90fdae800dd8b3c069eaf07ef6fac4cd53016575b9a100871
+ languageName: node
+ linkType: hard
+
+"touch@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "touch@npm:3.1.0"
+ dependencies:
+ nopt: ~1.0.10
+ bin:
+ nodetouch: ./bin/nodetouch.js
+ checksum: 97a6a508e3e0e00120a1ffd49656ea5124f629e9c1147f189abd795c4e6723460a593ea97c95f5dfaa97845f30438ec50e7a0d2a91e942f59ffa919b635e7092
+ languageName: node
+ linkType: hard
+
+"tough-cookie@npm:~2.5.0":
+ version: 2.5.0
+ resolution: "tough-cookie@npm:2.5.0"
+ dependencies:
+ psl: ^1.1.28
+ punycode: ^2.1.1
+ checksum: bf5d6fac5ce0bebc5876cb9b9a79d3d9ea21c9e4099f3d3e64701d6ba170a052cb88cece6737ec2473bac4f0a4f6c75d46ec17985be8587c6bbdd38d91625cb4
+ languageName: node
+ linkType: hard
+
+"ts-node@npm:^9.0.0":
+ version: 9.0.0
+ resolution: "ts-node@npm:9.0.0"
+ dependencies:
+ arg: ^4.1.0
+ diff: ^4.0.1
+ make-error: ^1.1.1
+ source-map-support: ^0.5.17
+ yn: 3.1.1
+ peerDependencies:
+ typescript: ">=2.7"
+ bin:
+ ts-node: dist/bin.js
+ ts-node-script: dist/bin-script.js
+ ts-node-transpile-only: dist/bin-transpile.js
+ ts-script: dist/bin-script-deprecated.js
+ checksum: 49d2ab087fc4b93f0a292e426ea6d242a80d1a4809ac008758bb0170aea1a85cd4182792c1d70889285fe5328cd8bd1ffb1e5108d1c4f31c39dbe9151ea4cabe
+ languageName: node
+ linkType: hard
+
+"tslib@npm:^1.8.1":
+ version: 1.11.1
+ resolution: "tslib@npm:1.11.1"
+ checksum: d40eba08de267b2d3c458ddbf51f9010a45b8e752d3bf8c0fed63e266afc9277c6a26e65e51223335b8753f9f106aeb600e704f2a6eae05729160671a97c52e7
+ languageName: node
+ linkType: hard
+
+"tsutils@npm:^3.17.1":
+ version: 3.17.1
+ resolution: "tsutils@npm:3.17.1"
+ dependencies:
+ tslib: ^1.8.1
+ peerDependencies:
+ typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ checksum: bed8ff7998d90a7ab9f3bdb26d36dae0edfcdb3e4f07994fb59df8d42e62ee07d591d3a435fb65cb50b6ca9af6b76c9bc9423a216186e5085d91793fa169c248
+ languageName: node
+ linkType: hard
+
+"tunnel-agent@npm:^0.6.0":
+ version: 0.6.0
+ resolution: "tunnel-agent@npm:0.6.0"
+ dependencies:
+ safe-buffer: ^5.0.1
+ checksum: 03db75a4f994fee610d3485c492e95105ed265a9fecd49d14c98e9982f973ecc0220d0c1bc264e37802e423a1274bb63788a873e4e07009408ae3ac517347fd7
+ languageName: node
+ linkType: hard
+
+"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0":
+ version: 0.14.5
+ resolution: "tweetnacl@npm:0.14.5"
+ checksum: e1c9d52e2e9f582fd0df9ea26ba5a9ab88b9a38b69625d8e55c5e8870a4832ac8c32f8854b41fce7b59f97258bb103535363f9eda7050aa70e75824b972c7dde
+ languageName: node
+ linkType: hard
+
+"tweetnacl@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "tweetnacl@npm:1.0.3"
+ checksum: 1188f3ef85db04d6dba632d211e481ae0a5805974491633ff60bd56ae3362312dfea1515e0d200685867b69ff212e8778e26923f8203e3c335064b07f620a6c7
+ languageName: node
+ linkType: hard
+
+"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
+ version: 0.4.0
+ resolution: "type-check@npm:0.4.0"
+ dependencies:
+ prelude-ls: ^1.2.1
+ checksum: 6c2e1ce339567e122504f0c729cfa35d877fb2da293b99110f0819eca81e6ed8d3ba9bb36c0bc0ee4904d5340dbe678f8642a395c1c67b1d0f69f081efb47f4a
+ languageName: node
+ linkType: hard
+
+"type-fest@npm:^0.8.0, type-fest@npm:^0.8.1":
+ version: 0.8.1
+ resolution: "type-fest@npm:0.8.1"
+ checksum: f8c4b4249f52e8bea7a4fc55b3653c96c2d547240e4c772e001d02b7cc38b8c3eb493ab9fbe985a76a203cd1aa7044776b728a71ba12bf36e7131f989597885b
+ languageName: node
+ linkType: hard
+
+"typedarray-to-buffer@npm:^3.1.5":
+ version: 3.1.5
+ resolution: "typedarray-to-buffer@npm:3.1.5"
+ dependencies:
+ is-typedarray: ^1.0.0
+ checksum: e6e0e6812acc3496612d81abe026bb6c71bfc0f3daa00716a3236fe37c46a81508de8306df8a29ae81e2a2c4293b6b8067c77b65003e0022134d544902b9acec
+ languageName: node
+ linkType: hard
+
+typescript@^4.0.3:
+ version: 4.0.3
+ resolution: "typescript@npm:4.0.3"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 5c892e132756a83d22030d7fb38be47cde27613f71d233dbe7faf79e4a92852c5146bfddcaf8c2da1a37d35ae8bf7b8c888fdcd763d5ad184cea6b21e7466838
+ languageName: node
+ linkType: hard
+
+"typescript@patch:typescript@^4.0.3#builtin<compat/typescript>":
+ version: 4.0.3
+ resolution: "typescript@patch:typescript@npm%3A4.0.3#builtin<compat/typescript>::version=4.0.3&hash=5bf698"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 72db87d09f728c83062d64b5e12ed52effb6278963b6bc5c006219b22c104e02b8ce80164261de554923d3c47d894a1ca937ed542328caccb83ebaedeae98a69
+ languageName: node
+ linkType: hard
+
+"undefsafe@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "undefsafe@npm:2.0.3"
+ dependencies:
+ debug: ^2.2.0
+ checksum: 0974f82a8750c3c247d5a9cf7fe91279d1fad0069dda7b717937e7960addddedf2ddabe3ffb1f504929acd0c924ef654c5c85185aee4c514a0fbf2e2a4efcf39
+ languageName: node
+ linkType: hard
+
+"unique-random-array@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "unique-random-array@npm:2.0.0"
+ dependencies:
+ unique-random: ^2.1.0
+ checksum: 4c4a36d2f824af8cce568b18bc04cfe40fa99108cc42f6ecb2028f9c2cfc4237f979817f51afaab6b0232361dbde305b403b93f9b181a84442787a8f9e108392
+ languageName: node
+ linkType: hard
+
+"unique-random@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "unique-random@npm:2.1.0"
+ checksum: 8c34a932c0dd63249a790f9720f5029722c0c5f9082bcc5716ad147a5904cddb2b8b16f49ef7692148e1f7bde6c5883e46ed18650a5fc4526673f3c0a3c4eec9
+ languageName: node
+ linkType: hard
+
+"unique-string@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "unique-string@npm:2.0.0"
+ dependencies:
+ crypto-random-string: ^2.0.0
+ checksum: a2748b41eaada391800773c16674fe4e9a3f078162e49b2c6b4e67d36061a0f97be4b7851136d786ed5e4ddc90770400fd54bf32aed1e08ec9a9219d9b66bad3
+ languageName: node
+ linkType: hard
+
+"update-notifier@npm:^4.1.0":
+ version: 4.1.3
+ resolution: "update-notifier@npm:4.1.3"
+ dependencies:
+ boxen: ^4.2.0
+ chalk: ^3.0.0
+ configstore: ^5.0.1
+ has-yarn: ^2.1.0
+ import-lazy: ^2.1.0
+ is-ci: ^2.0.0
+ is-installed-globally: ^0.3.1
+ is-npm: ^4.0.0
+ is-yarn-global: ^0.3.0
+ latest-version: ^5.0.0
+ pupa: ^2.0.1
+ semver-diff: ^3.1.1
+ xdg-basedir: ^4.0.0
+ checksum: 90362dcdf349651f92cffc6b9c1dfe6cb1035c1af3e4952316800d7aa05e98ba7bd291edd315aa215ce3f9b4b246f1fc2489a25c85c6fee8bdd0163731b3e1fa
+ languageName: node
+ linkType: hard
+
+"uri-js@npm:^4.2.2":
+ version: 4.2.2
+ resolution: "uri-js@npm:4.2.2"
+ dependencies:
+ punycode: ^2.1.0
+ checksum: 651a49f55d6d65a15e589ed5ffa23bf99e495699e246c1c3fecbe6f232c675589fdae4e93a88608525ff130f39b6fb854c19982820813a2d94c005c11eafd7ed
+ languageName: node
+ linkType: hard
+
+"url-parse-lax@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "url-parse-lax@npm:3.0.0"
+ dependencies:
+ prepend-http: ^2.0.0
+ checksum: 334817036b300c35023798b8ceac23ea61b51f231a867112e3a85778d65191a3ccb67e7b69b608d45433d55da392cf0d72cd3c85f2542f6ec34733e455c229d5
+ languageName: node
+ linkType: hard
+
+"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1":
+ version: 1.0.2
+ resolution: "util-deprecate@npm:1.0.2"
+ checksum: 73c2b1cf0210ccac300645384d8443cabbd93194117b2dc1b3bae8d8279ad39aedac857e020c4ea505e96a1045059c7359db3df6a9df0be6b8584166c9d61dc9
+ languageName: node
+ linkType: hard
+
+"uuid@npm:^3.3.2, uuid@npm:^3.3.3":
+ version: 3.4.0
+ resolution: "uuid@npm:3.4.0"
+ bin:
+ uuid: ./bin/uuid
+ checksum: 1ce3f37e214d6d0dc94a6a9663a0365013ace66bc3fd5b203e6f5d2eeb978aaee1192367222386345d30b4c6a447928c501121aa84c637724bf105ef57284949
+ languageName: node
+ linkType: hard
+
+"v8-compile-cache@npm:^2.0.3":
+ version: 2.1.0
+ resolution: "v8-compile-cache@npm:2.1.0"
+ checksum: b7490d548401f6f4cadeb94da33b2d65473fb931e1f7c28fba02889c19adf1cfff884fb933c6282fc7e82e400f35eddc9d8fc577fa1e4998cc3797c4aaf6246c
+ languageName: node
+ linkType: hard
+
+"validator@npm:^10.11.0":
+ version: 10.11.0
+ resolution: "validator@npm:10.11.0"
+ checksum: 07a37cd1469001b121696c2aa5494e9a4e416feabad31d849c02dfa414ae39c7885acb08d81d50d45e0ec63a1269bd8169937acf76202a79dc1ae53e909186b5
+ languageName: node
+ linkType: hard
+
+"verror@npm:1.10.0":
+ version: 1.10.0
+ resolution: "verror@npm:1.10.0"
+ dependencies:
+ assert-plus: ^1.0.0
+ core-util-is: 1.0.2
+ extsprintf: ^1.2.0
+ checksum: 38ea80312cb42e5e8b4ac562d108d675b2354a79f8f125d363671f692657461b9181fd26f4fc9acdca433f8afee099cb78058806e1303e6b15b8fb022affba94
+ languageName: node
+ linkType: hard
+
+"which-pm-runs@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "which-pm-runs@npm:1.0.0"
+ checksum: 0bb79a782e98955afec8f35a3ae95c4711fdd3d0743772ee98211da67c2421fdd4c92c95c93532cc0b4dcc085d8e27f3ad2f8a9173cb632692379bd3d2818821
+ languageName: node
+ linkType: hard
+
+"which@npm:1, which@npm:^1.1.1":
+ version: 1.3.1
+ resolution: "which@npm:1.3.1"
+ dependencies:
+ isexe: ^2.0.0
+ bin:
+ which: ./bin/which
+ checksum: 298d95f9c185c4da22c1bfb1fdfa37c2ba56df8a6b98706ab361bf31a7d3a4845afaecfc48d4de7a259048842b5f2977f51b56f5c06c1f6a83dcf5a9e3de634a
+ languageName: node
+ linkType: hard
+
+"which@npm:^2.0.1, which@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "which@npm:2.0.2"
+ dependencies:
+ isexe: ^2.0.0
+ bin:
+ node-which: ./bin/node-which
+ checksum: ea9b1db1266b08f7880717cf70dd9012dd523e5a317f10fbe4d5e8c1a761c5fd237f88642f2ba33b23f973ff4002c9b26648d63084ab208d8ecef36497315f6e
+ languageName: node
+ linkType: hard
+
+"wide-align@npm:^1.1.0":
+ version: 1.1.3
+ resolution: "wide-align@npm:1.1.3"
+ dependencies:
+ string-width: ^1.0.2 || 2
+ checksum: 4f850f84da84b7471d7b92f55e381e7ba286210470fe77a61e02464ef66d10e96057a0d137bc013fbbedb7363a26e79c0e8b21d99bb572467d3fee0465b8fd27
+ languageName: node
+ linkType: hard
+
+"widest-line@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "widest-line@npm:3.1.0"
+ dependencies:
+ string-width: ^4.0.0
+ checksum: 729c30582e49bdcb1372216eedfd71d1640a1344a4b4e970bc9f33d575b56b130f530b383fbab2cf2bcffb76ea4357e6a66939778d8de91ca66037651d94e01a
+ languageName: node
+ linkType: hard
+
+"wkx@npm:^0.4.8":
+ version: 0.4.8
+ resolution: "wkx@npm:0.4.8"
+ dependencies:
+ "@types/node": "*"
+ checksum: b18c150a870dc62a6e4cb35666698a9ae1ffc6e629d8ae2a09e5c2dc65ab1f7df3075c91b8d8291091895fef6e8f8df853e214c14b6d27263508f7e6364844ef
+ languageName: node
+ linkType: hard
+
+"word-wrap@npm:^1.2.3":
+ version: 1.2.3
+ resolution: "word-wrap@npm:1.2.3"
+ checksum: 6526abd75d4409c76d1989cf2fbf6080b903db29824be3d17d0a0b8f6221486c76a021174eda2616cf311199787983c34bae3c5e7b51d2ad7476f2066cddb75a
+ languageName: node
+ linkType: hard
+
+"wrappy@npm:1":
+ version: 1.0.2
+ resolution: "wrappy@npm:1.0.2"
+ checksum: 519fcda0fcdf0c16327be2de9d98646742307bc830277e8868529fcf7566f2b330a6453c233e0cdcb767d5838dd61a90984a02ecc983bcddebea5ad0833bbf98
+ languageName: node
+ linkType: hard
+
+"write-file-atomic@npm:^3.0.0":
+ version: 3.0.3
+ resolution: "write-file-atomic@npm:3.0.3"
+ dependencies:
+ imurmurhash: ^0.1.4
+ is-typedarray: ^1.0.0
+ signal-exit: ^3.0.2
+ typedarray-to-buffer: ^3.1.5
+ checksum: a26a8699c30cdc81d041b2c1049c6773f1e8401edda365874e9ca2dcf1fcf024dfeb43eea5e08c2e9b4e77be08a160d37f8d6c5d8c2d3ceccdf3d06e5cb38d35
+ languageName: node
+ linkType: hard
+
+"write@npm:1.0.3":
+ version: 1.0.3
+ resolution: "write@npm:1.0.3"
+ dependencies:
+ mkdirp: ^0.5.1
+ checksum: e8f8fddefea3eaaf4c8bacf072161f82d5e05c5fb8f003e1bae52673b94b88a4954d97688c7403a20301d2f6e9f61363b1affe74286b499b39bc0c42f17a56cb
+ languageName: node
+ linkType: hard
+
+"ws@npm:^7.3.1":
+ version: 7.3.1
+ resolution: "ws@npm:7.3.1"
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ checksum: 9302f1f6658c5f3ecd6d35d1c5a38ad708d8e5404cba66ad884ead072ef7a4c948f54d728649a2cb3af1865ca0e15f903e0e2ac9df30c1a0d4dd00d00e6e0d4a
+ languageName: node
+ linkType: hard
+
+"xdg-basedir@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "xdg-basedir@npm:4.0.0"
+ checksum: 928953cb7dda8e2475932f748847a3aae751f44864a0067b03e5ca66820a36e1e9ffb647f9b06fb68ebcb0b9d06d5aee630717a1d2501be14cec99f82efa2fe6
+ languageName: node
+ linkType: hard
+
+"yallist@npm:^3.0.0, yallist@npm:^3.0.3":
+ version: 3.1.1
+ resolution: "yallist@npm:3.1.1"
+ checksum: f352c93b92f601bb0399210bca37272e669c961e9bd886bac545380598765cbfdfb4f166e7b6c57ca4ec8a5af4ab3fa0fd78a47f9a7d655a3d580ff0fc9e7d79
+ languageName: node
+ linkType: hard
+
+"yallist@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "yallist@npm:4.0.0"
+ checksum: a2960ef879af6ee67a76cae29bac9d8bffeb6e9e366c217dbd21464e7fce071933705544724f47e90ba5209cf9c83c17d5582dd04415d86747a826b2a231efb8
+ languageName: node
+ linkType: hard
+
+"yaml@npm:^1.10.0":
+ version: 1.10.0
+ resolution: "yaml@npm:1.10.0"
+ checksum: d4cc9f9724f8d0aebc2cf52e4e6aa7059f12d50deb54b5225d103462fb2af36e5c0bb419101ca4b1f0cd3b4db9e4139cf2c690e863ac6227648d39d6f4e2522c
+ languageName: node
+ linkType: hard
+
+"yn@npm:3.1.1":
+ version: 3.1.1
+ resolution: "yn@npm:3.1.1"
+ checksum: bff63b80568d80c711670935427494dde47cdf97e8b04196b140ce0af519c81c5ee857eddad0caa8b422dd65aea0157bbfaacbb1546bebba623f0f383d5d9ae5
+ languageName: node
+ linkType: hard
+
+"youtube.ts@npm:^0.1.8":
+ version: 0.1.8
+ resolution: "youtube.ts@npm:0.1.8"
+ dependencies:
+ axios: ^0.19.0
+ ytdl-core: ^3.2.2
+ checksum: 90f5b5f594e5fd0109aa753956247a53e5addb24192da9ffba41e7d71e2420256481e184e82db4b433ce53cb2c9c0043e103ecc3ae0c8b2d6722cebae54dc4d7
+ languageName: node
+ linkType: hard
+
+"ytdl-core@npm:^3.2.2":
+ version: 3.2.2
+ resolution: "ytdl-core@npm:3.2.2"
+ dependencies:
+ html-entities: ^1.3.1
+ m3u8stream: ^0.7.1
+ miniget: ^2.0.1
+ sax: ^1.1.3
+ checksum: 38dd227300ccda68232c32b00fc9b1e7a491d88734b6edff229fb0ba5db30d8ec4640d707588d8f64f8a6bddc16a48b89093c439eae703666f8ae48faf70ab74
+ languageName: node
+ linkType: hard
+
+"ytdl-core@npm:^3.4.2":
+ version: 3.4.2
+ resolution: "ytdl-core@npm:3.4.2"
+ dependencies:
+ html-entities: ^1.3.1
+ m3u8stream: ^0.7.1
+ miniget: ^2.0.1
+ sax: ^1.1.3
+ checksum: e7be7d2cf0bcb378e07e67c5490d96344655f213893a8d1dc9b9be9c16a2b07bd6cc2ce17355dcc842b742432bf113581ae965111542598887d182b2e5a3db40
+ languageName: node
+ linkType: hard
+
+"ytsr@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "ytsr@npm:1.0.4"
+ dependencies:
+ html-entities: ^1.3.1
+ miniget: ^2.0.1
+ checksum: 5938a1c278f0eb7cd24c52f0a7827d76a636e24b82fa3ad3762d91a43961b67d864f1ff3b3a9f91ec58347bfd97615f7afb61c2efd1bff735e2cf07d7b6d1b09
+ languageName: node
+ linkType: hard