diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 00000000..fb1289af --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,49 @@ +module.exports = { + extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:svelte/recommended", "prettier"], + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint", "prettier"], + root: true, + env: { + browser: true, + es2017: true, + node: true, + }, + parserOptions: { + sourceType: "module", + ecmaVersion: 2020, + extraFileExtensions: [".svelte"], + }, + rules: { + "no-constant-condition": "off", + "@typescript-eslint/no-namespace": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/explicit-module-boundary-types": "error", + "@typescript-eslint/consistent-type-imports": "error", + "@typescript-eslint/no-unused-vars": [ + "error", + { + args: "all", + argsIgnorePattern: "^_", + caughtErrors: "all", + caughtErrorsIgnorePattern: "^_", + destructuredArrayIgnorePattern: "^_", + varsIgnorePattern: "^_", + ignoreRestSiblings: true, + }, + ], + // "@typescript-eslint/no-non-null-assertion": "error", + "@typescript-eslint/no-explicit-any": "error", + "@typescript-eslint/no-empty-interfaces": "off", + // For doc purposes, prefer interfaces + "@typescript-eslint/consistent-type-definitions": ["error", "interface"], + }, + overrides: [ + { + files: ["*.svelte"], + parser: "svelte-eslint-parser", + parserOptions: { + parser: "@typescript-eslint/parser", + }, + }, + ], +}; diff --git a/.github/workflows/all.yml b/.github/workflows/all.yml index bf6a558d..06f33d56 100644 --- a/.github/workflows/all.yml +++ b/.github/workflows/all.yml @@ -1,14 +1,18 @@ name: All -on: [pull_request, push] +on: + pull_request: + push: + branches: + - master jobs: prettier: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: '16' + node-version: '20' - run: corepack enable - - run: pnpm install - - run: pnpm run prettier-check + - run: pnpm --filter root install + - run: pnpm run format:check diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index 5f66d545..33517c5e 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -21,10 +21,10 @@ jobs: lint_and_test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: '16' + node-version: '20' - name: Start MongoDB uses: supercharge/mongodb-github-action@1.3.0 @@ -32,9 +32,8 @@ jobs: mongodb-version: 4.4 - run: corepack enable - - run: pnpm install --filter {./}... + - run: pnpm --filter root install + - run: pnpm --filter api... install - run: pnpm run lint-check - - run: pnpm install --filter "@bgs/models" - - run: pnpm install --filter "@bgs/utils" - - run: pnpm run tsc + - run: pnpm run type-check - run: pnpm run test diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 23ac5147..f84bc601 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -15,10 +15,10 @@ jobs: deploy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: '16' + node-version: '20' - run: corepack enable - run: echo "${{ secrets.GIT_PAGES_PRIVATEKEY }}" > ~/key - run: chmod 600 ~/key diff --git a/.github/workflows/game-server.yml b/.github/workflows/game-server.yml index dda31f0f..ab6ecd36 100644 --- a/.github/workflows/game-server.yml +++ b/.github/workflows/game-server.yml @@ -21,12 +21,12 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: '16' + node-version: '20' - run: corepack enable - - run: pnpm install --filter {./}... + - run: pnpm --filter root install + - run: pnpm --filter game-server... install - run: pnpm run lint-check - - run: pnpm install --filter "@bgs/models" - - run: pnpm run tsc + - run: pnpm run type-check diff --git a/.github/workflows/utils.yml b/.github/workflows/utils.yml index c1784691..9bc9a964 100644 --- a/.github/workflows/utils.yml +++ b/.github/workflows/utils.yml @@ -19,10 +19,11 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: '16' + node-version: '20' - run: corepack enable - - run: pnpm install --filter {./}... + - run: pnpm --filter root install + - run: pnpm --filter utils... install - run: pnpm test diff --git a/.prettierrc b/.prettierrc index 4eed3ace..7bf4e6cf 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,4 @@ { - "pluginSearchDirs": ["."], "printWidth": 120, "tabWidth": 2, "trailingComma": "es5", diff --git a/.vscode/settings.json b/.vscode/settings.json index 2102d8b7..d682fd27 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,8 @@ { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, - "editor.tabSize": 2 + "editor.tabSize": 2, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "always" + } } diff --git a/apps/admin/.eslintrc.js b/apps/admin/.eslintrc.js deleted file mode 100644 index f99f8da8..00000000 --- a/apps/admin/.eslintrc.js +++ /dev/null @@ -1,34 +0,0 @@ -module.exports = { - root: true, - extends: ["@antfu"], - rules: { - "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", - "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", - semi: ["error", "always"], - curly: "off", - "@typescript-eslint/member-delimiter-style": [ - "error", - { - multiline: { - delimiter: "semi", - requireLast: true, - }, - singleline: { - delimiter: "semi", - requireLast: false, - }, - multilineDetection: "brackets", - }, - ], - "@typescript-eslint/semi": ["error", "always"], - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/consistent-type-assertions": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/no-unused-vars": "off", - "no-return-assign": "off", - quotes: "off", - "space-before-function-paren": "off", - "comma-dangle": "off", - }, -}; diff --git a/apps/admin/index.html b/apps/admin/index.html index ec168d90..fb3a7ba5 100644 --- a/apps/admin/index.html +++ b/apps/admin/index.html @@ -1,4 +1,4 @@ -<!DOCTYPE html> +<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> diff --git a/apps/admin/package.json b/apps/admin/package.json index fa53b838..3abc54ac 100644 --- a/apps/admin/package.json +++ b/apps/admin/package.json @@ -1,6 +1,7 @@ { "name": "@bgs/admin", "version": "0.1.0", + "packageManager": "pnpm@8.10.5", "private": true, "license": "AGPL-3.0", "scripts": { @@ -44,7 +45,6 @@ "pnpm": "^6.14.5", "sass": "^1.39.0", "type-fest": "^2.1.0", - "typescript": "^4.4.2", "unplugin-auto-import": "^0.2.6", "unplugin-icons": "^0.7.3", "unplugin-vue-components": "^0.14.5", diff --git a/apps/admin/pnpm-lock.yaml b/apps/admin/pnpm-lock.yaml index be05e651..d6fed855 100644 --- a/apps/admin/pnpm-lock.yaml +++ b/apps/admin/pnpm-lock.yaml @@ -1,191 +1,246 @@ -lockfileVersion: 5.3 - -specifiers: - '@antfu/eslint-config': ^0.7.0 - '@iconify/json': ^1.1.395 - '@intlify/vite-plugin-vue-i18n': ^2.4.0 - '@bgs/types': workspace:* - '@toast-ui/editor': ^3.0.3 - '@types/lodash': ^4.14.150 - '@types/markdown-it-link-attributes': ^3.0.1 - '@types/nprogress': ^0.2.0 - '@vitejs/plugin-vue': ^1.6.0 - '@vue/compiler-sfc': ^3.2.6 - '@vue/server-renderer': ^3.2.6 - '@vueuse/core': ^6.0.0 - '@vueuse/head': ^0.6.0 - '@vueuse/integrations': ^6.4.1 - awesome-notifications: ^3.1.1 - critters: ^0.0.10 - cross-env: ^7.0.3 - dotenv: ^8.2.0 - eslint: ^7.32.0 - https-localhost: ^4.6.5 - lodash: ^4.17.15 - markdown-it-link-attributes: ^3.0.0 - markdown-it-prism: ^2.2.0 - nprogress: ^0.2.0 - pinia: ^2.0.0-rc.6 - pnpm: ^6.14.5 - prism-theme-vars: ^0.2.2 - sass: ^1.39.0 - type-fest: ^2.1.0 - typescript: ^4.4.2 - unplugin-auto-import: ^0.2.6 - unplugin-icons: ^0.7.3 - unplugin-vue-components: ^0.14.5 - vite: ^2.5.1 - vite-plugin-md: ^0.11.0 - vite-plugin-pages: ^0.18.0 - vite-plugin-pwa: ^0.11.2 - vite-plugin-vue-layouts: ^0.3.1 - vite-plugin-windicss: ^1.3.0 - vite-ssg: ^0.14.7 - vue: ^3.2.6 - vue-demi: ^0.11.3 - vue-i18n: ^9.1.7 - vue-router: ^4.0.11 - vue-tsc: ^0.3.0 +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false dependencies: - '@toast-ui/editor': 3.0.3 - '@vueuse/core': 6.0.0_vue@3.2.6 - '@vueuse/head': 0.6.0_vue@3.2.6 - '@vueuse/integrations': 6.4.1_vue@3.2.6 - awesome-notifications: 3.1.1 - lodash: 4.17.21 - nprogress: 0.2.0 - pinia: 2.0.0-rc.6_typescript@4.4.2+vue@3.2.6 - prism-theme-vars: 0.2.2 - vue: 3.2.6 - vue-demi: 0.11.3_vue@3.2.6 - vue-i18n: 9.1.7_vue@3.2.6 - vue-router: 4.0.11_vue@3.2.6 + '@toast-ui/editor': + specifier: ^3.0.3 + version: 3.0.3 + '@vueuse/core': + specifier: ^6.0.0 + version: 6.0.0(vue@3.2.6) + '@vueuse/head': + specifier: ^0.6.0 + version: 0.6.0(vue@3.2.6) + '@vueuse/integrations': + specifier: ^6.4.1 + version: 6.4.1(react-dom@17.0.2)(react@17.0.2)(vue@3.2.6) + awesome-notifications: + specifier: ^3.1.1 + version: 3.1.1 + lodash: + specifier: ^4.17.15 + version: 4.17.21 + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + pinia: + specifier: ^2.0.0-rc.6 + version: 2.0.0-rc.6(typescript@4.4.2)(vue@3.2.6) + prism-theme-vars: + specifier: ^0.2.2 + version: 0.2.2 + vue: + specifier: ^3.2.6 + version: 3.2.6 + vue-demi: + specifier: ^0.11.3 + version: 0.11.3(vue@3.2.6) + vue-i18n: + specifier: ^9.1.7 + version: 9.1.7(vue@3.2.6) + vue-router: + specifier: ^4.0.11 + version: 4.0.11(vue@3.2.6) devDependencies: - '@antfu/eslint-config': 0.7.0_eslint@7.32.0+typescript@4.4.2 - '@iconify/json': 1.1.396 - '@intlify/vite-plugin-vue-i18n': 2.4.0_vite@2.5.3+vue-i18n@9.1.7 - '@bgs/types': link:../../packages/types - '@types/lodash': 4.14.172 - '@types/markdown-it-link-attributes': 3.0.1 - '@types/nprogress': 0.2.0 - '@vitejs/plugin-vue': 1.6.0_@vue+compiler-sfc@3.2.6 - '@vue/compiler-sfc': 3.2.6 - '@vue/server-renderer': 3.2.6_vue@3.2.6 - critters: 0.0.10 - cross-env: 7.0.3 - dotenv: 8.6.0 - eslint: 7.32.0 - https-localhost: 4.6.5 - markdown-it-link-attributes: 3.0.0 - markdown-it-prism: 2.2.0 - pnpm: 6.14.5 - sass: 1.39.0 - type-fest: 2.1.0 - typescript: 4.4.2 - unplugin-auto-import: 0.2.7_@vueuse+core@6.0.0+vite@2.5.3 - unplugin-icons: 0.7.4_48164ae4b6dc92a65fc7698affb1b4bb - unplugin-vue-components: 0.14.8_vite@2.5.3+vue@3.2.6 - vite: 2.5.3 - vite-plugin-md: 0.11.0_vite@2.5.3 - vite-plugin-pages: 0.18.0_85f8159c192bb7693f56931f9dcf5b10 - vite-plugin-pwa: 0.11.2_vite@2.5.3 - vite-plugin-vue-layouts: 0.3.1_vite@2.5.3 - vite-plugin-windicss: 1.3.0_typescript@4.4.2+vite@2.5.3 - vite-ssg: 0.14.7_f9709d00341f1d6c66a36b1bdc92dd2d - vue-tsc: 0.3.0_typescript@4.4.2 + '@antfu/eslint-config': + specifier: ^0.7.0 + version: 0.7.0(eslint@7.32.0)(typescript@4.4.2) + '@bgs/types': + specifier: workspace:* + version: link:../../packages/types + '@iconify/json': + specifier: ^1.1.395 + version: 1.1.396 + '@intlify/vite-plugin-vue-i18n': + specifier: ^2.4.0 + version: 2.4.0(vite@2.5.3)(vue-i18n@9.1.7) + '@types/lodash': + specifier: ^4.14.150 + version: 4.14.172 + '@types/markdown-it-link-attributes': + specifier: ^3.0.1 + version: 3.0.1 + '@types/nprogress': + specifier: ^0.2.0 + version: 0.2.0 + '@vitejs/plugin-vue': + specifier: ^1.6.0 + version: 1.6.0(@vue/compiler-sfc@3.2.6) + '@vue/compiler-sfc': + specifier: ^3.2.6 + version: 3.2.6(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2) + '@vue/server-renderer': + specifier: ^3.2.6 + version: 3.2.6(vue@3.2.6) + critters: + specifier: ^0.0.10 + version: 0.0.10 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + dotenv: + specifier: ^8.2.0 + version: 8.6.0 + eslint: + specifier: ^7.32.0 + version: 7.32.0 + https-localhost: + specifier: ^4.6.5 + version: 4.6.5 + markdown-it-link-attributes: + specifier: ^3.0.0 + version: 3.0.0 + markdown-it-prism: + specifier: ^2.2.0 + version: 2.2.0 + pnpm: + specifier: ^6.14.5 + version: 6.14.5 + sass: + specifier: ^1.39.0 + version: 1.39.0 + type-fest: + specifier: ^2.1.0 + version: 2.1.0 + unplugin-auto-import: + specifier: ^0.2.6 + version: 0.2.7(@vueuse/core@6.0.0)(rollup@2.56.3)(vite@2.5.3) + unplugin-icons: + specifier: ^0.7.3 + version: 0.7.4(@iconify/json@1.1.396)(@vue/compiler-sfc@3.2.6)(rollup@2.56.3)(vite@2.5.3) + unplugin-vue-components: + specifier: ^0.14.5 + version: 0.14.8(rollup@2.56.3)(vite@2.5.3)(vue@3.2.6) + vite: + specifier: ^2.5.1 + version: 2.5.3 + vite-plugin-md: + specifier: ^0.11.0 + version: 0.11.0(vite@2.5.3) + vite-plugin-pages: + specifier: ^0.18.0 + version: 0.18.0(@vue/compiler-sfc@3.2.6)(vite@2.5.3) + vite-plugin-pwa: + specifier: ^0.11.2 + version: 0.11.2(vite@2.5.3)(workbox-build@6.2.4)(workbox-window@6.2.4) + vite-plugin-vue-layouts: + specifier: ^0.3.1 + version: 0.3.1(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2)(vite@2.5.3)(vue@3.2.6) + vite-plugin-windicss: + specifier: ^1.3.0 + version: 1.3.0(typescript@4.4.2)(vite@2.5.3) + vite-ssg: + specifier: ^0.14.7 + version: 0.14.7(@vue/compiler-sfc@3.2.6)(@vue/server-renderer@3.2.6)(@vueuse/head@0.6.0)(critters@0.0.10)(vite@2.5.3)(vue-router@4.0.11)(vue@3.2.6) + vue-tsc: + specifier: ^0.3.0 + version: 0.3.0(typescript@4.4.2) packages: - /@antfu/eslint-config-basic/0.7.0_eslint@7.32.0: + /@antfu/eslint-config-basic@0.7.0(@typescript-eslint/parser@4.30.0)(eslint@7.32.0): resolution: {integrity: sha512-uvRowyFwO9tS4f0AbTdn0/OhCluV38C145npLFfBjOMbIyujtOM7jvsZ/JJq5eXpBkfuEe8p253uvIJiB1CeNQ==} peerDependencies: eslint: '>=7.4.0' dependencies: eslint: 7.32.0 - eslint-config-standard: 16.0.3_dfa64ed3583b1f068d7b5761cc0291ce - eslint-plugin-eslint-comments: 3.2.0_eslint@7.32.0 + eslint-config-standard: 16.0.3(eslint-plugin-import@2.24.2)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.1.0)(eslint@7.32.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@7.32.0) eslint-plugin-html: 6.1.2 - eslint-plugin-import: 2.24.2_eslint@7.32.0 - eslint-plugin-jsonc: 1.6.0_eslint@7.32.0 - eslint-plugin-node: 11.1.0_eslint@7.32.0 - eslint-plugin-promise: 5.1.0_eslint@7.32.0 - eslint-plugin-unicorn: 34.0.1_eslint@7.32.0 - eslint-plugin-yml: 0.9.0_eslint@7.32.0 + eslint-plugin-import: 2.24.2(@typescript-eslint/parser@4.30.0)(eslint@7.32.0) + eslint-plugin-jsonc: 1.6.0(eslint@7.32.0) + eslint-plugin-node: 11.1.0(eslint@7.32.0) + eslint-plugin-promise: 5.1.0(eslint@7.32.0) + eslint-plugin-unicorn: 34.0.1(eslint@7.32.0) + eslint-plugin-yml: 0.9.0(eslint@7.32.0) jsonc-eslint-parser: 1.3.0 yaml-eslint-parser: 0.3.2 transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack - supports-color dev: true - /@antfu/eslint-config-react/0.7.0_eslint@7.32.0+typescript@4.4.2: + /@antfu/eslint-config-react@0.7.0(eslint@7.32.0)(typescript@4.4.2): resolution: {integrity: sha512-wZj2YP7MiJCqPAkxwfTSgLCFqg8SLS9F/4FVh7bc/AqngfvSyE21nVzzYx6OM5fgCBY5acmdj0KttxrUDf5m3w==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@antfu/eslint-config-ts': 0.7.0_eslint@7.32.0+typescript@4.4.2 + '@antfu/eslint-config-ts': 0.7.0(eslint@7.32.0)(typescript@4.4.2) eslint: 7.32.0 - eslint-plugin-react: 7.25.1_eslint@7.32.0 + eslint-plugin-react: 7.25.1(eslint@7.32.0) transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack - supports-color - typescript dev: true - /@antfu/eslint-config-ts/0.7.0_eslint@7.32.0+typescript@4.4.2: + /@antfu/eslint-config-ts@0.7.0(eslint@7.32.0)(typescript@4.4.2): resolution: {integrity: sha512-SsWarj0OCZwT6YoZuUUpMzMagqSz279kyu498UEazP/H4P0nWZg32/hOJnE0F6swAk3jRcqbTybSVRM9GwQElA==} peerDependencies: eslint: '>=7.4.0' typescript: '>=3.9' dependencies: - '@antfu/eslint-config-basic': 0.7.0_eslint@7.32.0 - '@typescript-eslint/eslint-plugin': 4.30.0_8a8a2d3eaa9257455a03c16dce5f55b3 - '@typescript-eslint/parser': 4.30.0_eslint@7.32.0+typescript@4.4.2 + '@antfu/eslint-config-basic': 0.7.0(@typescript-eslint/parser@4.30.0)(eslint@7.32.0) + '@typescript-eslint/eslint-plugin': 4.30.0(@typescript-eslint/parser@4.30.0)(eslint@7.32.0)(typescript@4.4.2) + '@typescript-eslint/parser': 4.30.0(eslint@7.32.0)(typescript@4.4.2) eslint: 7.32.0 typescript: 4.4.2 transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack - supports-color dev: true - /@antfu/eslint-config-vue/0.7.0_eslint@7.32.0+typescript@4.4.2: + /@antfu/eslint-config-vue@0.7.0(eslint@7.32.0)(typescript@4.4.2): resolution: {integrity: sha512-h5Lx9R/dmrGYED4tGNroDflU6ECBk9Ts+aVb9qH4XBVPNcMSFCfnuvCuORs2I/QlZUL3Vc/UZlZOY3ULN4tuTg==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@antfu/eslint-config-ts': 0.7.0_eslint@7.32.0+typescript@4.4.2 + '@antfu/eslint-config-ts': 0.7.0(eslint@7.32.0)(typescript@4.4.2) eslint: 7.32.0 - eslint-plugin-vue: 7.12.1_eslint@7.32.0 + eslint-plugin-vue: 7.12.1(eslint@7.32.0) transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack - supports-color - typescript dev: true - /@antfu/eslint-config/0.7.0_eslint@7.32.0+typescript@4.4.2: + /@antfu/eslint-config@0.7.0(eslint@7.32.0)(typescript@4.4.2): resolution: {integrity: sha512-wVAQhab+Mlg6+/+a/fxdAzS6CVJ+tvH/53UWwNE6VRvWjPWQXhfs4/4v0G59O6IhGsSzbkohgdrT3pvJWMen5w==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@antfu/eslint-config-react': 0.7.0_eslint@7.32.0+typescript@4.4.2 - '@antfu/eslint-config-vue': 0.7.0_eslint@7.32.0+typescript@4.4.2 + '@antfu/eslint-config-react': 0.7.0(eslint@7.32.0)(typescript@4.4.2) + '@antfu/eslint-config-vue': 0.7.0(eslint@7.32.0)(typescript@4.4.2) eslint: 7.32.0 transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack - supports-color - typescript dev: true - /@antfu/utils/0.2.4: + /@antfu/utils@0.2.4: resolution: {integrity: sha512-2bZNkVfL9IZESmvE26UKi8SzyvSoaIsGXDcnbHFMtmGMqUiB1fXpAJ1ijGf+tSqKRQ5yagck2U1Qk0p+705/kw==} dependencies: '@types/throttle-debounce': 2.1.0 dev: true - /@antfu/utils/0.3.0: + /@antfu/utils@0.3.0: resolution: {integrity: sha512-UU8TLr/EoXdg7OjMp0h9oDoIAVr+Z/oW9cpOxQQyrsz6Qzd2ms/1CdWx8fl2OQdFpxGmq5Vc4TwfLHId6nAZjA==} dependencies: '@types/throttle-debounce': 2.1.0 dev: true - /@apideck/better-ajv-errors/0.2.5_ajv@8.6.2: + /@apideck/better-ajv-errors@0.2.5(ajv@8.6.2): resolution: {integrity: sha512-Pm1fAqCT8OEfBVLddU3fWZ/URWpGGhkvlsBIgn9Y2jJlcNumo0gNzPsQswDJTiA8HcKpCjOhWQOgkA9kXR4Ghg==} engines: {node: '>=10'} peerDependencies: @@ -197,31 +252,31 @@ packages: leven: 3.1.0 dev: true - /@babel/code-frame/7.12.11: + /@babel/code-frame@7.12.11: resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} dependencies: '@babel/highlight': 7.14.5 dev: true - /@babel/code-frame/7.14.5: + /@babel/code-frame@7.14.5: resolution: {integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.14.5 dev: true - /@babel/compat-data/7.15.0: + /@babel/compat-data@7.15.0: resolution: {integrity: sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.15.0: + /@babel/core@7.15.0: resolution: {integrity: sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.14.5 '@babel/generator': 7.15.0 - '@babel/helper-compilation-targets': 7.15.0_@babel+core@7.15.0 + '@babel/helper-compilation-targets': 7.15.0(@babel/core@7.15.0) '@babel/helper-module-transforms': 7.15.0 '@babel/helpers': 7.15.3 '@babel/parser': 7.15.3 @@ -238,7 +293,7 @@ packages: - supports-color dev: true - /@babel/eslint-parser/7.15.0_@babel+core@7.15.0+eslint@7.32.0: + /@babel/eslint-parser@7.15.0(@babel/core@7.15.0)(eslint@7.32.0): resolution: {integrity: sha512-+gSPtjSBxOZz4Uh8Ggqu7HbfpB8cT1LwW0DnVVLZEJvzXauiD0Di3zszcBkRmfGGrLdYeHUwcflG7i3tr9kQlw==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: @@ -252,7 +307,7 @@ packages: semver: 6.3.0 dev: true - /@babel/generator/7.15.0: + /@babel/generator@7.15.0: resolution: {integrity: sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==} engines: {node: '>=6.9.0'} dependencies: @@ -261,14 +316,14 @@ packages: source-map: 0.5.7 dev: true - /@babel/helper-annotate-as-pure/7.14.5: + /@babel/helper-annotate-as-pure@7.14.5: resolution: {integrity: sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.15.0 dev: true - /@babel/helper-builder-binary-assignment-operator-visitor/7.14.5: + /@babel/helper-builder-binary-assignment-operator-visitor@7.14.5: resolution: {integrity: sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==} engines: {node: '>=6.9.0'} dependencies: @@ -276,7 +331,7 @@ packages: '@babel/types': 7.15.0 dev: true - /@babel/helper-compilation-targets/7.15.0_@babel+core@7.15.0: + /@babel/helper-compilation-targets@7.15.0(@babel/core@7.15.0): resolution: {integrity: sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==} engines: {node: '>=6.9.0'} peerDependencies: @@ -289,7 +344,7 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.15.0_@babel+core@7.15.0: + /@babel/helper-create-class-features-plugin@7.15.0(@babel/core@7.15.0): resolution: {integrity: sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -306,7 +361,7 @@ packages: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin/7.14.5_@babel+core@7.15.0: + /@babel/helper-create-regexp-features-plugin@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==} engines: {node: '>=6.9.0'} peerDependencies: @@ -317,13 +372,13 @@ packages: regexpu-core: 4.7.1 dev: true - /@babel/helper-define-polyfill-provider/0.2.3_@babel+core@7.15.0: + /@babel/helper-define-polyfill-provider@0.2.3(@babel/core@7.15.0): resolution: {integrity: sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: '@babel/core': 7.15.0 - '@babel/helper-compilation-targets': 7.15.0_@babel+core@7.15.0 + '@babel/helper-compilation-targets': 7.15.0(@babel/core@7.15.0) '@babel/helper-module-imports': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/traverse': 7.15.0 @@ -335,14 +390,14 @@ packages: - supports-color dev: true - /@babel/helper-explode-assignable-expression/7.14.5: + /@babel/helper-explode-assignable-expression@7.14.5: resolution: {integrity: sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.15.0 dev: true - /@babel/helper-function-name/7.14.5: + /@babel/helper-function-name@7.14.5: resolution: {integrity: sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==} engines: {node: '>=6.9.0'} dependencies: @@ -351,35 +406,35 @@ packages: '@babel/types': 7.15.0 dev: true - /@babel/helper-get-function-arity/7.14.5: + /@babel/helper-get-function-arity@7.14.5: resolution: {integrity: sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.15.0 dev: true - /@babel/helper-hoist-variables/7.14.5: + /@babel/helper-hoist-variables@7.14.5: resolution: {integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.15.0 dev: true - /@babel/helper-member-expression-to-functions/7.15.0: + /@babel/helper-member-expression-to-functions@7.15.0: resolution: {integrity: sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.15.0 dev: true - /@babel/helper-module-imports/7.14.5: + /@babel/helper-module-imports@7.14.5: resolution: {integrity: sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.15.0 dev: true - /@babel/helper-module-transforms/7.15.0: + /@babel/helper-module-transforms@7.15.0: resolution: {integrity: sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==} engines: {node: '>=6.9.0'} dependencies: @@ -395,19 +450,19 @@ packages: - supports-color dev: true - /@babel/helper-optimise-call-expression/7.14.5: + /@babel/helper-optimise-call-expression@7.14.5: resolution: {integrity: sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.15.0 dev: true - /@babel/helper-plugin-utils/7.14.5: + /@babel/helper-plugin-utils@7.14.5: resolution: {integrity: sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator/7.14.5: + /@babel/helper-remap-async-to-generator@7.14.5: resolution: {integrity: sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==} engines: {node: '>=6.9.0'} dependencies: @@ -418,7 +473,7 @@ packages: - supports-color dev: true - /@babel/helper-replace-supers/7.15.0: + /@babel/helper-replace-supers@7.15.0: resolution: {integrity: sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==} engines: {node: '>=6.9.0'} dependencies: @@ -430,37 +485,37 @@ packages: - supports-color dev: true - /@babel/helper-simple-access/7.14.8: + /@babel/helper-simple-access@7.14.8: resolution: {integrity: sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.15.0 dev: true - /@babel/helper-skip-transparent-expression-wrappers/7.14.5: + /@babel/helper-skip-transparent-expression-wrappers@7.14.5: resolution: {integrity: sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.15.0 dev: true - /@babel/helper-split-export-declaration/7.14.5: + /@babel/helper-split-export-declaration@7.14.5: resolution: {integrity: sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.15.0 dev: true - /@babel/helper-validator-identifier/7.14.9: + /@babel/helper-validator-identifier@7.14.9: resolution: {integrity: sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option/7.14.5: + /@babel/helper-validator-option@7.14.5: resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-wrap-function/7.14.5: + /@babel/helper-wrap-function@7.14.5: resolution: {integrity: sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==} engines: {node: '>=6.9.0'} dependencies: @@ -472,7 +527,7 @@ packages: - supports-color dev: true - /@babel/helpers/7.15.3: + /@babel/helpers@7.15.3: resolution: {integrity: sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==} engines: {node: '>=6.9.0'} dependencies: @@ -483,7 +538,7 @@ packages: - supports-color dev: true - /@babel/highlight/7.14.5: + /@babel/highlight@7.14.5: resolution: {integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==} engines: {node: '>=6.9.0'} dependencies: @@ -492,12 +547,14 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.15.3: + /@babel/parser@7.15.3: resolution: {integrity: sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==} engines: {node: '>=6.0.0'} hasBin: true + dependencies: + '@babel/types': 7.15.0 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.14.5_@babel+core@7.15.0: + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -506,193 +563,208 @@ packages: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 - '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.15.0 + '@babel/plugin-proposal-optional-chaining': 7.14.5(@babel/core@7.15.0) dev: true - /@babel/plugin-proposal-async-generator-functions/7.14.9_@babel+core@7.15.0: + /@babel/plugin-proposal-async-generator-functions@7.14.9(@babel/core@7.15.0): resolution: {integrity: sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-remap-async-to-generator': 7.14.5 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.15.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.15.0) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-properties/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-class-properties@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 - '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.15.0 + '@babel/helper-create-class-features-plugin': 7.15.0(@babel/core@7.15.0) '@babel/helper-plugin-utils': 7.14.5 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-static-block/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-class-static-block@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead. peerDependencies: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.15.0 - '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.15.0 + '@babel/helper-create-class-features-plugin': 7.15.0(@babel/core@7.15.0) '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.15.0 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.15.0) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-dynamic-import/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-dynamic-import@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.15.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.15.0) dev: true - /@babel/plugin-proposal-export-namespace-from/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-export-namespace-from@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.15.0 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.15.0) dev: true - /@babel/plugin-proposal-json-strings/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-json-strings@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.15.0 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.15.0) dev: true - /@babel/plugin-proposal-logical-assignment-operators/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-logical-assignment-operators@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.15.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.15.0) dev: true - /@babel/plugin-proposal-nullish-coalescing-operator/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-nullish-coalescing-operator@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.15.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.15.0) dev: true - /@babel/plugin-proposal-numeric-separator/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-numeric-separator@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.15.0 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.15.0) dev: true - /@babel/plugin-proposal-object-rest-spread/7.14.7_@babel+core@7.15.0: + /@babel/plugin-proposal-object-rest-spread@7.14.7(@babel/core@7.15.0): resolution: {integrity: sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.15.0 '@babel/core': 7.15.0 - '@babel/helper-compilation-targets': 7.15.0_@babel+core@7.15.0 + '@babel/helper-compilation-targets': 7.15.0(@babel/core@7.15.0) '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.15.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.15.0) + '@babel/plugin-transform-parameters': 7.14.5(@babel/core@7.15.0) dev: true - /@babel/plugin-proposal-optional-catch-binding/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-optional-catch-binding@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.15.0 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.15.0) dev: true - /@babel/plugin-proposal-optional-chaining/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-optional-chaining@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.15.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.15.0) dev: true - /@babel/plugin-proposal-private-methods/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-private-methods@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 - '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.15.0 + '@babel/helper-create-class-features-plugin': 7.15.0(@babel/core@7.15.0) '@babel/helper-plugin-utils': 7.14.5 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-private-property-in-object/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-private-property-in-object@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-annotate-as-pure': 7.14.5 - '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.15.0 + '@babel/helper-create-class-features-plugin': 7.15.0(@babel/core@7.15.0) '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.15.0 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.15.0) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-unicode-property-regex/7.14.5_@babel+core@7.15.0: + /@babel/plugin-proposal-unicode-property-regex@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==} engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.15.0 + '@babel/helper-create-regexp-features-plugin': 7.14.5(@babel/core@7.15.0) '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.15.0: + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.15.0): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -701,7 +773,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.15.0: + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.15.0): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -710,7 +782,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.15.0: + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -720,7 +792,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.15.0: + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.15.0): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -729,7 +801,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.15.0: + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.15.0): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -738,7 +810,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.15.0: + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.15.0): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -747,7 +819,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.15.0: + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.15.0): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -756,7 +828,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.15.0: + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.15.0): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -765,7 +837,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.15.0: + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.15.0): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -774,7 +846,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.15.0: + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.15.0): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -783,7 +855,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.15.0: + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.15.0): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -792,7 +864,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.15.0: + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.15.0): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -801,7 +873,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.15.0: + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -811,7 +883,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.15.0: + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -821,7 +893,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-arrow-functions/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-arrow-functions@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==} engines: {node: '>=6.9.0'} peerDependencies: @@ -831,7 +903,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-async-to-generator/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-async-to-generator@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -845,7 +917,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-block-scoped-functions/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-block-scoped-functions@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -855,7 +927,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-block-scoping/7.15.3_@babel+core@7.15.0: + /@babel/plugin-transform-block-scoping@7.15.3(@babel/core@7.15.0): resolution: {integrity: sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -865,7 +937,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-classes/7.14.9_@babel+core@7.15.0: + /@babel/plugin-transform-classes@7.14.9(@babel/core@7.15.0): resolution: {integrity: sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==} engines: {node: '>=6.9.0'} peerDependencies: @@ -883,7 +955,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-computed-properties/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-computed-properties@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -893,7 +965,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-destructuring/7.14.7_@babel+core@7.15.0: + /@babel/plugin-transform-destructuring@7.14.7(@babel/core@7.15.0): resolution: {integrity: sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -903,18 +975,18 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-dotall-regex/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-dotall-regex@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.15.0 + '@babel/helper-create-regexp-features-plugin': 7.14.5(@babel/core@7.15.0) '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-duplicate-keys/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-duplicate-keys@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==} engines: {node: '>=6.9.0'} peerDependencies: @@ -924,7 +996,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-exponentiation-operator/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-exponentiation-operator@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -935,7 +1007,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-for-of/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-for-of@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -945,7 +1017,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-function-name/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-function-name@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -956,7 +1028,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-literals/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-literals@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==} engines: {node: '>=6.9.0'} peerDependencies: @@ -966,7 +1038,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-member-expression-literals/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-member-expression-literals@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -976,7 +1048,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-modules-amd/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-modules-amd@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==} engines: {node: '>=6.9.0'} peerDependencies: @@ -990,7 +1062,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs/7.15.0_@babel+core@7.15.0: + /@babel/plugin-transform-modules-commonjs@7.15.0(@babel/core@7.15.0): resolution: {integrity: sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1005,7 +1077,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-systemjs/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-modules-systemjs@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1021,7 +1093,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-umd/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-modules-umd@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1034,17 +1106,17 @@ packages: - supports-color dev: true - /@babel/plugin-transform-named-capturing-groups-regex/7.14.9_@babel+core@7.15.0: + /@babel/plugin-transform-named-capturing-groups-regex@7.14.9(@babel/core@7.15.0): resolution: {integrity: sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.15.0 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.15.0 + '@babel/helper-create-regexp-features-plugin': 7.14.5(@babel/core@7.15.0) dev: true - /@babel/plugin-transform-new-target/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-new-target@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1054,7 +1126,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-object-super/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-object-super@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1067,7 +1139,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-parameters/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-parameters@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1077,7 +1149,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-property-literals/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-property-literals@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1087,7 +1159,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-regenerator/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-regenerator@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1097,7 +1169,7 @@ packages: regenerator-transform: 0.14.5 dev: true - /@babel/plugin-transform-reserved-words/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-reserved-words@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1107,7 +1179,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-shorthand-properties/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-shorthand-properties@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1117,7 +1189,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-spread/7.14.6_@babel+core@7.15.0: + /@babel/plugin-transform-spread@7.14.6(@babel/core@7.15.0): resolution: {integrity: sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1128,7 +1200,7 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 dev: true - /@babel/plugin-transform-sticky-regex/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-sticky-regex@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1138,7 +1210,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-template-literals/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-template-literals@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1148,7 +1220,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-typeof-symbol/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-typeof-symbol@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1158,7 +1230,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-unicode-escapes/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-unicode-escapes@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1168,18 +1240,18 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-unicode-regex/7.14.5_@babel+core@7.15.0: + /@babel/plugin-transform-unicode-regex@7.14.5(@babel/core@7.15.0): resolution: {integrity: sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.15.0 + '@babel/helper-create-regexp-features-plugin': 7.14.5(@babel/core@7.15.0) '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/preset-env/7.15.0_@babel+core@7.15.0: + /@babel/preset-env@7.15.0(@babel/core@7.15.0): resolution: {integrity: sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -1187,103 +1259,103 @@ packages: dependencies: '@babel/compat-data': 7.15.0 '@babel/core': 7.15.0 - '@babel/helper-compilation-targets': 7.15.0_@babel+core@7.15.0 + '@babel/helper-compilation-targets': 7.15.0(@babel/core@7.15.0) '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-async-generator-functions': 7.14.9_@babel+core@7.15.0 - '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-class-static-block': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-dynamic-import': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-export-namespace-from': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-json-strings': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-logical-assignment-operators': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-numeric-separator': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.15.0 - '@babel/plugin-proposal-optional-catch-binding': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-private-property-in-object': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.15.0 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.15.0 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.15.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.15.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-async-to-generator': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-block-scoped-functions': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-block-scoping': 7.15.3_@babel+core@7.15.0 - '@babel/plugin-transform-classes': 7.14.9_@babel+core@7.15.0 - '@babel/plugin-transform-computed-properties': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-destructuring': 7.14.7_@babel+core@7.15.0 - '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-duplicate-keys': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-exponentiation-operator': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-function-name': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-literals': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-member-expression-literals': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-modules-amd': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-modules-commonjs': 7.15.0_@babel+core@7.15.0 - '@babel/plugin-transform-modules-systemjs': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-modules-umd': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-named-capturing-groups-regex': 7.14.9_@babel+core@7.15.0 - '@babel/plugin-transform-new-target': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-object-super': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-property-literals': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-regenerator': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-reserved-words': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-spread': 7.14.6_@babel+core@7.15.0 - '@babel/plugin-transform-sticky-regex': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-typeof-symbol': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-unicode-escapes': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-unicode-regex': 7.14.5_@babel+core@7.15.0 - '@babel/preset-modules': 0.1.4_@babel+core@7.15.0 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-async-generator-functions': 7.14.9(@babel/core@7.15.0) + '@babel/plugin-proposal-class-properties': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-class-static-block': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-dynamic-import': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-export-namespace-from': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-json-strings': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-logical-assignment-operators': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-numeric-separator': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-object-rest-spread': 7.14.7(@babel/core@7.15.0) + '@babel/plugin-proposal-optional-catch-binding': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-optional-chaining': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-private-methods': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-private-property-in-object': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-proposal-unicode-property-regex': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.15.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.15.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.15.0) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.15.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.15.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.15.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.15.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.15.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.15.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.15.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.15.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-arrow-functions': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-async-to-generator': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-block-scoped-functions': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-block-scoping': 7.15.3(@babel/core@7.15.0) + '@babel/plugin-transform-classes': 7.14.9(@babel/core@7.15.0) + '@babel/plugin-transform-computed-properties': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-destructuring': 7.14.7(@babel/core@7.15.0) + '@babel/plugin-transform-dotall-regex': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-duplicate-keys': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-exponentiation-operator': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-for-of': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-function-name': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-literals': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-member-expression-literals': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-modules-amd': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-modules-commonjs': 7.15.0(@babel/core@7.15.0) + '@babel/plugin-transform-modules-systemjs': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-modules-umd': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.14.9(@babel/core@7.15.0) + '@babel/plugin-transform-new-target': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-object-super': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-parameters': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-property-literals': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-regenerator': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-reserved-words': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-shorthand-properties': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-spread': 7.14.6(@babel/core@7.15.0) + '@babel/plugin-transform-sticky-regex': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-template-literals': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-typeof-symbol': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-unicode-escapes': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-unicode-regex': 7.14.5(@babel/core@7.15.0) + '@babel/preset-modules': 0.1.4(@babel/core@7.15.0) '@babel/types': 7.15.0 - babel-plugin-polyfill-corejs2: 0.2.2_@babel+core@7.15.0 - babel-plugin-polyfill-corejs3: 0.2.4_@babel+core@7.15.0 - babel-plugin-polyfill-regenerator: 0.2.2_@babel+core@7.15.0 + babel-plugin-polyfill-corejs2: 0.2.2(@babel/core@7.15.0) + babel-plugin-polyfill-corejs3: 0.2.4(@babel/core@7.15.0) + babel-plugin-polyfill-regenerator: 0.2.2(@babel/core@7.15.0) core-js-compat: 3.16.3 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules/0.1.4_@babel+core@7.15.0: + /@babel/preset-modules@0.1.4(@babel/core@7.15.0): resolution: {integrity: sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.15.0 + '@babel/plugin-proposal-unicode-property-regex': 7.14.5(@babel/core@7.15.0) + '@babel/plugin-transform-dotall-regex': 7.14.5(@babel/core@7.15.0) '@babel/types': 7.15.0 esutils: 2.0.3 dev: true - /@babel/runtime/7.15.3: + /@babel/runtime@7.15.3: resolution: {integrity: sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.9 dev: true - /@babel/template/7.14.5: + /@babel/template@7.14.5: resolution: {integrity: sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==} engines: {node: '>=6.9.0'} dependencies: @@ -1292,7 +1364,7 @@ packages: '@babel/types': 7.15.0 dev: true - /@babel/traverse/7.15.0: + /@babel/traverse@7.15.0: resolution: {integrity: sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==} engines: {node: '>=6.9.0'} dependencies: @@ -1309,40 +1381,41 @@ packages: - supports-color dev: true - /@babel/types/7.15.0: + /@babel/types@7.15.0: resolution: {integrity: sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.14.9 to-fast-properties: 2.0.0 - /@drauu/core/0.1.2: + /@drauu/core@0.1.2(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-jMuxH5y82etwgrEZ26KzVYajEwM7aMqss+g5ZntcyS4K72iFf5T3AQnoPNER4628VE6hz2JQlhoUWGAS6xZIrg==} + requiresBuild: true dependencies: - perfect-freehand: 0.5.4 + perfect-freehand: 0.5.4(react-dom@17.0.2)(react@17.0.2) transitivePeerDependencies: - react - react-dom dev: false optional: true - /@emmetio/abbreviation/2.2.2: + /@emmetio/abbreviation@2.2.2: resolution: {integrity: sha512-TtE/dBnkTCct8+LntkqVrwqQao6EnPAs1YN3cUgxOxTaBlesBCY37ROUAVZrRlG64GNnVShdl/b70RfAI3w5lw==} dependencies: '@emmetio/scanner': 1.0.0 dev: true - /@emmetio/css-abbreviation/2.1.4: + /@emmetio/css-abbreviation@2.1.4: resolution: {integrity: sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw==} dependencies: '@emmetio/scanner': 1.0.0 dev: true - /@emmetio/scanner/1.0.0: + /@emmetio/scanner@1.0.0: resolution: {integrity: sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==} dev: true - /@eslint/eslintrc/0.4.3: + /@eslint/eslintrc@0.4.3: resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: @@ -1359,7 +1432,7 @@ packages: - supports-color dev: true - /@humanwhocodes/config-array/0.5.0: + /@humanwhocodes/config-array@0.5.0: resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} engines: {node: '>=10.10.0'} dependencies: @@ -1370,19 +1443,19 @@ packages: - supports-color dev: true - /@humanwhocodes/object-schema/1.2.0: + /@humanwhocodes/object-schema@1.2.0: resolution: {integrity: sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==} dev: true - /@iconify/json-tools/1.0.10: + /@iconify/json-tools@1.0.10: resolution: {integrity: sha512-LFelJDOLZ6JHlmlAkgrvmcu4hpNPB91KYcr4f60D/exzU1eNOb4/KCVHIydGHIQFaOacIOD+Xy+B7P1z812cZg==} dev: true - /@iconify/json/1.1.396: + /@iconify/json@1.1.396: resolution: {integrity: sha512-RmwflUp8G4Xy2ysNw82f22AevQ1TiPE2bhgGQGQeUn9zz2jUnYygUO2S4Sr2nn4ylODFpca3+fg1QdzwdHDmiA==} dev: true - /@intlify/bundle-utils/0.2.0: + /@intlify/bundle-utils@0.2.0: resolution: {integrity: sha512-P6H+jNT9CqU7d5gMOeaklHYo2vO6sVD7dYFvU7/T5rRBubmEikem7mSFfqMvYnOdIPRxhQSqxGEh+Jj4Act5nQ==} engines: {node: '>= 12'} dependencies: @@ -1394,7 +1467,7 @@ packages: yaml-eslint-parser: 0.3.2 dev: true - /@intlify/core-base/9.1.7: + /@intlify/core-base@9.1.7: resolution: {integrity: sha512-q1W2j81xbHyfKrNcca/CeJyf0Bcx4u9UDu05l7AaiJbqOseTme2o2I3wp1hDDCtmC7k7HgX0sAygyHNJH9swuQ==} engines: {node: '>= 10'} dependencies: @@ -1405,20 +1478,20 @@ packages: '@intlify/shared': 9.1.7 '@intlify/vue-devtools': 9.1.7 - /@intlify/core/9.1.7: + /@intlify/core@9.1.7: resolution: {integrity: sha512-iWlzl1CiG9iF0h+90ZkxLIgVkaznhmjcfR/bfXk/Usp/IqkeBV8z5QGxtuFdzS3iurOHfylUCopSaT87hPOGmw==} engines: {node: '>= 10'} dependencies: '@intlify/core-base': 9.1.7 dev: true - /@intlify/devtools-if/9.1.7: + /@intlify/devtools-if@9.1.7: resolution: {integrity: sha512-/DcN5FUySSkQhDqx5y1RvxfuCXO3Ot/dUEIOs472qbM7Hyb2qif+eXCnwHBzlI4+wEfQVT6L0PiM1a7Er/ro9g==} engines: {node: '>= 10'} dependencies: '@intlify/shared': 9.1.7 - /@intlify/message-compiler/9.1.7: + /@intlify/message-compiler@9.1.7: resolution: {integrity: sha512-JZNkAhr3O7tnbdbRBcpYfqr/Ai26WTzX0K/lV8Y1KVdOIj/dGiamaffdWUdFiDXUnbJRNbPiOaKxy7Pwip3KxQ==} engines: {node: '>= 10'} dependencies: @@ -1426,11 +1499,11 @@ packages: '@intlify/shared': 9.1.7 source-map: 0.6.1 - /@intlify/message-resolver/9.1.7: + /@intlify/message-resolver@9.1.7: resolution: {integrity: sha512-WTK+OaXJYjyquLGhuCyDvU2WHkG+kXzXeHagmVFHn+s118Jf2143zzkLLUrapP5CtZ/csuyjmYg7b3xQRQAmvw==} engines: {node: '>= 10'} - /@intlify/runtime/9.1.7: + /@intlify/runtime@9.1.7: resolution: {integrity: sha512-QURPSlzhOVnRwS2XMGpCDsDkP42kfVBh94aAORxh/gVGzdgJip2vagrIFij/J69aEqdB476WJkMhVjP8VSHmiA==} engines: {node: '>= 10'} dependencies: @@ -1438,11 +1511,11 @@ packages: '@intlify/message-resolver': 9.1.7 '@intlify/shared': 9.1.7 - /@intlify/shared/9.1.7: + /@intlify/shared@9.1.7: resolution: {integrity: sha512-zt0zlUdalumvT9AjQNxPXA36UgOndUyvBMplh8uRZU0fhWHAwhnJTcf0NaG9Qvr8I1n3HPSs96+kLb/YdwTavQ==} engines: {node: '>= 10'} - /@intlify/vite-plugin-vue-i18n/2.4.0_vite@2.5.3+vue-i18n@9.1.7: + /@intlify/vite-plugin-vue-i18n@2.4.0(vite@2.5.3)(vue-i18n@9.1.7): resolution: {integrity: sha512-DXBvl7JEEcChjrsCUHIBJUSqgAXJSUzbaZskzTuJy5K3FDCX/g9XfHVaw8lCUaW7jYF60BIsPr87sAP1QSGB0Q==} engines: {node: '>= 12'} peerDependencies: @@ -1455,12 +1528,12 @@ packages: debug: 4.3.2 fast-glob: 3.2.7 vite: 2.5.3 - vue-i18n: 9.1.7_vue@3.2.6 + vue-i18n: 9.1.7(vue@3.2.6) transitivePeerDependencies: - supports-color dev: true - /@intlify/vue-devtools/9.1.7: + /@intlify/vue-devtools@9.1.7: resolution: {integrity: sha512-DI5Wc0aOiohtBUGUkKAcryCWbbuaO4/PK4Pa/LaNCsFNxbtgR5qkIDmhBv9xVPYGTUhySXxaDDAMvOpBjhPJjw==} engines: {node: '>= 10'} dependencies: @@ -1468,7 +1541,7 @@ packages: '@intlify/runtime': 9.1.7 '@intlify/shared': 9.1.7 - /@nodelib/fs.scandir/2.1.5: + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: @@ -1476,12 +1549,12 @@ packages: run-parallel: 1.2.0 dev: true - /@nodelib/fs.stat/2.0.5: + /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} dev: true - /@nodelib/fs.walk/1.2.8: + /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} dependencies: @@ -1489,7 +1562,7 @@ packages: fastq: 1.12.0 dev: true - /@rollup/plugin-babel/5.3.0_@babel+core@7.15.0+rollup@2.56.3: + /@rollup/plugin-babel@5.3.0(@babel/core@7.15.0)(rollup@2.56.3): resolution: {integrity: sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -1502,17 +1575,17 @@ packages: dependencies: '@babel/core': 7.15.0 '@babel/helper-module-imports': 7.14.5 - '@rollup/pluginutils': 3.1.0_rollup@2.56.3 + '@rollup/pluginutils': 3.1.0(rollup@2.56.3) rollup: 2.56.3 dev: true - /@rollup/plugin-node-resolve/11.2.1_rollup@2.56.3: + /@rollup/plugin-node-resolve@11.2.1(rollup@2.56.3): resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.56.3 + '@rollup/pluginutils': 3.1.0(rollup@2.56.3) '@types/resolve': 1.17.1 builtin-modules: 3.2.0 deepmerge: 4.2.2 @@ -1521,17 +1594,17 @@ packages: rollup: 2.56.3 dev: true - /@rollup/plugin-replace/2.4.2_rollup@2.56.3: + /@rollup/plugin-replace@2.4.2(rollup@2.56.3): resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.56.3 + '@rollup/pluginutils': 3.1.0(rollup@2.56.3) magic-string: 0.25.7 rollup: 2.56.3 dev: true - /@rollup/pluginutils/3.1.0_rollup@2.56.3: + /@rollup/pluginutils@3.1.0(rollup@2.56.3): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -1543,7 +1616,7 @@ packages: rollup: 2.56.3 dev: true - /@rollup/pluginutils/4.1.1: + /@rollup/pluginutils@4.1.1: resolution: {integrity: sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==} engines: {node: '>= 8.0.0'} dependencies: @@ -1551,26 +1624,29 @@ packages: picomatch: 2.3.0 dev: true - /@surma/rollup-plugin-off-main-thread/1.4.2: + /@surma/rollup-plugin-off-main-thread@1.4.2: resolution: {integrity: sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==} dependencies: ejs: 2.7.4 magic-string: 0.25.7 dev: true - /@tldraw/core/0.0.53: + /@tldraw/core@0.0.53(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-hxZIUR3Sm320tvGW5lWEKfw1QJhe6mJu7IrG5ka5G3slusqaY3cQY9EafFqH07yEXul2MU2RENIQus7fh+Gwcg==} + requiresBuild: true peerDependencies: react: ^17.0.2 react-dom: ^17.0.2 dependencies: deepmerge: 4.2.2 ismobilejs: 1.1.1 - react-use-gesture: 9.1.3 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-use-gesture: 9.1.3(react@17.0.2) dev: false optional: true - /@toast-ui/editor/3.0.3: + /@toast-ui/editor@3.0.3: resolution: {integrity: sha512-uU8FhUKsbW6nYSS+NrwqE7d/63JvezfmQ9xsRwIV9crLLyZ3K6a9/kT8XPIDcep2yKviybIDLeTEbXxuwBWvFQ==} dependencies: prosemirror-commands: 1.1.10 @@ -1582,47 +1658,48 @@ packages: prosemirror-view: 1.19.3 dev: false - /@tootallnate/once/1.1.2: + /@tootallnate/once@1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} dev: true - /@types/cookie/0.3.3: + /@types/cookie@0.3.3: resolution: {integrity: sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==} + requiresBuild: true dev: false optional: true - /@types/estree/0.0.39: + /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: true - /@types/estree/0.0.48: + /@types/estree@0.0.48: resolution: {integrity: sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==} dev: true - /@types/json-schema/7.0.9: + /@types/json-schema@7.0.9: resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} dev: true - /@types/json5/0.0.29: + /@types/json5@0.0.29: resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} dev: true - /@types/linkify-it/3.0.2: + /@types/linkify-it@3.0.2: resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==} dev: true - /@types/lodash/4.14.172: + /@types/lodash@4.14.172: resolution: {integrity: sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw==} dev: true - /@types/markdown-it-link-attributes/3.0.1: + /@types/markdown-it-link-attributes@3.0.1: resolution: {integrity: sha512-K8RnNb1q8j7rDOJbMF7AnlhCC/45BjrQ8z3WZWOrvkBIl8u9RXvmBdG/hfpnmK1JhhEZcmFEKWt+ilW1Mly+2Q==} dependencies: '@types/markdown-it': 12.2.1 dev: true - /@types/markdown-it/12.2.1: + /@types/markdown-it@12.2.1: resolution: {integrity: sha512-iij+ilRX/vxtUPCREjn74xzHo/RorHJDwOsJ6X+TgKw7zSvazhVXnDfwlTnyLOMdiVUjtRYU4CrcUZ7Aci4PmQ==} dependencies: '@types/linkify-it': 3.0.2 @@ -1630,37 +1707,37 @@ packages: highlight.js: 10.7.3 dev: true - /@types/mdurl/1.0.2: + /@types/mdurl@1.0.2: resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} dev: true - /@types/node/16.7.4: + /@types/node@16.7.4: resolution: {integrity: sha512-25QXpDsTiDnl2rZGUenagVMwO46way8dOUdvoC3R3p+6TrbpxeJBo/v87BEG1IHI31Jhaa8lPeSHcqwxsVBeYQ==} dev: true - /@types/normalize-package-data/2.4.1: + /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/nprogress/0.2.0: + /@types/nprogress@0.2.0: resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} dev: true - /@types/resolve/1.17.1: + /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: '@types/node': 16.7.4 dev: true - /@types/throttle-debounce/2.1.0: + /@types/throttle-debounce@2.1.0: resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==} dev: true - /@types/trusted-types/2.0.2: + /@types/trusted-types@2.0.2: resolution: {integrity: sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==} dev: true - /@typescript-eslint/eslint-plugin/4.30.0_8a8a2d3eaa9257455a03c16dce5f55b3: + /@typescript-eslint/eslint-plugin@4.30.0(@typescript-eslint/parser@4.30.0)(eslint@7.32.0)(typescript@4.4.2): resolution: {integrity: sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -1671,21 +1748,21 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.30.0_eslint@7.32.0+typescript@4.4.2 - '@typescript-eslint/parser': 4.30.0_eslint@7.32.0+typescript@4.4.2 + '@typescript-eslint/experimental-utils': 4.30.0(eslint@7.32.0)(typescript@4.4.2) + '@typescript-eslint/parser': 4.30.0(eslint@7.32.0)(typescript@4.4.2) '@typescript-eslint/scope-manager': 4.30.0 debug: 4.3.2 eslint: 7.32.0 functional-red-black-tree: 1.0.1 regexpp: 3.2.0 semver: 7.3.5 - tsutils: 3.21.0_typescript@4.4.2 + tsutils: 3.21.0(typescript@4.4.2) typescript: 4.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/experimental-utils/4.30.0_eslint@7.32.0+typescript@4.4.2: + /@typescript-eslint/experimental-utils@4.30.0(eslint@7.32.0)(typescript@4.4.2): resolution: {integrity: sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -1694,16 +1771,16 @@ packages: '@types/json-schema': 7.0.9 '@typescript-eslint/scope-manager': 4.30.0 '@typescript-eslint/types': 4.30.0 - '@typescript-eslint/typescript-estree': 4.30.0_typescript@4.4.2 + '@typescript-eslint/typescript-estree': 4.30.0(typescript@4.4.2) eslint: 7.32.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@7.32.0 + eslint-utils: 3.0.0(eslint@7.32.0) transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/parser/4.30.0_eslint@7.32.0+typescript@4.4.2: + /@typescript-eslint/parser@4.30.0(eslint@7.32.0)(typescript@4.4.2): resolution: {integrity: sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -1715,7 +1792,7 @@ packages: dependencies: '@typescript-eslint/scope-manager': 4.30.0 '@typescript-eslint/types': 4.30.0 - '@typescript-eslint/typescript-estree': 4.30.0_typescript@4.4.2 + '@typescript-eslint/typescript-estree': 4.30.0(typescript@4.4.2) debug: 4.3.2 eslint: 7.32.0 typescript: 4.4.2 @@ -1723,7 +1800,7 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/4.30.0: + /@typescript-eslint/scope-manager@4.30.0: resolution: {integrity: sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} dependencies: @@ -1731,12 +1808,12 @@ packages: '@typescript-eslint/visitor-keys': 4.30.0 dev: true - /@typescript-eslint/types/4.30.0: + /@typescript-eslint/types@4.30.0: resolution: {integrity: sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} dev: true - /@typescript-eslint/typescript-estree/4.30.0_typescript@4.4.2: + /@typescript-eslint/typescript-estree@4.30.0(typescript@4.4.2): resolution: {integrity: sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -1751,13 +1828,13 @@ packages: globby: 11.0.4 is-glob: 4.0.1 semver: 7.3.5 - tsutils: 3.21.0_typescript@4.4.2 + tsutils: 3.21.0(typescript@4.4.2) typescript: 4.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/visitor-keys/4.30.0: + /@typescript-eslint/visitor-keys@4.30.0: resolution: {integrity: sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} dependencies: @@ -1765,23 +1842,23 @@ packages: eslint-visitor-keys: 2.1.0 dev: true - /@vitejs/plugin-vue/1.6.0_@vue+compiler-sfc@3.2.6: + /@vitejs/plugin-vue@1.6.0(@vue/compiler-sfc@3.2.6): resolution: {integrity: sha512-n3i8htn8pTg9M+kM3cnEfsPZx/6ngInlTroth6fA1LQTJq5aTVQ8ggaE5pPoAy9vCgHPtcaXMzwpldhqRAkebQ==} engines: {node: '>=12.0.0'} peerDependencies: '@vue/compiler-sfc': ^3.2.6 dependencies: - '@vue/compiler-sfc': 3.2.6 + '@vue/compiler-sfc': 3.2.6(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2) dev: true - /@volar/code-gen/0.27.11: + /@volar/code-gen@0.27.11: resolution: {integrity: sha512-yj43hM/HnjsHLctJtKSFfEuUWSm5NyDpronFBnB2b+5XjJrb3gb6my21UhwmYoPC6kQ4tkdZiwCXTKQFNzGzCw==} dependencies: '@volar/shared': 0.27.11 '@volar/source-map': 0.27.11 dev: true - /@volar/html2pug/0.27.11: + /@volar/html2pug@0.27.11: resolution: {integrity: sha512-2xfTafl3Nhd5IihS18tJPTiYrzHFsEpEIoJHjwfkJKokI6CFx2RtJVrIQywv2AuzHtmwMcU7ByCFI0TGsKETTw==} dependencies: domelementtype: 2.2.0 @@ -1790,7 +1867,7 @@ packages: pug: 3.0.2 dev: true - /@volar/shared/0.27.11: + /@volar/shared@0.27.11: resolution: {integrity: sha512-bXCphjIX5B9uMszD3rKMUY+AM/cu/SqE0L/dO80oimrEM4VUv2U5Lv0JRhgMTBdPqVFvYijXvtKILw3F1K+f2g==} dependencies: upath: 2.0.1 @@ -1798,20 +1875,20 @@ packages: vscode-uri: 3.0.2 dev: true - /@volar/source-map/0.27.11: + /@volar/source-map@0.27.11: resolution: {integrity: sha512-hrOfuT8M3IDA8nDvJsy+HNyzvl5EXYO4LkSjAV/XaYM3NY1lYFiefdpBm4F7MDaz0OPtEMF/P0otS3dF5MY6Rg==} dependencies: '@volar/shared': 0.27.11 dev: true - /@volar/transforms/0.27.11: + /@volar/transforms@0.27.11: resolution: {integrity: sha512-EAUsrKnl67Hq+TWC5TAFRGV8JwQ2CMI0MW/3Px0q+ja/B7Y5s0XYePDGE1tcNgj3DudTPNkybt+2nZ0hDDOo0Q==} dependencies: '@volar/shared': 0.27.11 vscode-languageserver: 8.0.0-next.2 dev: true - /@vscode/emmet-helper/2.7.0: + /@vscode/emmet-helper@2.7.0: resolution: {integrity: sha512-LL7MoKNLUQASacQROO7hBdx5IAxsEnA0UdJFd9xXyf3sBQgz8NE3QEfo3IezE7uin8W2fkG2+EXMst3oqK6+KQ==} dependencies: emmet: 2.3.4 @@ -1822,7 +1899,7 @@ packages: vscode-uri: 2.1.2 dev: true - /@vue/compiler-core/3.2.6: + /@vue/compiler-core@3.2.6: resolution: {integrity: sha512-vbwnz7+OhtLO5p5i630fTuQCL+MlUpEMTKHuX+RfetQ+3pFCkItt2JUH+9yMaBG2Hkz6av+T9mwN/acvtIwpbw==} dependencies: '@babel/parser': 7.15.3 @@ -1831,13 +1908,13 @@ packages: estree-walker: 2.0.2 source-map: 0.6.1 - /@vue/compiler-dom/3.2.6: + /@vue/compiler-dom@3.2.6: resolution: {integrity: sha512-+a/3oBAzFIXhHt8L5IHJOTP4a5egzvpXYyi13jR7CUYOR1S+Zzv7vBWKYBnKyJLwnrxTZnTQVjeHCgJq743XKg==} dependencies: '@vue/compiler-core': 3.2.6 '@vue/shared': 3.2.6 - /@vue/compiler-sfc/3.2.6: + /@vue/compiler-sfc@3.2.6(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-Ariz1eDsf+2fw6oWXVwnBNtfKHav72RjlWXpEgozYBLnfRPzP+7jhJRw4Nq0OjSsLx2HqjF3QX7HutTjYB0/eA==} dependencies: '@babel/parser': 7.15.3 @@ -1848,34 +1925,88 @@ packages: '@vue/compiler-ssr': 3.2.6 '@vue/ref-transform': 3.2.6 '@vue/shared': 3.2.6 - consolidate: 0.16.0 + consolidate: 0.16.0(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2) estree-walker: 2.0.2 hash-sum: 2.0.0 lru-cache: 5.1.1 magic-string: 0.25.7 merge-source-map: 1.1.0 postcss: 8.3.6 - postcss-modules: 4.2.2_postcss@8.3.6 + postcss-modules: 4.2.2(postcss@8.3.6) postcss-selector-parser: 6.0.6 source-map: 0.6.1 - dev: true - - /@vue/compiler-ssr/3.2.6: + transitivePeerDependencies: + - arc-templates + - atpl + - babel-core + - bracket-template + - coffee-script + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - vash + - velocityjs + - walrus + - whiskers + dev: true + + /@vue/compiler-ssr@3.2.6: resolution: {integrity: sha512-A7IKRKHSyPnTC4w1FxHkjzoyjXInsXkcs/oX22nBQ+6AWlXj2Tt1le96CWPOXy5vYlsTYkF1IgfBaKIdeN/39g==} dependencies: '@vue/compiler-dom': 3.2.6 '@vue/shared': 3.2.6 dev: true - /@vue/devtools-api/6.0.0-beta.15: + /@vue/devtools-api@6.0.0-beta.15: resolution: {integrity: sha512-quBx4Jjpexo6KDiNUGFr/zF/2A4srKM9S9v2uHgMXSU//hjgq1eGzqkIFql8T9gfX5ZaVOUzYBP3jIdIR3PKIA==} - /@vue/reactivity/3.2.6: + /@vue/reactivity@3.2.6: resolution: {integrity: sha512-8vIDD2wpCnYisNNZjmcIj+Rixn0uhZNY3G1vzlgdVdLygeRSuFjkmnZk6WwvGzUWpKfnG0e/NUySM3mVi59hAA==} dependencies: '@vue/shared': 3.2.6 - /@vue/ref-transform/3.2.6: + /@vue/ref-transform@3.2.6: resolution: {integrity: sha512-ie39+Y4nbirDLvH+WEq6Eo/l3n3mFATayqR+kEMSphrtMW6Uh/eEMx1Gk2Jnf82zmj3VLRq7dnmPx72JLcBYkQ==} dependencies: '@babel/parser': 7.15.3 @@ -1885,20 +2016,20 @@ packages: magic-string: 0.25.7 dev: true - /@vue/runtime-core/3.2.6: + /@vue/runtime-core@3.2.6: resolution: {integrity: sha512-3mqtgpj/YSGFxtvTufSERRApo92B16JNNxz9p+5eG6PPuqTmuRJz214MqhKBEgLEAIQ6R6YCbd83ZDtjQnyw2g==} dependencies: '@vue/reactivity': 3.2.6 '@vue/shared': 3.2.6 - /@vue/runtime-dom/3.2.6: + /@vue/runtime-dom@3.2.6: resolution: {integrity: sha512-fq33urnP0BNCGm2O3KCzkJlKIHI80C94HJ4qDZbjsTtxyOn5IHqwKSqXVN3RQvO6epcQH+sWS+JNwcNDPzoasg==} dependencies: '@vue/runtime-core': 3.2.6 '@vue/shared': 3.2.6 csstype: 2.6.17 - /@vue/server-renderer/3.2.6_vue@3.2.6: + /@vue/server-renderer@3.2.6(vue@3.2.6): resolution: {integrity: sha512-Izc4F79W8Q36qLV442Yp1xOdwekb5DwA2p8wFsWmhgDLDeZOP9LeyYqN5BduDtAfLVe7gHOwt2Xg7QQltSVuBA==} peerDependencies: vue: 3.2.6 @@ -1908,10 +2039,10 @@ packages: vue: 3.2.6 dev: true - /@vue/shared/3.2.6: + /@vue/shared@3.2.6: resolution: {integrity: sha512-uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw==} - /@vueuse/core/6.0.0_vue@3.2.6: + /@vueuse/core@6.0.0(vue@3.2.6): resolution: {integrity: sha512-PuBfNo/Zv+NkLcZaYWBA1WjqxQhTDC0DMQpoAIJdo/GFul/1SpBbONhUho2zqtOmq8vyGuK200wNFvyA4YUAMg==} peerDependencies: '@vue/composition-api': ^1.1.0 @@ -1922,27 +2053,25 @@ packages: vue: optional: true dependencies: - '@vueuse/shared': 6.0.0_vue@3.2.6 + '@vueuse/shared': 6.0.0(vue@3.2.6) vue: 3.2.6 - vue-demi: 0.11.3_vue@3.2.6 - dev: false + vue-demi: 0.11.3(vue@3.2.6) - /@vueuse/head/0.6.0_vue@3.2.6: + /@vueuse/head@0.6.0(vue@3.2.6): resolution: {integrity: sha512-fi7ZjkMpEAUtTT6iR5wgL2HkX1+3zbrmbpcwU//RgJIWEr5b42jk8E9yOheaC2dYAAHzelAllVpX0pDmhcTXuw==} peerDependencies: vue: '>=3' dependencies: vue: 3.2.6 - dev: false - /@vueuse/integrations/6.4.1_vue@3.2.6: + /@vueuse/integrations@6.4.1(react-dom@17.0.2)(react@17.0.2)(vue@3.2.6): resolution: {integrity: sha512-GzOz3KZEj9Y2HeL4NZ1o+jophdWW6mvpEiRSz2VTpGDXvJXvP3BM7SBy85V1jAe3juXaRr+7+GmALRbd7SQRiQ==} dependencies: - '@vueuse/shared': 6.4.1_vue@3.2.6 - vue-demi: 0.11.3_vue@3.2.6 + '@vueuse/shared': 6.4.1(vue@3.2.6) + vue-demi: 0.11.3(vue@3.2.6) optionalDependencies: axios: 0.21.4 - drauu: 0.1.2 + drauu: 0.1.2(react-dom@17.0.2)(react@17.0.2) focus-trap: 6.6.1 jwt-decode: 3.1.2 nprogress: 0.2.0 @@ -1956,7 +2085,7 @@ packages: - vue dev: false - /@vueuse/shared/6.0.0_vue@3.2.6: + /@vueuse/shared@6.0.0(vue@3.2.6): resolution: {integrity: sha512-PLjjqL8bxI5q86qk/ifXy572nfQE3rJc1RMem+dKcGayaagMnC4kXHEt64V98DVielSwr2FuYaeFodi4KJrvdg==} peerDependencies: '@vue/composition-api': ^1.1.0 @@ -1968,10 +2097,9 @@ packages: optional: true dependencies: vue: 3.2.6 - vue-demi: 0.11.3_vue@3.2.6 - dev: false + vue-demi: 0.11.3(vue@3.2.6) - /@vueuse/shared/6.4.1_vue@3.2.6: + /@vueuse/shared@6.4.1(vue@3.2.6): resolution: {integrity: sha512-zsaYxxZwACQbMmGg+UBjPUVemi325sDdnnB0mn+PNizE0fVC57B+vbLgdj45NBmr6P4nw6a0Y2rMupebwDWsdw==} peerDependencies: '@vue/composition-api': ^1.1.0 @@ -1983,15 +2111,15 @@ packages: optional: true dependencies: vue: 3.2.6 - vue-demi: 0.11.3_vue@3.2.6 + vue-demi: 0.11.3(vue@3.2.6) dev: false - /@windicss/config/1.3.0_typescript@4.4.2: + /@windicss/config@1.3.0(typescript@4.4.2): resolution: {integrity: sha512-/F2dg9ltkoQLA4cpr4YQP4V+Y1hO0WOF8jtHoErCKKBr1wBnFLieRjhsXcolM5ZbqH7wLoUrPkdBkIFlocDblg==} dependencies: debug: 4.3.2 jiti: 1.11.0 - tsup: 4.14.0_typescript@4.4.2 + tsup: 4.14.0(typescript@4.4.2) windicss: 3.1.7 transitivePeerDependencies: - supports-color @@ -1999,11 +2127,11 @@ packages: - typescript dev: true - /@windicss/plugin-utils/1.3.0_typescript@4.4.2: + /@windicss/plugin-utils@1.3.0(typescript@4.4.2): resolution: {integrity: sha512-4qOXUStYPI3WTHR6WdxGhzKWMZar7vwWY08QFVc9Zztg5eoQ3GyYsMPn83OSRwc/jA7mSkkoCtHLGzop2KjHcg==} dependencies: '@antfu/utils': 0.2.4 - '@windicss/config': 1.3.0_typescript@4.4.2 + '@windicss/config': 1.3.0(typescript@4.4.2) debug: 4.3.2 fast-glob: 3.2.7 magic-string: 0.25.7 @@ -2015,11 +2143,11 @@ packages: - typescript dev: true - /abab/2.0.5: + /abab@2.0.5: resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==} dev: true - /accepts/1.3.7: + /accepts@1.3.7: resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} engines: {node: '>= 0.6'} dependencies: @@ -2027,14 +2155,14 @@ packages: negotiator: 0.6.2 dev: true - /acorn-globals/6.0.0: + /acorn-globals@6.0.0: resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} dependencies: acorn: 7.4.1 acorn-walk: 7.2.0 dev: true - /acorn-jsx/5.3.2_acorn@7.4.1: + /acorn-jsx@5.3.2(acorn@7.4.1): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -2042,24 +2170,30 @@ packages: acorn: 7.4.1 dev: true - /acorn-walk/7.2.0: + /acorn-walk@7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} dev: true - /acorn/7.4.1: + /acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /acorn/8.4.1: + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn@8.4.1: resolution: {integrity: sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /agent-base/6.0.2: + /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: @@ -2068,7 +2202,7 @@ packages: - supports-color dev: true - /ajv/6.12.6: + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 @@ -2077,7 +2211,7 @@ packages: uri-js: 4.4.1 dev: true - /ajv/8.6.2: + /ajv@8.6.2: resolution: {integrity: sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==} dependencies: fast-deep-equal: 3.1.3 @@ -2086,40 +2220,41 @@ packages: uri-js: 4.4.1 dev: true - /ansi-colors/4.1.1: + /ansi-colors@4.1.1: resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} engines: {node: '>=6'} dev: true - /ansi-regex/4.1.0: + /ansi-regex@4.1.0: resolution: {integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==} engines: {node: '>=6'} + requiresBuild: true dev: false optional: true - /ansi-regex/5.0.0: + /ansi-regex@5.0.0: resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==} engines: {node: '>=8'} dev: true - /ansi-styles/3.2.1: + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 - /ansi-styles/4.3.0: + /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 dev: true - /any-promise/1.3.0: + /any-promise@1.3.0: resolution: {integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8=} dev: true - /anymatch/3.1.2: + /anymatch@3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} dependencies: @@ -2127,25 +2262,25 @@ packages: picomatch: 2.3.0 dev: true - /appdata-path/1.0.0: + /appdata-path@1.0.0: resolution: {integrity: sha512-ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==} dev: true - /argparse/1.0.10: + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 dev: true - /argparse/2.0.1: + /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /array-flatten/1.1.1: + /array-flatten@1.1.1: resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} dev: true - /array-includes/3.1.3: + /array-includes@3.1.3: resolution: {integrity: sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==} engines: {node: '>= 0.4'} dependencies: @@ -2156,12 +2291,12 @@ packages: is-string: 1.0.7 dev: true - /array-union/2.1.0: + /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} dev: true - /array.prototype.flat/1.2.4: + /array.prototype.flat@1.2.4: resolution: {integrity: sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==} engines: {node: '>= 0.4'} dependencies: @@ -2170,7 +2305,7 @@ packages: es-abstract: 1.18.5 dev: true - /array.prototype.flatmap/1.2.4: + /array.prototype.flatmap@1.2.4: resolution: {integrity: sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==} engines: {node: '>= 0.4'} dependencies: @@ -2180,44 +2315,44 @@ packages: function-bind: 1.1.1 dev: true - /asap/2.0.6: + /asap@2.0.6: resolution: {integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=} dev: true - /assert-never/1.2.1: + /assert-never@1.2.1: resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==} dev: true - /astral-regex/2.0.0: + /astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} dev: true - /asynckit/0.4.0: + /asynckit@0.4.0: resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} dev: true - /at-least-node/1.0.0: + /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} dev: true - /atob/2.1.2: + /atob@2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} hasBin: true dev: true - /available-typed-arrays/1.0.5: + /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} dev: true - /awesome-notifications/3.1.1: + /awesome-notifications@3.1.1: resolution: {integrity: sha512-JeWVPLJq9ozLCh1uNuUf3tFIuRSiyfpIwkei1cJ9t7Ivh+Fpac63JHCTrGyx8gtpTvSgth0Q2xKyUOBkZEk7gA==} dev: false - /axios/0.21.4: + /axios@0.21.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} requiresBuild: true dependencies: @@ -2227,78 +2362,79 @@ packages: dev: false optional: true - /babel-plugin-dynamic-import-node/2.3.3: + /babel-plugin-dynamic-import-node@2.3.3: resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} dependencies: object.assign: 4.1.2 dev: true - /babel-plugin-polyfill-corejs2/0.2.2_@babel+core@7.15.0: + /babel-plugin-polyfill-corejs2@0.2.2(@babel/core@7.15.0): resolution: {integrity: sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.15.0 '@babel/core': 7.15.0 - '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.15.0 + '@babel/helper-define-polyfill-provider': 0.2.3(@babel/core@7.15.0) semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3/0.2.4_@babel+core@7.15.0: + /babel-plugin-polyfill-corejs3@0.2.4(@babel/core@7.15.0): resolution: {integrity: sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 - '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.15.0 + '@babel/helper-define-polyfill-provider': 0.2.3(@babel/core@7.15.0) core-js-compat: 3.16.3 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator/0.2.2_@babel+core@7.15.0: + /babel-plugin-polyfill-regenerator@0.2.2(@babel/core@7.15.0): resolution: {integrity: sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.15.0 - '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.15.0 + '@babel/helper-define-polyfill-provider': 0.2.3(@babel/core@7.15.0) transitivePeerDependencies: - supports-color dev: true - /babel-walk/3.0.0-canary-5: + /babel-walk@3.0.0-canary-5: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} dependencies: '@babel/types': 7.15.0 dev: true - /balanced-match/1.0.2: + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true - /base64-js/1.5.1: + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + requiresBuild: true dev: false optional: true - /big.js/5.2.2: + /big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true - /binary-extensions/2.2.0: + /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} dev: true - /bluebird/3.7.2: + /bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} dev: true - /body-parser/1.19.0: + /body-parser@1.19.0: resolution: {integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==} engines: {node: '>= 0.8'} dependencies: @@ -2312,27 +2448,29 @@ packages: qs: 6.7.0 raw-body: 2.4.0 type-is: 1.6.18 + transitivePeerDependencies: + - supports-color dev: true - /brace-expansion/1.1.11: + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 dev: true - /braces/3.0.2: + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: fill-range: 7.0.1 dev: true - /browser-process-hrtime/1.0.0: + /browser-process-hrtime@1.0.0: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /browserslist/4.16.8: + /browserslist@4.16.8: resolution: {integrity: sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2344,85 +2482,90 @@ packages: node-releases: 1.1.75 dev: true - /buffer-alloc-unsafe/1.1.0: + /buffer-alloc-unsafe@1.1.0: resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + requiresBuild: true dev: false optional: true - /buffer-alloc/1.2.0: + /buffer-alloc@1.2.0: resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + requiresBuild: true dependencies: buffer-alloc-unsafe: 1.1.0 buffer-fill: 1.0.0 dev: false optional: true - /buffer-fill/1.0.0: + /buffer-fill@1.0.0: resolution: {integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw=} + requiresBuild: true dev: false optional: true - /buffer-from/1.1.2: + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - /buffer/5.7.1: + /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + requiresBuild: true dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: false optional: true - /builtin-modules/3.2.0: + /builtin-modules@3.2.0: resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} engines: {node: '>=6'} dev: true - /bytes/3.0.0: + /bytes@3.0.0: resolution: {integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=} engines: {node: '>= 0.8'} dev: true - /bytes/3.1.0: + /bytes@3.1.0: resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} engines: {node: '>= 0.8'} dev: true - /cac/6.7.3: + /cac@6.7.3: resolution: {integrity: sha512-ECVqVZh74qgSuZG9YOt2OJPI3wGcf+EwwuF/XIOYqZBD0KZYLtgPWqFPxmDPQ6joxI1nOlvVgRV6VT53Ooyocg==} engines: {node: '>=8'} dev: true - /call-bind/1.0.2: + /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.1.1 dev: true - /callsites/3.1.0: + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} dev: true - /camel-case/3.0.0: + /camel-case@3.0.0: resolution: {integrity: sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=} dependencies: no-case: 2.3.2 upper-case: 1.1.3 dev: true - /camelcase/5.3.1: + /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} + requiresBuild: true dev: false optional: true - /caniuse-lite/1.0.30001252: + /caniuse-lite@1.0.30001252: resolution: {integrity: sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==} dev: true - /chalk/2.4.2: + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} dependencies: @@ -2431,7 +2574,7 @@ packages: supports-color: 5.5.0 dev: true - /chalk/4.1.2: + /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} dependencies: @@ -2439,13 +2582,13 @@ packages: supports-color: 7.2.0 dev: true - /character-parser/2.2.0: + /character-parser@2.2.0: resolution: {integrity: sha1-x84o821LzZdE5f/CxfzeHHMmH8A=} dependencies: is-regex: 1.1.4 dev: true - /chokidar/3.5.2: + /chokidar@3.5.2: resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} engines: {node: '>= 8.10.0'} dependencies: @@ -2460,26 +2603,27 @@ packages: fsevents: 2.3.2 dev: true - /ci-info/3.2.0: + /ci-info@3.2.0: resolution: {integrity: sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==} dev: true - /clean-css/4.2.3: + /clean-css@4.2.3: resolution: {integrity: sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==} engines: {node: '>= 4.0'} dependencies: source-map: 0.6.1 dev: true - /clean-regexp/1.0.0: + /clean-regexp@1.0.0: resolution: {integrity: sha1-jffHquUf02h06PjQW5GAvBGj/tc=} engines: {node: '>=4'} dependencies: escape-string-regexp: 1.0.5 dev: true - /cliui/5.0.0: + /cliui@5.0.0: resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==} + requiresBuild: true dependencies: string-width: 3.1.0 strip-ansi: 5.2.0 @@ -2487,7 +2631,7 @@ packages: dev: false optional: true - /cliui/7.0.4: + /cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.2 @@ -2495,62 +2639,62 @@ packages: wrap-ansi: 7.0.0 dev: true - /color-convert/1.9.3: + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 - /color-convert/2.0.1: + /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 dev: true - /color-name/1.1.3: + /color-name@1.1.3: resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} - /color-name/1.1.4: + /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /colorette/1.3.0: + /colorette@1.3.0: resolution: {integrity: sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==} dev: true - /combined-stream/1.0.8: + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: true - /commander/2.19.0: + /commander@2.19.0: resolution: {integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==} dev: true - /commander/2.20.3: + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true - /commander/4.1.1: + /commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} dev: true - /common-tags/1.8.0: + /common-tags@1.8.0: resolution: {integrity: sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==} engines: {node: '>=4.0.0'} dev: true - /compressible/2.0.18: + /compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.49.0 dev: true - /compression/1.7.4: + /compression@1.7.4: resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} engines: {node: '>= 0.8.0'} dependencies: @@ -2561,64 +2705,230 @@ packages: on-headers: 1.0.2 safe-buffer: 5.1.2 vary: 1.1.2 + transitivePeerDependencies: + - supports-color dev: true - /concat-map/0.0.1: + /concat-map@0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true - /consolidate/0.16.0: + /consolidate@0.16.0(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==} engines: {node: '>= 0.10.0'} + peerDependencies: + arc-templates: ^0.5.3 + atpl: '>=0.7.6' + babel-core: ^6.26.3 + bracket-template: ^1.1.5 + coffee-script: ^1.12.7 + dot: ^1.1.3 + dust: ^0.3.0 + dustjs-helpers: ^1.7.4 + dustjs-linkedin: ^2.7.5 + eco: ^1.1.0-rc-3 + ect: ^0.5.9 + ejs: ^3.1.5 + haml-coffee: ^1.14.1 + hamlet: ^0.3.3 + hamljs: ^0.6.2 + handlebars: ^4.7.6 + hogan.js: ^3.0.2 + htmling: ^0.0.8 + jade: ^1.11.0 + jazz: ^0.0.18 + jqtpl: ~1.1.0 + just: ^0.1.8 + liquid-node: ^3.0.1 + liquor: ^0.0.5 + lodash: ^4.17.20 + marko: ^3.14.4 + mote: ^0.2.0 + mustache: ^4.0.1 + nunjucks: ^3.2.2 + plates: ~0.4.11 + pug: ^3.0.0 + qejs: ^3.0.5 + ractive: ^1.3.12 + razor-tmpl: ^1.3.1 + react: ^16.13.1 + react-dom: ^16.13.1 + slm: ^2.0.0 + squirrelly: ^5.1.0 + swig: ^1.4.2 + swig-templates: ^2.0.3 + teacup: ^2.0.0 + templayed: '>=0.2.3' + then-jade: '*' + then-pug: '*' + tinyliquid: ^0.2.34 + toffee: ^0.3.6 + twig: ^1.15.2 + twing: ^5.0.2 + underscore: ^1.11.0 + vash: ^0.13.0 + velocityjs: ^2.0.1 + walrus: ^0.10.1 + whiskers: ^0.4.0 + peerDependenciesMeta: + arc-templates: + optional: true + atpl: + optional: true + babel-core: + optional: true + bracket-template: + optional: true + coffee-script: + optional: true + dot: + optional: true + dust: + optional: true + dustjs-helpers: + optional: true + dustjs-linkedin: + optional: true + eco: + optional: true + ect: + optional: true + ejs: + optional: true + haml-coffee: + optional: true + hamlet: + optional: true + hamljs: + optional: true + handlebars: + optional: true + hogan.js: + optional: true + htmling: + optional: true + jade: + optional: true + jazz: + optional: true + jqtpl: + optional: true + just: + optional: true + liquid-node: + optional: true + liquor: + optional: true + lodash: + optional: true + marko: + optional: true + mote: + optional: true + mustache: + optional: true + nunjucks: + optional: true + plates: + optional: true + pug: + optional: true + qejs: + optional: true + ractive: + optional: true + razor-tmpl: + optional: true + react: + optional: true + react-dom: + optional: true + slm: + optional: true + squirrelly: + optional: true + swig: + optional: true + swig-templates: + optional: true + teacup: + optional: true + templayed: + optional: true + then-jade: + optional: true + then-pug: + optional: true + tinyliquid: + optional: true + toffee: + optional: true + twig: + optional: true + twing: + optional: true + underscore: + optional: true + vash: + optional: true + velocityjs: + optional: true + walrus: + optional: true + whiskers: + optional: true dependencies: bluebird: 3.7.2 + lodash: 4.17.21 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) dev: true - /constantinople/4.0.1: + /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: '@babel/parser': 7.15.3 '@babel/types': 7.15.0 dev: true - /content-disposition/0.5.3: + /content-disposition@0.5.3: resolution: {integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==} engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.1.2 dev: true - /content-type/1.0.4: + /content-type@1.0.4: resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} engines: {node: '>= 0.6'} dev: true - /convert-source-map/1.8.0: + /convert-source-map@1.8.0: resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} dependencies: safe-buffer: 5.1.2 dev: true - /cookie-signature/1.0.6: + /cookie-signature@1.0.6: resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} dev: true - /cookie/0.4.0: + /cookie@0.4.0: resolution: {integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==} engines: {node: '>= 0.6'} - /core-js-compat/3.16.3: + /core-js-compat@3.16.3: resolution: {integrity: sha512-A/OtSfSJQKLAFRVd4V0m6Sep9lPdjD8bpN8v3tCCGwE0Tmh0hOiVDm9tw6mXmWOKOSZIyr3EkywPo84cJjGvIQ==} dependencies: browserslist: 4.16.8 semver: 7.0.0 dev: true - /core-util-is/1.0.2: + /core-util-is@1.0.2: resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} dev: true - /cors/2.8.5: + /cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} dependencies: @@ -2626,7 +2936,7 @@ packages: vary: 1.1.2 dev: true - /critters/0.0.10: + /critters@0.0.10: resolution: {integrity: sha512-p5VKhP1803+f+0Jq5P03w1SbiHtpAKm+1EpJHkiPxQPq0Vu9QLZHviJ02GRrWi0dlcJqrmzMWInbwp4d22RsGw==} dependencies: chalk: 4.1.2 @@ -2636,7 +2946,7 @@ packages: pretty-bytes: 5.6.0 dev: true - /cross-env/7.0.3: + /cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true @@ -2644,7 +2954,7 @@ packages: cross-spawn: 7.0.3 dev: true - /cross-spawn/7.0.3: + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} dependencies: @@ -2653,12 +2963,12 @@ packages: which: 2.0.2 dev: true - /crypto-random-string/2.0.0: + /crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} dev: true - /css/3.0.0: + /css@3.0.0: resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} dependencies: inherits: 2.0.4 @@ -2666,31 +2976,31 @@ packages: source-map-resolve: 0.6.0 dev: true - /cssesc/3.0.0: + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true dev: true - /cssom/0.3.8: + /cssom@0.3.8: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} dev: true - /cssom/0.4.4: + /cssom@0.4.4: resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} dev: true - /cssstyle/2.3.0: + /cssstyle@2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} dependencies: cssom: 0.3.8 dev: true - /csstype/2.6.17: + /csstype@2.6.17: resolution: {integrity: sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==} - /data-urls/2.0.0: + /data-urls@2.0.0: resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} engines: {node: '>=10'} dependencies: @@ -2699,19 +3009,29 @@ packages: whatwg-url: 8.7.0 dev: true - /debug/2.6.9: + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 dev: true - /debug/3.2.7: + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.1.3 dev: true - /debug/4.3.2: + /debug@4.3.2: resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} engines: {node: '>=6.0'} peerDependencies: @@ -2723,22 +3043,23 @@ packages: ms: 2.1.2 dev: true - /decamelize/1.2.0: + /decamelize@1.2.0: resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: false optional: true - /decimal.js/10.3.1: + /decimal.js@10.3.1: resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} dev: true - /decode-uri-component/0.2.0: + /decode-uri-component@0.2.0: resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} engines: {node: '>=0.10'} dev: true - /deep-equal/2.0.5: + /deep-equal@2.0.5: resolution: {integrity: sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==} dependencies: call-bind: 1.0.2 @@ -2758,70 +3079,71 @@ packages: which-typed-array: 1.1.7 dev: true - /deep-is/0.1.3: + /deep-is@0.1.3: resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=} dev: true - /deepmerge/4.2.2: + /deepmerge@4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} - /define-properties/1.1.3: + /define-properties@1.1.3: resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} engines: {node: '>= 0.4'} dependencies: object-keys: 1.1.1 dev: true - /delayed-stream/1.0.0: + /delayed-stream@1.0.0: resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} engines: {node: '>=0.4.0'} dev: true - /depd/1.1.2: + /depd@1.1.2: resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} engines: {node: '>= 0.6'} dev: true - /destroy/1.0.4: + /destroy@1.0.4: resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} dev: true - /detect-node/2.1.0: + /detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} dev: true - /dijkstrajs/1.0.2: + /dijkstrajs@1.0.2: resolution: {integrity: sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==} + requiresBuild: true dev: false optional: true - /dir-glob/3.0.1: + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dependencies: path-type: 4.0.0 dev: true - /doctrine/2.1.0: + /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: true - /doctrine/3.0.0: + /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 dev: true - /doctypes/1.1.0: + /doctypes@1.1.0: resolution: {integrity: sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=} dev: true - /dom-serializer/1.3.2: + /dom-serializer@1.3.2: resolution: {integrity: sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==} dependencies: domelementtype: 2.2.0 @@ -2829,25 +3151,25 @@ packages: entities: 2.2.0 dev: true - /domelementtype/2.2.0: + /domelementtype@2.2.0: resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} dev: true - /domexception/2.0.1: + /domexception@2.0.1: resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} engines: {node: '>=8'} dependencies: webidl-conversions: 5.0.0 dev: true - /domhandler/4.2.0: + /domhandler@4.2.0: resolution: {integrity: sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==} engines: {node: '>= 4'} dependencies: domelementtype: 2.2.0 dev: true - /domutils/2.8.0: + /domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} dependencies: dom-serializer: 1.3.2 @@ -2855,84 +3177,85 @@ packages: domhandler: 4.2.0 dev: true - /dotenv/8.6.0: + /dotenv@8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} dev: true - /drauu/0.1.2: + /drauu@0.1.2(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-2u+4OxP9FSgwz2033Y1sP8lg7SSF3dhPHkBdo97iNNJrD3gkYzgvsfJL1Z2x+rqksltRGtnlUByCW8/jIm7KKg==} requiresBuild: true dependencies: - '@drauu/core': 0.1.2 + '@drauu/core': 0.1.2(react-dom@17.0.2)(react@17.0.2) transitivePeerDependencies: - react - react-dom dev: false optional: true - /ee-first/1.1.1: + /ee-first@1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: true - /ejs/2.7.4: + /ejs@2.7.4: resolution: {integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==} engines: {node: '>=0.10.0'} requiresBuild: true dev: true - /electron-to-chromium/1.3.821: + /electron-to-chromium@1.3.821: resolution: {integrity: sha512-IadPc2Ep1RGFYfLYdp0FTOgdPUDg3lvH7vqwGGdAuHtbnVc8M2qldS+SGESzmUaXpaSqpzROozQcBKFiRSKpOg==} dev: true - /emmet/2.3.4: + /emmet@2.3.4: resolution: {integrity: sha512-3IqSwmO+N2ZGeuhDyhV/TIOJFUbkChi53bcasSNRE7Yd+4eorbbYz4e53TpMECt38NtYkZNupQCZRlwdAYA42A==} dependencies: '@emmetio/abbreviation': 2.2.2 '@emmetio/css-abbreviation': 2.1.4 dev: true - /emoji-regex/7.0.3: + /emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} + requiresBuild: true dev: false optional: true - /emoji-regex/8.0.0: + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /emojis-list/3.0.0: + /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} dev: true - /encodeurl/1.0.2: + /encodeurl@1.0.2: resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} engines: {node: '>= 0.8'} dev: true - /enquirer/2.3.6: + /enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.1 dev: true - /entities/2.1.0: + /entities@2.1.0: resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} dev: true - /entities/2.2.0: + /entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true - /error-ex/1.3.2: + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true - /es-abstract/1.18.5: + /es-abstract@1.18.5: resolution: {integrity: sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==} engines: {node: '>= 0.4'} dependencies: @@ -2955,7 +3278,7 @@ packages: unbox-primitive: 1.0.1 dev: true - /es-get-iterator/1.1.2: + /es-get-iterator@1.1.2: resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==} dependencies: call-bind: 1.0.2 @@ -2968,7 +3291,7 @@ packages: isarray: 2.0.5 dev: true - /es-to-primitive/1.2.1: + /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} dependencies: @@ -2977,32 +3300,32 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild/0.12.24: + /esbuild@0.12.24: resolution: {integrity: sha512-C0ibY+HsXzYB6L/pLWEiWjMpghKsIc58Q5yumARwBQsHl9DXPakW+5NI/Y9w4YXiz0PEP6XTGTT/OV4Nnsmb4A==} hasBin: true requiresBuild: true dev: true - /escalade/3.1.1: + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} dev: true - /escape-html/1.0.3: + /escape-html@1.0.3: resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} dev: true - /escape-string-regexp/1.0.5: + /escape-string-regexp@1.0.5: resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} engines: {node: '>=0.8.0'} dev: true - /escape-string-regexp/4.0.0: + /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} dev: true - /escodegen/2.0.0: + /escodegen@2.0.0: resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} engines: {node: '>=6.0'} hasBin: true @@ -3015,7 +3338,7 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-standard/16.0.3_dfa64ed3583b1f068d7b5761cc0291ce: + /eslint-config-standard@16.0.3(eslint-plugin-import@2.24.2)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.1.0)(eslint@7.32.0): resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} peerDependencies: eslint: ^7.12.1 @@ -3024,27 +3347,47 @@ packages: eslint-plugin-promise: ^4.2.1 || ^5.0.0 dependencies: eslint: 7.32.0 - eslint-plugin-import: 2.24.2_eslint@7.32.0 - eslint-plugin-node: 11.1.0_eslint@7.32.0 - eslint-plugin-promise: 5.1.0_eslint@7.32.0 + eslint-plugin-import: 2.24.2(@typescript-eslint/parser@4.30.0)(eslint@7.32.0) + eslint-plugin-node: 11.1.0(eslint@7.32.0) + eslint-plugin-promise: 5.1.0(eslint@7.32.0) dev: true - /eslint-import-resolver-node/0.3.6: + /eslint-import-resolver-node@0.3.6: resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} dependencies: debug: 3.2.7 resolve: 1.20.0 + transitivePeerDependencies: + - supports-color dev: true - /eslint-module-utils/2.6.2: + /eslint-module-utils@2.6.2(@typescript-eslint/parser@4.30.0)(eslint-import-resolver-node@0.3.6): resolution: {integrity: sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==} engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true dependencies: + '@typescript-eslint/parser': 4.30.0(eslint@7.32.0)(typescript@4.4.2) debug: 3.2.7 + eslint-import-resolver-node: 0.3.6 pkg-dir: 2.0.0 + transitivePeerDependencies: + - supports-color dev: true - /eslint-plugin-es/3.0.1_eslint@7.32.0: + /eslint-plugin-es@3.0.1(eslint@7.32.0): resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: @@ -3055,7 +3398,7 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-eslint-comments/3.2.0_eslint@7.32.0: + /eslint-plugin-eslint-comments@3.2.0(eslint@7.32.0): resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} peerDependencies: @@ -3066,25 +3409,30 @@ packages: ignore: 5.1.8 dev: true - /eslint-plugin-html/6.1.2: + /eslint-plugin-html@6.1.2: resolution: {integrity: sha512-bhBIRyZFqI4EoF12lGDHAmgfff8eLXx6R52/K3ESQhsxzCzIE6hdebS7Py651f7U3RBotqroUnC3L29bR7qJWQ==} dependencies: htmlparser2: 6.1.0 dev: true - /eslint-plugin-import/2.24.2_eslint@7.32.0: + /eslint-plugin-import@2.24.2(@typescript-eslint/parser@4.30.0)(eslint@7.32.0): resolution: {integrity: sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==} engines: {node: '>=4'} peerDependencies: + '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true dependencies: + '@typescript-eslint/parser': 4.30.0(eslint@7.32.0)(typescript@4.4.2) array-includes: 3.1.3 array.prototype.flat: 1.2.4 debug: 2.6.9 doctrine: 2.1.0 eslint: 7.32.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.6.2 + eslint-module-utils: 2.6.2(@typescript-eslint/parser@4.30.0)(eslint-import-resolver-node@0.3.6) find-up: 2.1.0 has: 1.0.3 is-core-module: 2.6.0 @@ -3094,9 +3442,13 @@ packages: read-pkg-up: 3.0.0 resolve: 1.20.0 tsconfig-paths: 3.11.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color dev: true - /eslint-plugin-jsonc/1.6.0_eslint@7.32.0: + /eslint-plugin-jsonc@1.6.0(eslint@7.32.0): resolution: {integrity: sha512-0J/8SAjrBkgARsiQ/fyrMTochEy6t24fE9uQ5Gq5KmPZUXAKQuOjS3Zned2iI4r9jyUAoQlAXBfcGDQpWbJkCQ==} engines: {node: '>=8.10.0'} peerDependencies: @@ -3108,14 +3460,14 @@ packages: natural-compare: 1.4.0 dev: true - /eslint-plugin-node/11.1.0_eslint@7.32.0: + /eslint-plugin-node@11.1.0(eslint@7.32.0): resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: eslint: 7.32.0 - eslint-plugin-es: 3.0.1_eslint@7.32.0 + eslint-plugin-es: 3.0.1(eslint@7.32.0) eslint-utils: 2.1.0 ignore: 5.1.8 minimatch: 3.0.4 @@ -3123,7 +3475,7 @@ packages: semver: 6.3.0 dev: true - /eslint-plugin-promise/5.1.0_eslint@7.32.0: + /eslint-plugin-promise@5.1.0(eslint@7.32.0): resolution: {integrity: sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -3132,7 +3484,7 @@ packages: eslint: 7.32.0 dev: true - /eslint-plugin-react/7.25.1_eslint@7.32.0: + /eslint-plugin-react@7.25.1(eslint@7.32.0): resolution: {integrity: sha512-P4j9K1dHoFXxDNP05AtixcJEvIT6ht8FhYKsrkY0MPCPaUMYijhpWwNiRDZVtA8KFuZOkGSeft6QwH8KuVpJug==} engines: {node: '>=4'} peerDependencies: @@ -3154,7 +3506,7 @@ packages: string.prototype.matchall: 4.0.5 dev: true - /eslint-plugin-unicorn/34.0.1_eslint@7.32.0: + /eslint-plugin-unicorn@34.0.1(eslint@7.32.0): resolution: {integrity: sha512-GUBtRYRhPVOW/GDu6QtOjrneSZxY/MulOT8puJU+47VKCzNmMgS/iHO2gZqoQ7KPMrpNYlebUlvCWy3IR1USVQ==} engines: {node: '>=12'} peerDependencies: @@ -3163,8 +3515,8 @@ packages: ci-info: 3.2.0 clean-regexp: 1.0.0 eslint: 7.32.0 - eslint-template-visitor: 2.3.2_eslint@7.32.0 - eslint-utils: 3.0.0_eslint@7.32.0 + eslint-template-visitor: 2.3.2(eslint@7.32.0) + eslint-utils: 3.0.0(eslint@7.32.0) is-builtin-module: 3.1.0 lodash: 4.17.21 pluralize: 8.0.0 @@ -3177,7 +3529,7 @@ packages: - supports-color dev: true - /eslint-plugin-vue/7.12.1_eslint@7.32.0: + /eslint-plugin-vue@7.12.1(eslint@7.32.0): resolution: {integrity: sha512-xHf/wCt88qmzqQerjaSteUFGASj7fPreglKD4ijnvoKRkoSJ3/H3kuJE8QFFtc+2wjw6hRDs834HH7vpuTJQzg==} engines: {node: '>=8.10'} peerDependencies: @@ -3187,12 +3539,12 @@ packages: eslint-utils: 2.1.0 natural-compare: 1.4.0 semver: 7.3.5 - vue-eslint-parser: 7.10.0_eslint@7.32.0 + vue-eslint-parser: 7.10.0(eslint@7.32.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-yml/0.9.0_eslint@7.32.0: + /eslint-plugin-yml@0.9.0(eslint@7.32.0): resolution: {integrity: sha512-0hHBm/aOyaRSQ3y7iEJ5uSIksYf2kdv3riMLEJoyyOBoQ6p1ODxJCBBhWdo/cbnFZRPvGhzDd5RCTqgExsIqMA==} peerDependencies: eslint: '>=6.0.0' @@ -3206,7 +3558,7 @@ packages: - supports-color dev: true - /eslint-scope/5.1.1: + /eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} dependencies: @@ -3214,13 +3566,13 @@ packages: estraverse: 4.3.0 dev: true - /eslint-template-visitor/2.3.2_eslint@7.32.0: + /eslint-template-visitor@2.3.2(eslint@7.32.0): resolution: {integrity: sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==} peerDependencies: eslint: '>=7.0.0' dependencies: '@babel/core': 7.15.0 - '@babel/eslint-parser': 7.15.0_@babel+core@7.15.0+eslint@7.32.0 + '@babel/eslint-parser': 7.15.0(@babel/core@7.15.0)(eslint@7.32.0) eslint: 7.32.0 eslint-visitor-keys: 2.1.0 esquery: 1.4.0 @@ -3229,14 +3581,14 @@ packages: - supports-color dev: true - /eslint-utils/2.1.0: + /eslint-utils@2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} dependencies: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils/3.0.0_eslint@7.32.0: + /eslint-utils@3.0.0(eslint@7.32.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: @@ -3246,17 +3598,17 @@ packages: eslint-visitor-keys: 2.1.0 dev: true - /eslint-visitor-keys/1.3.0: + /eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} dev: true - /eslint-visitor-keys/2.1.0: + /eslint-visitor-keys@2.1.0: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} dev: true - /eslint/7.32.0: + /eslint@7.32.0: resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} engines: {node: ^10.12.0 || >=12.0.0} hasBin: true @@ -3305,72 +3657,72 @@ packages: - supports-color dev: true - /espree/6.2.1: + /espree@6.2.1: resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==} engines: {node: '>=6.0.0'} dependencies: acorn: 7.4.1 - acorn-jsx: 5.3.2_acorn@7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) eslint-visitor-keys: 1.3.0 dev: true - /espree/7.3.1: + /espree@7.3.1: resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: acorn: 7.4.1 - acorn-jsx: 5.3.2_acorn@7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) eslint-visitor-keys: 1.3.0 dev: true - /esprima/4.0.1: + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true dev: true - /esquery/1.4.0: + /esquery@1.4.0: resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} engines: {node: '>=0.10'} dependencies: estraverse: 5.2.0 dev: true - /esrecurse/4.3.0: + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.2.0 dev: true - /estraverse/4.3.0: + /estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} dev: true - /estraverse/5.2.0: + /estraverse@5.2.0: resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} engines: {node: '>=4.0'} dev: true - /estree-walker/1.0.1: + /estree-walker@1.0.1: resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} dev: true - /estree-walker/2.0.2: + /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - /esutils/2.0.3: + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} dev: true - /etag/1.8.1: + /etag@1.8.1: resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=} engines: {node: '>= 0.6'} dev: true - /execa/5.1.1: + /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} dependencies: @@ -3385,7 +3737,7 @@ packages: strip-final-newline: 2.0.0 dev: true - /express-minify/1.0.0: + /express-minify@1.0.0: resolution: {integrity: sha512-04/iYxB79jGeNZBBkbAW7L7FMG4Wtu78F1SayXIKiJD6MfqYnOI3DD8no7QOntgedYCdYUpj+Skg8QWR/2WnMQ==} engines: {node: '>= 4.0.0'} dependencies: @@ -3394,7 +3746,7 @@ packages: uglify-js: 3.4.10 dev: true - /express/4.17.1: + /express@4.17.1: resolution: {integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==} engines: {node: '>= 0.10.0'} dependencies: @@ -3428,20 +3780,22 @@ packages: type-is: 1.6.18 utils-merge: 1.0.1 vary: 1.1.2 + transitivePeerDependencies: + - supports-color dev: true - /extend-shallow/2.0.1: + /extend-shallow@2.0.1: resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=} engines: {node: '>=0.10.0'} dependencies: is-extendable: 0.1.1 dev: true - /fast-deep-equal/3.1.3: + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true - /fast-glob/3.2.7: + /fast-glob@3.2.7: resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} engines: {node: '>=8'} dependencies: @@ -3452,35 +3806,35 @@ packages: micromatch: 4.0.4 dev: true - /fast-json-stable-stringify/2.1.0: + /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true - /fast-levenshtein/2.0.6: + /fast-levenshtein@2.0.6: resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} dev: true - /fastq/1.12.0: + /fastq@1.12.0: resolution: {integrity: sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==} dependencies: reusify: 1.0.4 dev: true - /file-entry-cache/6.0.1: + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 dev: true - /fill-range/7.0.1: + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: true - /finalhandler/1.1.2: + /finalhandler@1.1.2: resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} engines: {node: '>= 0.8'} dependencies: @@ -3491,24 +3845,27 @@ packages: parseurl: 1.3.3 statuses: 1.5.0 unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color dev: true - /find-up/2.1.0: + /find-up@2.1.0: resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} engines: {node: '>=4'} dependencies: locate-path: 2.0.0 dev: true - /find-up/3.0.0: + /find-up@3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} + requiresBuild: true dependencies: locate-path: 3.0.0 dev: false optional: true - /find-up/4.1.0: + /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} dependencies: @@ -3516,7 +3873,7 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache/3.0.4: + /flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: @@ -3524,11 +3881,11 @@ packages: rimraf: 3.0.2 dev: true - /flatted/3.2.2: + /flatted@3.2.2: resolution: {integrity: sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==} dev: true - /focus-trap/6.6.1: + /focus-trap@6.6.1: resolution: {integrity: sha512-x9BWuAeF5UrfWuYKJ3jYrjcVYSYptS9CqtxH5IH7lPlZrMsaugKeAa0HtoZSBZe5DmeTMx2m0qY464ZMzqarzw==} requiresBuild: true dependencies: @@ -3536,9 +3893,10 @@ packages: dev: false optional: true - /follow-redirects/1.14.4: + /follow-redirects@1.14.4: resolution: {integrity: sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==} engines: {node: '>=4.0'} + requiresBuild: true peerDependencies: debug: '*' peerDependenciesMeta: @@ -3547,11 +3905,11 @@ packages: dev: false optional: true - /foreach/2.0.5: + /foreach@2.0.5: resolution: {integrity: sha1-C+4AUBiusmDQo6865ljdATbsG5k=} dev: true - /form-data/3.0.1: + /form-data@3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} dependencies: @@ -3560,17 +3918,17 @@ packages: mime-types: 2.1.32 dev: true - /forwarded/0.2.0: + /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} dev: true - /fresh/0.5.2: + /fresh@0.5.2: resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} engines: {node: '>= 0.6'} dev: true - /fs-extra/10.0.0: + /fs-extra@10.0.0: resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} engines: {node: '>=12'} dependencies: @@ -3579,7 +3937,7 @@ packages: universalify: 2.0.0 dev: true - /fs-extra/9.1.0: + /fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} dependencies: @@ -3589,41 +3947,42 @@ packages: universalify: 2.0.0 dev: true - /fs.realpath/1.0.0: + /fs.realpath@1.0.0: resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} dev: true - /fsevents/2.3.2: + /fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + requiresBuild: true dev: true optional: true - /function-bind/1.1.1: + /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true - /functional-red-black-tree/1.0.1: + /functional-red-black-tree@1.0.1: resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} dev: true - /generic-names/2.0.1: + /generic-names@2.0.1: resolution: {integrity: sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==} dependencies: loader-utils: 1.4.0 dev: true - /gensync/1.0.0-beta.2: + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} dev: true - /get-caller-file/2.0.5: + /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - /get-intrinsic/1.1.1: + /get-intrinsic@1.1.1: resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} dependencies: function-bind: 1.1.1 @@ -3631,23 +3990,23 @@ packages: has-symbols: 1.0.2 dev: true - /get-own-enumerable-property-symbols/3.0.2: + /get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} dev: true - /get-stream/6.0.1: + /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} dev: true - /glob-parent/5.1.2: + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.1 dev: true - /glob/7.1.6: + /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} dependencies: fs.realpath: 1.0.0 @@ -3658,7 +4017,7 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob/7.1.7: + /glob@7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} dependencies: fs.realpath: 1.0.0 @@ -3669,19 +4028,19 @@ packages: path-is-absolute: 1.0.1 dev: true - /globals/11.12.0: + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} dev: true - /globals/13.11.0: + /globals@13.11.0: resolution: {integrity: sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true - /globby/11.0.4: + /globby@11.0.4: resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} engines: {node: '>=10'} dependencies: @@ -3693,11 +4052,11 @@ packages: slash: 3.0.0 dev: true - /graceful-fs/4.2.8: + /graceful-fs@4.2.8: resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} dev: true - /gray-matter/4.0.3: + /gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} dependencies: @@ -3707,65 +4066,65 @@ packages: strip-bom-string: 1.0.0 dev: true - /handle-thing/2.0.1: + /handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: true - /has-bigints/1.0.1: + /has-bigints@1.0.1: resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} dev: true - /has-flag/3.0.0: + /has-flag@3.0.0: resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} engines: {node: '>=4'} dev: true - /has-flag/4.0.0: + /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} dev: true - /has-pkg/0.0.1: + /has-pkg@0.0.1: resolution: {integrity: sha512-UuzsNxcEOdEwRsz4HtaceT7jg71L2gopEq8OMOGKtPLYhHhF4RJZtkcZ4Xn0jmAmBSNhm0xPhrywgZkLu4aMYQ==} dev: true - /has-symbols/1.0.2: + /has-symbols@1.0.2: resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} engines: {node: '>= 0.4'} dev: true - /has-tostringtag/1.0.0: + /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.2 dev: true - /has/1.0.3: + /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 dev: true - /hash-sum/2.0.0: + /hash-sum@2.0.0: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} dev: true - /he/1.2.0: + /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true dev: true - /highlight.js/10.7.3: + /highlight.js@10.7.3: resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} dev: true - /hosted-git-info/2.8.9: + /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true - /hpack.js/2.1.6: + /hpack.js@2.1.6: resolution: {integrity: sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=} dependencies: inherits: 2.0.4 @@ -3774,14 +4133,14 @@ packages: wbuf: 1.7.3 dev: true - /html-encoding-sniffer/2.0.1: + /html-encoding-sniffer@2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} engines: {node: '>=10'} dependencies: whatwg-encoding: 1.0.5 dev: true - /html-minifier/4.0.0: + /html-minifier@4.0.0: resolution: {integrity: sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==} engines: {node: '>=6'} hasBin: true @@ -3795,7 +4154,7 @@ packages: uglify-js: 3.14.1 dev: true - /htmlparser2/6.1.0: + /htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} dependencies: domelementtype: 2.2.0 @@ -3804,11 +4163,11 @@ packages: entities: 2.2.0 dev: true - /http-deceiver/1.2.7: + /http-deceiver@1.2.7: resolution: {integrity: sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=} dev: true - /http-errors/1.7.2: + /http-errors@1.7.2: resolution: {integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==} engines: {node: '>= 0.6'} dependencies: @@ -3819,7 +4178,7 @@ packages: toidentifier: 1.0.0 dev: true - /http-errors/1.7.3: + /http-errors@1.7.3: resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} engines: {node: '>= 0.6'} dependencies: @@ -3830,7 +4189,7 @@ packages: toidentifier: 1.0.0 dev: true - /http-proxy-agent/4.0.1: + /http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} engines: {node: '>= 6'} dependencies: @@ -3841,7 +4200,7 @@ packages: - supports-color dev: true - /https-localhost/4.6.5: + /https-localhost@4.6.5: resolution: {integrity: sha512-K62psOhUUyIgfXEoV289mMo2J7n1DB/iSx7wCCpKqIp9lRPUjHd6+BVzkNHfWKwmjjPtIA5Mga5US/wblJHrpw==} hasBin: true dependencies: @@ -3855,7 +4214,7 @@ packages: - supports-color dev: true - /https-proxy-agent/5.0.0: + /https-proxy-agent@5.0.0: resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} engines: {node: '>= 6'} dependencies: @@ -3865,23 +4224,23 @@ packages: - supports-color dev: true - /human-signals/2.1.0: + /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} dev: true - /iconv-lite/0.4.24: + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true - /icss-replace-symbols/1.1.0: + /icss-replace-symbols@1.1.0: resolution: {integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=} dev: true - /icss-utils/5.1.0_postcss@8.3.6: + /icss-utils@5.1.0(postcss@8.3.6): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -3890,40 +4249,42 @@ packages: postcss: 8.3.6 dev: true - /idb-keyval/5.1.5: + /idb-keyval@5.1.5: resolution: {integrity: sha512-J1utxYWQokYjy01LvDQ7WmiAtZCGUSkVi9EIBfUSyLOr/BesnMIxNGASTh9A1LzeISSjSqEPsfFdTss7EE7ofQ==} + requiresBuild: true dependencies: safari-14-idb-fix: 1.0.6 dev: false optional: true - /idb/6.1.3: + /idb@6.1.3: resolution: {integrity: sha512-oIRDpVcs5KXpI1hRnTJUwkY63RB/7iqu9nSNuzXN8TLHjs7oO20IoPFbBTsqxIL5IjzIUDi+FXlVcK4zm26J8A==} dev: true - /ieee754/1.2.1: + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + requiresBuild: true dev: false optional: true - /ignore/4.0.6: + /ignore@4.0.6: resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} engines: {node: '>= 4'} dev: true - /ignore/5.1.8: + /ignore@5.1.8: resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} engines: {node: '>= 4'} dev: true - /import-cwd/3.0.0: + /import-cwd@3.0.0: resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} engines: {node: '>=8'} dependencies: import-from: 3.0.0 dev: true - /import-fresh/3.3.0: + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} dependencies: @@ -3931,34 +4292,34 @@ packages: resolve-from: 4.0.0 dev: true - /import-from/3.0.0: + /import-from@3.0.0: resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 dev: true - /imurmurhash/0.1.4: + /imurmurhash@0.1.4: resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} engines: {node: '>=0.8.19'} dev: true - /inflight/1.0.6: + /inflight@1.0.6: resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} dependencies: once: 1.4.0 wrappy: 1.0.2 dev: true - /inherits/2.0.3: + /inherits@2.0.3: resolution: {integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=} dev: true - /inherits/2.0.4: + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /internal-slot/1.0.3: + /internal-slot@1.0.3: resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} engines: {node: '>= 0.4'} dependencies: @@ -3967,12 +4328,12 @@ packages: side-channel: 1.0.4 dev: true - /ipaddr.js/1.9.1: + /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} dev: true - /is-arguments/1.1.1: + /is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: @@ -3980,24 +4341,24 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-arrayish/0.2.1: + /is-arrayish@0.2.1: resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} dev: true - /is-bigint/1.0.4: + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.1 dev: true - /is-binary-path/2.1.0: + /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true - /is-boolean-object/1.1.2: + /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: @@ -4005,105 +4366,106 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-builtin-module/3.1.0: + /is-builtin-module@3.1.0: resolution: {integrity: sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==} engines: {node: '>=6'} dependencies: builtin-modules: 3.2.0 dev: true - /is-callable/1.2.4: + /is-callable@1.2.4: resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} engines: {node: '>= 0.4'} dev: true - /is-core-module/2.6.0: + /is-core-module@2.6.0: resolution: {integrity: sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==} dependencies: has: 1.0.3 dev: true - /is-date-object/1.0.5: + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true - /is-expression/4.0.0: + /is-expression@4.0.0: resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} dependencies: acorn: 7.4.1 object-assign: 4.1.1 dev: true - /is-extendable/0.1.1: + /is-extendable@0.1.1: resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=} engines: {node: '>=0.10.0'} dev: true - /is-extglob/2.1.1: + /is-extglob@2.1.1: resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} engines: {node: '>=0.10.0'} dev: true - /is-fullwidth-code-point/2.0.0: + /is-fullwidth-code-point@2.0.0: resolution: {integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=} engines: {node: '>=4'} + requiresBuild: true dev: false optional: true - /is-fullwidth-code-point/3.0.0: + /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} dev: true - /is-glob/4.0.1: + /is-glob@4.0.1: resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: true - /is-map/2.0.2: + /is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: true - /is-module/1.0.0: - resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} + /is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} dev: true - /is-negative-zero/2.0.1: + /is-negative-zero@2.0.1: resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} engines: {node: '>= 0.4'} dev: true - /is-number-object/1.0.6: + /is-number-object@1.0.6: resolution: {integrity: sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true - /is-number/7.0.0: + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} dev: true - /is-obj/1.0.1: - resolution: {integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8=} + /is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} engines: {node: '>=0.10.0'} dev: true - /is-potential-custom-element-name/1.0.1: + /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true - /is-promise/2.2.2: + /is-promise@2.2.2: resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} dev: true - /is-regex/1.1.4: + /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: @@ -4111,35 +4473,35 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-regexp/1.0.0: - resolution: {integrity: sha1-/S2INUXEa6xaYz57mgnof6LLUGk=} + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} engines: {node: '>=0.10.0'} dev: true - /is-set/2.0.2: + /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: true - /is-stream/2.0.1: + /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} dev: true - /is-string/1.0.7: + /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true - /is-symbol/1.0.4: + /is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.2 dev: true - /is-typed-array/1.1.8: + /is-typed-array@1.1.8: resolution: {integrity: sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==} engines: {node: '>= 0.4'} dependencies: @@ -4150,31 +4512,32 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-weakmap/2.0.1: + /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: true - /is-weakset/2.0.1: + /is-weakset@2.0.1: resolution: {integrity: sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==} dev: true - /isarray/1.0.0: + /isarray@1.0.0: resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} dev: true - /isarray/2.0.5: + /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - /isexe/2.0.0: + /isexe@2.0.0: resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} dev: true - /ismobilejs/1.1.1: + /ismobilejs@1.1.1: resolution: {integrity: sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==} + requiresBuild: true dev: false optional: true - /jest-worker/26.6.2: + /jest-worker@26.6.2: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: @@ -4183,25 +4546,24 @@ packages: supports-color: 7.2.0 dev: true - /jiti/1.11.0: + /jiti@1.11.0: resolution: {integrity: sha512-/2c7e61hxxTIN34UeHBB0LCJ5Tq64kgJDV7GR+++e8XRxCKRIKmB8tH6ww1W+Z6Kgd6By+C3RSCu1lXjbPT68A==} hasBin: true dev: true - /joycon/3.0.1: + /joycon@3.0.1: resolution: {integrity: sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA==} engines: {node: '>=10'} dev: true - /js-stringify/1.0.2: + /js-stringify@1.0.2: resolution: {integrity: sha1-Fzb939lyTyijaCrcYjCufk6Weds=} dev: true - /js-tokens/4.0.0: + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - /js-yaml/3.14.1: + /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: @@ -4209,7 +4571,7 @@ packages: esprima: 4.0.1 dev: true - /jsdom/16.7.0: + /jsdom@16.7.0: resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} engines: {node: '>=10'} peerDependencies: @@ -4251,49 +4613,49 @@ packages: - utf-8-validate dev: true - /jsesc/0.5.0: - resolution: {integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=} + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true - /jsesc/2.5.2: + /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true dev: true - /json-parse-better-errors/1.0.2: + /json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true - /json-parse-even-better-errors/2.3.1: + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true - /json-schema-traverse/0.4.1: + /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true - /json-schema-traverse/1.0.0: + /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: true - /json-schema/0.3.0: + /json-schema@0.3.0: resolution: {integrity: sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==} dev: true - /json-stable-stringify-without-jsonify/1.0.1: + /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} dev: true - /json5/1.0.1: + /json5@1.0.1: resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} hasBin: true dependencies: minimist: 1.2.5 dev: true - /json5/2.2.0: + /json5@2.2.0: resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} engines: {node: '>=6'} hasBin: true @@ -4301,7 +4663,7 @@ packages: minimist: 1.2.5 dev: true - /jsonc-eslint-parser/1.3.0: + /jsonc-eslint-parser@1.3.0: resolution: {integrity: sha512-+xXdr4lCtRpeOKFl+v64QgVUcz3z0XvcUZSKspAARII3zPKt53zGPPsSjepydtJifKzeOpqf46CaI8LvSxLHyA==} engines: {node: '>=8.10.0'} dependencies: @@ -4311,15 +4673,15 @@ packages: semver: 6.3.0 dev: true - /jsonc-parser/2.3.1: + /jsonc-parser@2.3.1: resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} dev: true - /jsonc-parser/3.0.0: + /jsonc-parser@3.0.0: resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==} dev: true - /jsonfile/6.1.0: + /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 @@ -4327,19 +4689,19 @@ packages: graceful-fs: 4.2.8 dev: true - /jsonpointer/4.1.0: + /jsonpointer@4.1.0: resolution: {integrity: sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==} engines: {node: '>=0.10.0'} dev: true - /jstransformer/1.0.0: + /jstransformer@1.0.0: resolution: {integrity: sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=} dependencies: is-promise: 2.2.2 promise: 7.3.1 dev: true - /jsx-ast-utils/3.2.0: + /jsx-ast-utils@3.2.0: resolution: {integrity: sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==} engines: {node: '>=4.0'} dependencies: @@ -4347,23 +4709,23 @@ packages: object.assign: 4.1.2 dev: true - /jwt-decode/3.1.2: + /jwt-decode@3.1.2: resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==} requiresBuild: true dev: false optional: true - /kind-of/6.0.3: + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} dev: true - /leven/3.1.0: + /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} dev: true - /levn/0.3.0: + /levn@0.3.0: resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=} engines: {node: '>= 0.8.0'} dependencies: @@ -4371,7 +4733,7 @@ packages: type-check: 0.3.2 dev: true - /levn/0.4.1: + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} dependencies: @@ -4379,22 +4741,22 @@ packages: type-check: 0.4.0 dev: true - /lilconfig/2.0.3: + /lilconfig@2.0.3: resolution: {integrity: sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==} engines: {node: '>=10'} dev: true - /lines-and-columns/1.1.6: + /lines-and-columns@1.1.6: resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=} dev: true - /linkify-it/3.0.2: + /linkify-it@3.0.2: resolution: {integrity: sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==} dependencies: uc.micro: 1.0.6 dev: true - /load-json-file/4.0.0: + /load-json-file@4.0.0: resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} engines: {node: '>=4'} dependencies: @@ -4404,7 +4766,7 @@ packages: strip-bom: 3.0.0 dev: true - /loader-utils/1.4.0: + /loader-utils@1.4.0: resolution: {integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==} engines: {node: '>=4.0.0'} dependencies: @@ -4413,7 +4775,7 @@ packages: json5: 1.0.1 dev: true - /locate-path/2.0.0: + /locate-path@2.0.0: resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} engines: {node: '>=4'} dependencies: @@ -4421,91 +4783,91 @@ packages: path-exists: 3.0.0 dev: true - /locate-path/3.0.0: + /locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} + requiresBuild: true dependencies: p-locate: 3.0.0 path-exists: 3.0.0 dev: false optional: true - /locate-path/5.0.0: + /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true - /lodash.camelcase/4.3.0: + /lodash.camelcase@4.3.0: resolution: {integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY=} dev: true - /lodash.clonedeep/4.5.0: + /lodash.clonedeep@4.5.0: resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} dev: true - /lodash.debounce/4.0.8: - resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=} + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true - /lodash.merge/4.6.2: + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash.sortby/4.7.0: - resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=} + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: true - /lodash.truncate/4.4.2: + /lodash.truncate@4.4.2: resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} dev: true - /lodash/4.17.21: + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /loose-envify/1.4.0: + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 - dev: true - /lower-case/1.1.4: + /lower-case@1.1.4: resolution: {integrity: sha1-miyr0bno4K6ZOkv31YdcOcQujqw=} dev: true - /lru-cache/5.1.1: + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 dev: true - /lru-cache/6.0.0: + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 dev: true - /magic-string/0.25.7: + /magic-string@0.25.7: resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} dependencies: sourcemap-codec: 1.4.8 dev: true - /markdown-it-link-attributes/3.0.0: + /markdown-it-link-attributes@3.0.0: resolution: {integrity: sha512-B34ySxVeo6MuEGSPCWyIYryuXINOvngNZL87Mp7YYfKIf6DcD837+lXA8mo6EBbauKsnGz22ZH0zsbOiQRWTNg==} dev: true - /markdown-it-prism/2.2.0: + /markdown-it-prism@2.2.0: resolution: {integrity: sha512-GOcP+oOt5AJHwD/6hnrdLXCSw1ZfjCCGblsmrPEyc5zEuNtRYYUjOsDX2eH5xoWTddnRwWlTT2EL/yN6mDcDwQ==} engines: {node: '>=6.0.0'} dependencies: prismjs: 1.24.1 dev: true - /markdown-it/12.2.0: + /markdown-it@12.2.0: resolution: {integrity: sha512-Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg==} hasBin: true dependencies: @@ -4516,40 +4878,40 @@ packages: uc.micro: 1.0.6 dev: true - /mdurl/1.0.1: + /mdurl@1.0.1: resolution: {integrity: sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=} dev: true - /media-typer/0.3.0: + /media-typer@0.3.0: resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} engines: {node: '>= 0.6'} dev: true - /merge-descriptors/1.0.1: + /merge-descriptors@1.0.1: resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} dev: true - /merge-source-map/1.1.0: + /merge-source-map@1.1.0: resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} dependencies: source-map: 0.6.1 dev: true - /merge-stream/2.0.0: + /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true - /merge2/1.4.1: + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: true - /methods/1.1.2: + /methods@1.1.2: resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=} engines: {node: '>= 0.6'} dev: true - /micromatch/4.0.4: + /micromatch@4.0.4: resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} engines: {node: '>=8.6'} dependencies: @@ -4557,64 +4919,64 @@ packages: picomatch: 2.3.0 dev: true - /mime-db/1.49.0: + /mime-db@1.49.0: resolution: {integrity: sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==} engines: {node: '>= 0.6'} dev: true - /mime-types/2.1.32: + /mime-types@2.1.32: resolution: {integrity: sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.49.0 dev: true - /mime/1.6.0: + /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true dev: true - /mimic-fn/2.1.0: + /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} dev: true - /minimalistic-assert/1.0.1: + /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true - /minimatch/3.0.4: + /minimatch@3.0.4: resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} dependencies: brace-expansion: 1.1.11 dev: true - /minimist/1.2.5: + /minimist@1.2.5: resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} dev: true - /ms/2.0.0: + /ms@2.0.0: resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} dev: true - /ms/2.1.1: + /ms@2.1.1: resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: true - /ms/2.1.2: + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true - /ms/2.1.3: + /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /multimap/1.1.0: + /multimap@1.1.0: resolution: {integrity: sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==} dev: true - /mz/2.7.0: + /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: any-promise: 1.3.0 @@ -4622,37 +4984,37 @@ packages: thenify-all: 1.6.0 dev: true - /nanoid/3.1.25: + /nanoid@3.1.25: resolution: {integrity: sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true - /natural-compare/1.4.0: + /natural-compare@1.4.0: resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} dev: true - /negotiator/0.6.2: + /negotiator@0.6.2: resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} engines: {node: '>= 0.6'} dev: true - /no-case/2.3.2: + /no-case@2.3.2: resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} dependencies: lower-case: 1.1.4 dev: true - /node-modules-regexp/1.0.0: + /node-modules-regexp@1.0.0: resolution: {integrity: sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=} engines: {node: '>=0.10.0'} dev: true - /node-releases/1.1.75: + /node-releases@1.1.75: resolution: {integrity: sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==} dev: true - /normalize-package-data/2.5.0: + /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 @@ -4661,36 +5023,35 @@ packages: validate-npm-package-license: 3.0.4 dev: true - /normalize-path/3.0.0: + /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true - /npm-run-path/4.0.1: + /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: true - /nprogress/0.2.0: + /nprogress@0.2.0: resolution: {integrity: sha1-y480xTIT2JVyP8urkH6UIq28r7E=} dev: false - /nwsapi/2.2.0: + /nwsapi@2.2.0: resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==} dev: true - /object-assign/4.1.1: + /object-assign@4.1.1: resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} engines: {node: '>=0.10.0'} - dev: true - /object-inspect/1.11.0: + /object-inspect@1.11.0: resolution: {integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==} dev: true - /object-is/1.1.5: + /object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} dependencies: @@ -4698,12 +5059,12 @@ packages: define-properties: 1.1.3 dev: true - /object-keys/1.1.1: + /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} dev: true - /object.assign/4.1.2: + /object.assign@4.1.2: resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} engines: {node: '>= 0.4'} dependencies: @@ -4713,7 +5074,7 @@ packages: object-keys: 1.1.1 dev: true - /object.entries/1.1.4: + /object.entries@1.1.4: resolution: {integrity: sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==} engines: {node: '>= 0.4'} dependencies: @@ -4722,7 +5083,7 @@ packages: es-abstract: 1.18.5 dev: true - /object.fromentries/2.0.4: + /object.fromentries@2.0.4: resolution: {integrity: sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==} engines: {node: '>= 0.4'} dependencies: @@ -4732,7 +5093,7 @@ packages: has: 1.0.3 dev: true - /object.values/1.1.4: + /object.values@1.1.4: resolution: {integrity: sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==} engines: {node: '>= 0.4'} dependencies: @@ -4741,36 +5102,36 @@ packages: es-abstract: 1.18.5 dev: true - /obuf/1.1.2: + /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true - /on-finished/2.3.0: + /on-finished@2.3.0: resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 dev: true - /on-headers/1.0.2: + /on-headers@1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} dev: true - /once/1.4.0: + /once@1.4.0: resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} dependencies: wrappy: 1.0.2 dev: true - /onetime/5.1.2: + /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: true - /optionator/0.8.3: + /optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} dependencies: @@ -4782,7 +5143,7 @@ packages: word-wrap: 1.2.3 dev: true - /optionator/0.9.1: + /optionator@0.9.1: resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} engines: {node: '>= 0.8.0'} dependencies: @@ -4794,68 +5155,69 @@ packages: word-wrap: 1.2.3 dev: true - /orderedmap/1.1.1: + /orderedmap@1.1.1: resolution: {integrity: sha512-3Ux8um0zXbVacKUkcytc0u3HgC0b0bBLT+I60r2J/En72cI0nZffqrA7Xtf2Hqs27j1g82llR5Mhbd0Z1XW4AQ==} dev: false - /p-limit/1.3.0: + /p-limit@1.3.0: resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} engines: {node: '>=4'} dependencies: p-try: 1.0.0 dev: true - /p-limit/2.3.0: + /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} dependencies: p-try: 2.2.0 - /p-locate/2.0.0: + /p-locate@2.0.0: resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=} engines: {node: '>=4'} dependencies: p-limit: 1.3.0 dev: true - /p-locate/3.0.0: + /p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} + requiresBuild: true dependencies: p-limit: 2.3.0 dev: false optional: true - /p-locate/4.1.0: + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true - /p-try/1.0.0: + /p-try@1.0.0: resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=} engines: {node: '>=4'} dev: true - /p-try/2.2.0: + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - /param-case/2.1.1: + /param-case@2.1.1: resolution: {integrity: sha1-35T9jPZTHs915r75oIWPvHK+Ikc=} dependencies: no-case: 2.3.2 dev: true - /parent-module/1.0.1: + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 dev: true - /parse-json/4.0.0: + /parse-json@4.0.0: resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} engines: {node: '>=4'} dependencies: @@ -4863,7 +5225,7 @@ packages: json-parse-better-errors: 1.0.2 dev: true - /parse-json/5.2.0: + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: @@ -4873,82 +5235,83 @@ packages: lines-and-columns: 1.1.6 dev: true - /parse5-htmlparser2-tree-adapter/6.0.1: + /parse5-htmlparser2-tree-adapter@6.0.1: resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} dependencies: parse5: 6.0.1 dev: true - /parse5/6.0.1: + /parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true - /parseurl/1.3.3: + /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} dev: true - /path-exists/3.0.0: + /path-exists@3.0.0: resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} engines: {node: '>=4'} - /path-exists/4.0.0: + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} dev: true - /path-is-absolute/1.0.1: + /path-is-absolute@1.0.1: resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} engines: {node: '>=0.10.0'} dev: true - /path-key/3.1.1: + /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} dev: true - /path-parse/1.0.7: + /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-to-regexp/0.1.7: + /path-to-regexp@0.1.7: resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} dev: true - /path-type/3.0.0: + /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: true - /path-type/4.0.0: + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} dev: true - /perfect-freehand/0.5.4: + /perfect-freehand@0.5.4(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-DmM6N/jNIl3oPHV73q0xvR0UGuKUV7wfkINuLd8m+R5aiJbs2V+E2zseHGZ4HcU5VUzb/BlqEARP28NuxBTiGQ==} + requiresBuild: true dependencies: - '@tldraw/core': 0.0.53 - rko: 0.5.25 + '@tldraw/core': 0.0.53(react-dom@17.0.2)(react@17.0.2) + rko: 0.5.25(react-dom@17.0.2)(react@17.0.2) transitivePeerDependencies: - react - react-dom dev: false optional: true - /picomatch/2.3.0: + /picomatch@2.3.0: resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} engines: {node: '>=8.6'} dev: true - /pify/3.0.0: + /pify@3.0.0: resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} engines: {node: '>=4'} dev: true - /pinia/2.0.0-rc.6_typescript@4.4.2+vue@3.2.6: + /pinia@2.0.0-rc.6(typescript@4.4.2)(vue@3.2.6): resolution: {integrity: sha512-IqArmLmWJB5wZzELZfFF42bMaulo6cjMvL1wgUjWfmzaGCt1HYOAXN86s6HrdAueeEWj9Ov6lNNOHB1DFQxthw==} peerDependencies: '@vue/composition-api': ^1.1.1 @@ -4963,48 +5326,49 @@ packages: '@vue/devtools-api': 6.0.0-beta.15 typescript: 4.4.2 vue: 3.2.6 - vue-demi: 0.11.3_vue@3.2.6 + vue-demi: 0.11.3(vue@3.2.6) dev: false - /pirates/4.0.1: + /pirates@4.0.1: resolution: {integrity: sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==} engines: {node: '>= 6'} dependencies: node-modules-regexp: 1.0.0 dev: true - /pkg-dir/2.0.0: + /pkg-dir@2.0.0: resolution: {integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=} engines: {node: '>=4'} dependencies: find-up: 2.1.0 dev: true - /pkg-up/2.0.0: + /pkg-up@2.0.0: resolution: {integrity: sha1-yBmscoBZpGHKscOImivjxJoATX8=} engines: {node: '>=4'} dependencies: find-up: 2.1.0 dev: true - /pluralize/8.0.0: + /pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} dev: true - /pngjs/3.4.0: + /pngjs@3.4.0: resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} engines: {node: '>=4.0.0'} + requiresBuild: true dev: false optional: true - /pnpm/6.14.5: + /pnpm@6.14.5: resolution: {integrity: sha512-+N1B+Bj2JKZJ1GDJS141OgnDmwxAavHi/ecU3IIl0QunPSVBXxd51DbVizCw/mPwIB3UmeT474Fyz8o3Xj9sXA==} engines: {node: '>=12.17'} hasBin: true dev: true - /postcss-load-config/3.1.0: + /postcss-load-config@3.1.0: resolution: {integrity: sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==} engines: {node: '>= 10'} peerDependencies: @@ -5018,7 +5382,7 @@ packages: yaml: 1.10.2 dev: true - /postcss-modules-extract-imports/3.0.0_postcss@8.3.6: + /postcss-modules-extract-imports@3.0.0(postcss@8.3.6): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -5027,19 +5391,19 @@ packages: postcss: 8.3.6 dev: true - /postcss-modules-local-by-default/4.0.0_postcss@8.3.6: + /postcss-modules-local-by-default@4.0.0(postcss@8.3.6): resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.3.6 + icss-utils: 5.1.0(postcss@8.3.6) postcss: 8.3.6 postcss-selector-parser: 6.0.6 postcss-value-parser: 4.1.0 dev: true - /postcss-modules-scope/3.0.0_postcss@8.3.6: + /postcss-modules-scope@3.0.0(postcss@8.3.6): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -5049,17 +5413,17 @@ packages: postcss-selector-parser: 6.0.6 dev: true - /postcss-modules-values/4.0.0_postcss@8.3.6: + /postcss-modules-values@4.0.0(postcss@8.3.6): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.3.6 + icss-utils: 5.1.0(postcss@8.3.6) postcss: 8.3.6 dev: true - /postcss-modules/4.2.2_postcss@8.3.6: + /postcss-modules@4.2.2(postcss@8.3.6): resolution: {integrity: sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==} peerDependencies: postcss: ^8.0.0 @@ -5068,14 +5432,14 @@ packages: icss-replace-symbols: 1.1.0 lodash.camelcase: 4.3.0 postcss: 8.3.6 - postcss-modules-extract-imports: 3.0.0_postcss@8.3.6 - postcss-modules-local-by-default: 4.0.0_postcss@8.3.6 - postcss-modules-scope: 3.0.0_postcss@8.3.6 - postcss-modules-values: 4.0.0_postcss@8.3.6 + postcss-modules-extract-imports: 3.0.0(postcss@8.3.6) + postcss-modules-local-by-default: 4.0.0(postcss@8.3.6) + postcss-modules-scope: 3.0.0(postcss@8.3.6) + postcss-modules-values: 4.0.0(postcss@8.3.6) string-hash: 1.1.3 dev: true - /postcss-selector-parser/6.0.6: + /postcss-selector-parser@6.0.6: resolution: {integrity: sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==} engines: {node: '>=4'} dependencies: @@ -5083,11 +5447,11 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-value-parser/4.1.0: + /postcss-value-parser@4.1.0: resolution: {integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==} dev: true - /postcss/8.3.6: + /postcss@8.3.6: resolution: {integrity: sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==} engines: {node: ^10 || ^12 || >=14} dependencies: @@ -5096,51 +5460,51 @@ packages: source-map-js: 0.6.2 dev: true - /prelude-ls/1.1.2: + /prelude-ls@1.1.2: resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} engines: {node: '>= 0.8.0'} dev: true - /prelude-ls/1.2.1: + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} dev: true - /prettier/2.3.2: + /prettier@2.3.2: resolution: {integrity: sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==} engines: {node: '>=10.13.0'} hasBin: true dev: true - /pretty-bytes/5.6.0: + /pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} dev: true - /prism-theme-vars/0.2.2: + /prism-theme-vars@0.2.2: resolution: {integrity: sha512-EL9ifuU/F8tEldoCa2sspiiLWysCL54xDbf2gN/ubwdtbuJROqOGopG5kSwunapwaioT+jLUQ/Ky+7jnv62xJA==} dev: false - /prismjs/1.24.1: + /prismjs@1.24.1: resolution: {integrity: sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow==} dev: true - /process-nextick-args/2.0.1: + /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true - /progress/2.0.3: + /progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} dev: true - /promise/7.3.1: + /promise@7.3.1: resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} dependencies: asap: 2.0.6 dev: true - /prop-types/15.7.2: + /prop-types@15.7.2: resolution: {integrity: sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==} dependencies: loose-envify: 1.4.0 @@ -5148,7 +5512,7 @@ packages: react-is: 16.13.1 dev: true - /prosemirror-commands/1.1.10: + /prosemirror-commands@1.1.10: resolution: {integrity: sha512-IWyBBXNAd44RM6NnBPljwq+/CM2oYCQJkF+YhKEAZNwzW0uFdGf4qComhjbKZzqFdu6Iub2ZhNsXgwPibA0lCQ==} dependencies: prosemirror-model: 1.14.3 @@ -5156,7 +5520,7 @@ packages: prosemirror-transform: 1.3.2 dev: false - /prosemirror-history/1.2.0: + /prosemirror-history@1.2.0: resolution: {integrity: sha512-B9v9xtf4fYbKxQwIr+3wtTDNLDZcmMMmGiI3TAPShnUzvo+Rmv1GiUrsQChY1meetHl7rhML2cppF3FTs7f7UQ==} dependencies: prosemirror-state: 1.3.4 @@ -5164,40 +5528,40 @@ packages: rope-sequence: 1.3.2 dev: false - /prosemirror-inputrules/1.1.3: + /prosemirror-inputrules@1.1.3: resolution: {integrity: sha512-ZaHCLyBtvbyIHv0f5p6boQTIJjlD6o2NPZiEaZWT2DA+j591zS29QQEMT4lBqwcLW3qRSf7ZvoKNbf05YrsStw==} dependencies: prosemirror-state: 1.3.4 prosemirror-transform: 1.3.2 dev: false - /prosemirror-keymap/1.1.4: + /prosemirror-keymap@1.1.4: resolution: {integrity: sha512-Al8cVUOnDFL4gcI5IDlG6xbZ0aOD/i3B17VT+1JbHWDguCgt/lBHVTHUBcKvvbSg6+q/W4Nj1Fu6bwZSca3xjg==} dependencies: prosemirror-state: 1.3.4 w3c-keyname: 2.2.4 dev: false - /prosemirror-model/1.14.3: + /prosemirror-model@1.14.3: resolution: {integrity: sha512-yzZlBaSxfUPIIP6U5Edh5zKxJPZ5f7bwZRhiCuH3UYkWhj+P3d8swHsbuAMOu/iDatDc5J/Qs5Mb3++mZf+CvQ==} dependencies: orderedmap: 1.1.1 dev: false - /prosemirror-state/1.3.4: + /prosemirror-state@1.3.4: resolution: {integrity: sha512-Xkkrpd1y/TQ6HKzN3agsQIGRcLckUMA9u3j207L04mt8ToRgpGeyhbVv0HI7omDORIBHjR29b7AwlATFFf2GLA==} dependencies: prosemirror-model: 1.14.3 prosemirror-transform: 1.3.2 dev: false - /prosemirror-transform/1.3.2: + /prosemirror-transform@1.3.2: resolution: {integrity: sha512-/G6d/u9Mf6Bv3H1XR8VxhpjmUO75LYmnvj+s3ZfZpakU1hnQbsvCEybml1B3f2IWUAAQRFkbO1PnsbFhLZsYsw==} dependencies: prosemirror-model: 1.14.3 dev: false - /prosemirror-view/1.19.3: + /prosemirror-view@1.19.3: resolution: {integrity: sha512-YP/ZzVwqPPwbHbJi97U2/CeyZ8PIHmLJt0gIhZWP8XfnuBRGG3y+jwLzUoBVmiuoUCy3R6PSB+pOATliGzLfPg==} dependencies: prosemirror-model: 1.14.3 @@ -5205,7 +5569,7 @@ packages: prosemirror-transform: 1.3.2 dev: false - /proxy-addr/2.0.7: + /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} dependencies: @@ -5213,11 +5577,11 @@ packages: ipaddr.js: 1.9.1 dev: true - /psl/1.8.0: + /psl@1.8.0: resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} dev: true - /pug-attrs/3.0.0: + /pug-attrs@3.0.0: resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} dependencies: constantinople: 4.0.1 @@ -5225,7 +5589,7 @@ packages: pug-runtime: 3.0.1 dev: true - /pug-code-gen/3.0.2: + /pug-code-gen@3.0.2: resolution: {integrity: sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==} dependencies: constantinople: 4.0.1 @@ -5238,11 +5602,11 @@ packages: with: 7.0.2 dev: true - /pug-error/2.0.0: + /pug-error@2.0.0: resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==} dev: true - /pug-filters/4.0.0: + /pug-filters@4.0.0: resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==} dependencies: constantinople: 4.0.1 @@ -5252,7 +5616,7 @@ packages: resolve: 1.20.0 dev: true - /pug-lexer/5.0.1: + /pug-lexer@5.0.1: resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} dependencies: character-parser: 2.2.0 @@ -5260,42 +5624,42 @@ packages: pug-error: 2.0.0 dev: true - /pug-linker/4.0.0: + /pug-linker@4.0.0: resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==} dependencies: pug-error: 2.0.0 pug-walk: 2.0.0 dev: true - /pug-load/3.0.0: + /pug-load@3.0.0: resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==} dependencies: object-assign: 4.1.1 pug-walk: 2.0.0 dev: true - /pug-parser/6.0.0: + /pug-parser@6.0.0: resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} dependencies: pug-error: 2.0.0 token-stream: 1.0.0 dev: true - /pug-runtime/3.0.1: + /pug-runtime@3.0.1: resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==} dev: true - /pug-strip-comments/2.0.0: + /pug-strip-comments@2.0.0: resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==} dependencies: pug-error: 2.0.0 dev: true - /pug-walk/2.0.0: + /pug-walk@2.0.0: resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==} dev: true - /pug/3.0.2: + /pug@3.0.2: resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==} dependencies: pug-code-gen: 3.0.2 @@ -5308,12 +5672,12 @@ packages: pug-strip-comments: 2.0.0 dev: true - /punycode/2.1.1: + /punycode@2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} dev: true - /qrcode/1.4.4: + /qrcode@1.4.4: resolution: {integrity: sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==} engines: {node: '>=4'} hasBin: true @@ -5329,27 +5693,27 @@ packages: dev: false optional: true - /qs/6.7.0: + /qs@6.7.0: resolution: {integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==} engines: {node: '>=0.6'} dev: true - /queue-microtask/1.2.3: + /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true - /randombytes/2.1.0: + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: true - /range-parser/1.2.1: + /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} dev: true - /raw-body/2.4.0: + /raw-body@2.4.0: resolution: {integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==} engines: {node: '>= 0.8'} dependencies: @@ -5359,18 +5723,38 @@ packages: unpipe: 1.0.0 dev: true - /react-is/16.13.1: + /react-dom@17.0.2(react@17.0.2): + resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} + peerDependencies: + react: 17.0.2 + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react: 17.0.2 + scheduler: 0.20.2 + + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true - /react-use-gesture/9.1.3: + /react-use-gesture@9.1.3(react@17.0.2): resolution: {integrity: sha512-CdqA2SmS/fj3kkS2W8ZU8wjTbVBAIwDWaRprX7OKaj7HlGwBasGEFggmk5qNklknqk9zK/h8D355bEJFTpqEMg==} + requiresBuild: true peerDependencies: react: '>= 16.8.0' + dependencies: + react: 17.0.2 dev: false optional: true - /read-pkg-up/3.0.0: + /react@17.0.2: + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + + /read-pkg-up@3.0.0: resolution: {integrity: sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=} engines: {node: '>=4'} dependencies: @@ -5378,7 +5762,7 @@ packages: read-pkg: 3.0.0 dev: true - /read-pkg-up/7.0.1: + /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} dependencies: @@ -5387,7 +5771,7 @@ packages: type-fest: 0.8.1 dev: true - /read-pkg/3.0.0: + /read-pkg@3.0.0: resolution: {integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=} engines: {node: '>=4'} dependencies: @@ -5396,7 +5780,7 @@ packages: path-type: 3.0.0 dev: true - /read-pkg/5.2.0: + /read-pkg@5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: @@ -5406,7 +5790,7 @@ packages: type-fest: 0.6.0 dev: true - /readable-stream/2.3.7: + /readable-stream@2.3.7: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: core-util-is: 1.0.2 @@ -5418,7 +5802,7 @@ packages: util-deprecate: 1.0.2 dev: true - /readable-stream/3.6.0: + /readable-stream@3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} engines: {node: '>= 6'} dependencies: @@ -5427,40 +5811,40 @@ packages: util-deprecate: 1.0.2 dev: true - /readdirp/3.6.0: + /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.0 dev: true - /regenerate-unicode-properties/8.2.0: + /regenerate-unicode-properties@8.2.0: resolution: {integrity: sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 dev: true - /regenerate/1.4.2: + /regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true - /regenerator-runtime/0.13.9: + /regenerator-runtime@0.13.9: resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} dev: true - /regenerator-transform/0.14.5: + /regenerator-transform@0.14.5: resolution: {integrity: sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==} dependencies: '@babel/runtime': 7.15.3 dev: true - /regexp-tree/0.1.23: + /regexp-tree@0.1.23: resolution: {integrity: sha512-+7HWfb4Bvu8Rs2eQTUIpX9I/PlQkYOuTNbRpKLJlQpSgwSkzFYh+pUj0gtvglnOZLKB6YgnIgRuJ2/IlpL48qw==} hasBin: true dev: true - /regexp.prototype.flags/1.3.1: + /regexp.prototype.flags@1.3.1: resolution: {integrity: sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==} engines: {node: '>= 0.4'} dependencies: @@ -5468,12 +5852,12 @@ packages: define-properties: 1.1.3 dev: true - /regexpp/3.2.0: + /regexpp@3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} dev: true - /regexpu-core/4.7.1: + /regexpu-core@4.7.1: resolution: {integrity: sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==} engines: {node: '>=4'} dependencies: @@ -5485,93 +5869,98 @@ packages: unicode-match-property-value-ecmascript: 1.2.0 dev: true - /regjsgen/0.5.2: + /regjsgen@0.5.2: resolution: {integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==} dev: true - /regjsparser/0.6.9: + /regjsparser@0.6.9: resolution: {integrity: sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==} hasBin: true dependencies: jsesc: 0.5.0 dev: true - /relateurl/0.2.7: + /relateurl@0.2.7: resolution: {integrity: sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=} engines: {node: '>= 0.10'} dev: true - /request-light/0.5.4: + /request-light@0.5.4: resolution: {integrity: sha512-t3566CMweOFlUk7Y1DJMu5OrtpoZEb6aSTsLQVT3wtrIEJ5NhcY9G/Oqxvjllzl4a15zXfFlcr9q40LbLVQJqw==} dev: true - /require-directory/2.1.1: + /require-directory@2.1.1: resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} engines: {node: '>=0.10.0'} - /require-from-string/2.0.2: + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} dev: true - /require-main-filename/2.0.0: + /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + requiresBuild: true dev: false optional: true - /reserved-words/0.1.2: + /reserved-words@0.1.2: resolution: {integrity: sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=} dev: true - /resolve-from/4.0.0: + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} dev: true - /resolve-from/5.0.0: + /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} dev: true - /resolve/1.20.0: + /resolve@1.20.0: resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} dependencies: is-core-module: 2.6.0 path-parse: 1.0.7 dev: true - /resolve/2.0.0-next.3: + /resolve@2.0.0-next.3: resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==} dependencies: is-core-module: 2.6.0 path-parse: 1.0.7 dev: true - /reusify/1.0.4: + /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rimraf/3.0.2: + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.1.7 dev: true - /rko/0.5.25: + /rko@0.5.25(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-HU6M3PxK3VEqrr6QZKAsqO98juQX24kEgJkKSdFJhw8U/DBUGAnU/fgyxNIaTw7TCI7vjIy/RzBEXf5I4sijKg==} + requiresBuild: true peerDependencies: react: ^17.0.2 react-dom: ^17.0.2 dependencies: idb-keyval: 5.1.5 - zustand: 3.5.10 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + zustand: 3.5.10(react@17.0.2) dev: false optional: true - /rollup-plugin-terser/7.0.2_rollup@2.56.3: + /rollup-plugin-terser@7.0.2(rollup@2.56.3): resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser peerDependencies: rollup: ^2.0.0 dependencies: @@ -5582,7 +5971,7 @@ packages: terser: 5.7.2 dev: true - /rollup/2.56.3: + /rollup@2.56.3: resolution: {integrity: sha512-Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg==} engines: {node: '>=10.0.0'} hasBin: true @@ -5590,40 +5979,41 @@ packages: fsevents: 2.3.2 dev: true - /rope-sequence/1.3.2: + /rope-sequence@1.3.2: resolution: {integrity: sha512-ku6MFrwEVSVmXLvy3dYph3LAMNS0890K7fabn+0YIRQ2T96T9F4gkFf0vf0WW0JUraNWwGRtInEpH7yO4tbQZg==} dev: false - /run-parallel/1.2.0: + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 dev: true - /safari-14-idb-fix/1.0.6: + /safari-14-idb-fix@1.0.6: resolution: {integrity: sha512-oTEQOdMwRX+uCtWCKT1nx2gAeSdpr8elg/2gcaKUH00SJU2xWESfkx11nmXwTRHy7xfQoj1o4TTQvdmuBosTnA==} + requiresBuild: true dev: false optional: true - /safe-buffer/5.1.2: + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true - /safe-buffer/5.2.1: + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safe-regex/2.1.1: + /safe-regex@2.1.1: resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} dependencies: regexp-tree: 0.1.23 dev: true - /safer-buffer/2.1.2: + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sass/1.39.0: + /sass@1.39.0: resolution: {integrity: sha512-F4o+RhJkNOIG0b6QudYU8c78ZADKZjKDk5cyrf8XTKWfrgbtyVVXImFstJrc+1pkQDCggyidIOytq6gS4gCCZg==} engines: {node: '>=8.9.0'} hasBin: true @@ -5631,14 +6021,20 @@ packages: chokidar: 3.5.2 dev: true - /saxes/5.0.1: + /saxes@5.0.1: resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} engines: {node: '>=10'} dependencies: xmlchars: 2.2.0 dev: true - /section-matter/1.0.0: + /scheduler@0.20.2: + resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + + /section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} dependencies: @@ -5646,26 +6042,26 @@ packages: kind-of: 6.0.3 dev: true - /select-hose/2.0.0: + /select-hose@2.0.0: resolution: {integrity: sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=} dev: true - /semver/5.7.1: + /semver@5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true dev: true - /semver/6.3.0: + /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true dev: true - /semver/7.0.0: + /semver@7.0.0: resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} hasBin: true dev: true - /semver/7.3.5: + /semver@7.3.5: resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true @@ -5673,7 +6069,7 @@ packages: lru-cache: 6.0.0 dev: true - /send/0.17.1: + /send@0.17.1: resolution: {integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==} engines: {node: '>= 0.8.0'} dependencies: @@ -5690,15 +6086,17 @@ packages: on-finished: 2.3.0 range-parser: 1.2.1 statuses: 1.5.0 + transitivePeerDependencies: + - supports-color dev: true - /serialize-javascript/4.0.0: + /serialize-javascript@4.0.0: resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} dependencies: randombytes: 2.1.0 dev: true - /serve-static/1.14.1: + /serve-static@1.14.1: resolution: {integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==} engines: {node: '>= 0.8.0'} dependencies: @@ -5706,30 +6104,33 @@ packages: escape-html: 1.0.3 parseurl: 1.3.3 send: 0.17.1 + transitivePeerDependencies: + - supports-color dev: true - /set-blocking/2.0.0: + /set-blocking@2.0.0: resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} + requiresBuild: true dev: false optional: true - /setprototypeof/1.1.1: + /setprototypeof@1.1.1: resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} dev: true - /shebang-command/2.0.0: + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 dev: true - /shebang-regex/3.0.0: + /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} dev: true - /side-channel/1.0.4: + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 @@ -5737,16 +6138,16 @@ packages: object-inspect: 1.11.0 dev: true - /signal-exit/3.0.3: + /signal-exit@3.0.3: resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==} dev: true - /slash/3.0.0: + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} dev: true - /slice-ansi/4.0.0: + /slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} dependencies: @@ -5755,77 +6156,78 @@ packages: is-fullwidth-code-point: 3.0.0 dev: true - /source-map-js/0.6.2: + /source-map-js@0.6.2: resolution: {integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==} engines: {node: '>=0.10.0'} dev: true - /source-map-resolve/0.6.0: + /source-map-resolve@0.6.0: resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} dependencies: atob: 2.1.2 decode-uri-component: 0.2.0 dev: true - /source-map-support/0.5.19: + /source-map-support@0.5.19: resolution: {integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true - /source-map-url/0.4.1: + /source-map-url@0.4.1: resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated dev: true - /source-map/0.5.7: + /source-map@0.5.7: resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} engines: {node: '>=0.10.0'} dev: true - /source-map/0.6.1: + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - /source-map/0.7.3: + /source-map@0.7.3: resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} engines: {node: '>= 8'} dev: true - /source-map/0.8.0-beta.0: + /source-map@0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} dependencies: whatwg-url: 7.1.0 dev: true - /sourcemap-codec/1.4.8: + /sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} dev: true - /spdx-correct/3.1.1: + /spdx-correct@3.1.1: resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.10 dev: true - /spdx-exceptions/2.3.0: + /spdx-exceptions@2.3.0: resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} dev: true - /spdx-expression-parse/3.0.1: + /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.10 dev: true - /spdx-license-ids/3.0.10: + /spdx-license-ids@3.0.10: resolution: {integrity: sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==} dev: true - /spdy-transport/3.0.0: + /spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} dependencies: debug: 4.3.2 @@ -5838,7 +6240,7 @@ packages: - supports-color dev: true - /spdy/4.0.2: + /spdy@4.0.2: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} dependencies: @@ -5851,22 +6253,23 @@ packages: - supports-color dev: true - /sprintf-js/1.0.3: + /sprintf-js@1.0.3: resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} dev: true - /statuses/1.5.0: + /statuses@1.5.0: resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} engines: {node: '>= 0.6'} dev: true - /string-hash/1.1.3: + /string-hash@1.1.3: resolution: {integrity: sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=} dev: true - /string-width/3.1.0: + /string-width@3.1.0: resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} engines: {node: '>=6'} + requiresBuild: true dependencies: emoji-regex: 7.0.3 is-fullwidth-code-point: 2.0.0 @@ -5874,7 +6277,7 @@ packages: dev: false optional: true - /string-width/4.2.2: + /string-width@4.2.2: resolution: {integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==} engines: {node: '>=8'} dependencies: @@ -5883,7 +6286,7 @@ packages: strip-ansi: 6.0.0 dev: true - /string.prototype.matchall/4.0.5: + /string.prototype.matchall@4.0.5: resolution: {integrity: sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==} dependencies: call-bind: 1.0.2 @@ -5896,33 +6299,33 @@ packages: side-channel: 1.0.4 dev: true - /string.prototype.trimend/1.0.4: + /string.prototype.trimend@1.0.4: resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 dev: true - /string.prototype.trimstart/1.0.4: + /string.prototype.trimstart@1.0.4: resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 dev: true - /string_decoder/1.1.1: + /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 dev: true - /string_decoder/1.3.0: + /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 dev: true - /stringify-object/3.3.0: + /stringify-object@3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} engines: {node: '>=4'} dependencies: @@ -5931,47 +6334,48 @@ packages: is-regexp: 1.0.0 dev: true - /strip-ansi/5.2.0: + /strip-ansi@5.2.0: resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} engines: {node: '>=6'} + requiresBuild: true dependencies: ansi-regex: 4.1.0 dev: false optional: true - /strip-ansi/6.0.0: + /strip-ansi@6.0.0: resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} engines: {node: '>=8'} dependencies: ansi-regex: 5.0.0 dev: true - /strip-bom-string/1.0.0: + /strip-bom-string@1.0.0: resolution: {integrity: sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=} engines: {node: '>=0.10.0'} dev: true - /strip-bom/3.0.0: + /strip-bom@3.0.0: resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} engines: {node: '>=4'} dev: true - /strip-comments/2.0.1: + /strip-comments@2.0.1: resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} engines: {node: '>=10'} dev: true - /strip-final-newline/2.0.0: + /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} dev: true - /strip-json-comments/3.1.1: + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} dev: true - /sucrase/3.20.1: + /sucrase@3.20.1: resolution: {integrity: sha512-BIG59HaJOxNct9Va6KvT5yzBA/rcMGetzvZyTx0ZdCcspIbpJTPS64zuAfYlJuOj+3WaI5JOdA+F0bJQQi8ZiQ==} engines: {node: '>=8'} hasBin: true @@ -5984,30 +6388,31 @@ packages: ts-interface-checker: 0.1.13 dev: true - /supports-color/5.5.0: + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 dev: true - /supports-color/7.2.0: + /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 dev: true - /symbol-tree/3.2.4: + /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /tabbable/5.2.1: + /tabbable@5.2.1: resolution: {integrity: sha512-40pEZ2mhjaZzK0BnI+QGNjJO8UYx9pP5v7BGe17SORTO0OEuuaAwQTkAp8whcZvqon44wKFOikD+Al11K3JICQ==} + requiresBuild: true dev: false optional: true - /table/6.7.1: + /table@6.7.1: resolution: {integrity: sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==} engines: {node: '>=10.0.0'} dependencies: @@ -6019,12 +6424,12 @@ packages: strip-ansi: 6.0.0 dev: true - /temp-dir/2.0.0: + /temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} dev: true - /tempy/0.6.0: + /tempy@0.6.0: resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} engines: {node: '>=10'} dependencies: @@ -6034,54 +6439,55 @@ packages: unique-string: 2.0.0 dev: true - /terser/5.7.2: + /terser@5.7.2: resolution: {integrity: sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==} engines: {node: '>=10'} hasBin: true dependencies: + acorn: 8.11.2 commander: 2.20.3 source-map: 0.7.3 source-map-support: 0.5.19 dev: true - /text-table/0.2.0: + /text-table@0.2.0: resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} dev: true - /thenify-all/1.6.0: + /thenify-all@1.6.0: resolution: {integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=} engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 dev: true - /thenify/3.3.1: + /thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 dev: true - /to-fast-properties/2.0.0: + /to-fast-properties@2.0.0: resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} engines: {node: '>=4'} - /to-regex-range/5.0.1: + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 dev: true - /toidentifier/1.0.0: + /toidentifier@1.0.0: resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} engines: {node: '>=0.6'} dev: true - /token-stream/1.0.0: + /token-stream@1.0.0: resolution: {integrity: sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=} dev: true - /tough-cookie/4.0.0: + /tough-cookie@4.0.0: resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} engines: {node: '>=6'} dependencies: @@ -6090,29 +6496,29 @@ packages: universalify: 0.1.2 dev: true - /tr46/1.0.1: - resolution: {integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=} + /tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: punycode: 2.1.1 dev: true - /tr46/2.1.0: + /tr46@2.1.0: resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} engines: {node: '>=8'} dependencies: punycode: 2.1.1 dev: true - /tree-kill/1.2.2: + /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true dev: true - /ts-interface-checker/0.1.13: + /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /tsconfig-paths/3.11.0: + /tsconfig-paths@3.11.0: resolution: {integrity: sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==} dependencies: '@types/json5': 0.0.29 @@ -6121,11 +6527,11 @@ packages: strip-bom: 3.0.0 dev: true - /tslib/1.14.1: + /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tsup/4.14.0_typescript@4.4.2: + /tsup@4.14.0(typescript@4.4.2): resolution: {integrity: sha512-77rWdzhikTP9mQ34XMRzK83tw++LF6f4ox/HNERlgesB7g6g5VQ1iJlueG9O0P9HAZGVKavUwyoZv0+322p6rg==} hasBin: true peerDependencies: @@ -6153,7 +6559,7 @@ packages: - ts-node dev: true - /tsutils/3.21.0_typescript@4.4.2: + /tsutils@3.21.0(typescript@4.4.2): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: @@ -6163,46 +6569,46 @@ packages: typescript: 4.4.2 dev: true - /type-check/0.3.2: + /type-check@0.3.2: resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 dev: true - /type-check/0.4.0: + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: true - /type-fest/0.16.0: + /type-fest@0.16.0: resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} engines: {node: '>=10'} dev: true - /type-fest/0.20.2: + /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} dev: true - /type-fest/0.6.0: + /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} dev: true - /type-fest/0.8.1: + /type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} dev: true - /type-fest/2.1.0: + /type-fest@2.1.0: resolution: {integrity: sha512-2wHUmKDy5wNLmebekbHx/zE9ElYAKOmz34psTLG7OwyEJHaIUr6jnaCd55EvgrawAvliwbwgbyH1LkxIfWFyNg==} engines: {node: '>=12.20'} dev: true - /type-is/1.6.18: + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} dependencies: @@ -6210,23 +6616,22 @@ packages: mime-types: 2.1.32 dev: true - /typescript/4.4.2: + /typescript@4.4.2: resolution: {integrity: sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==} engines: {node: '>=4.2.0'} hasBin: true - dev: true - /uc.micro/1.0.6: + /uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true - /uglify-js/3.14.1: + /uglify-js@3.14.1: resolution: {integrity: sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==} engines: {node: '>=0.8.0'} hasBin: true dev: true - /uglify-js/3.4.10: + /uglify-js@3.4.10: resolution: {integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==} engines: {node: '>=0.8.0'} hasBin: true @@ -6235,7 +6640,7 @@ packages: source-map: 0.6.1 dev: true - /unbox-primitive/1.0.1: + /unbox-primitive@1.0.1: resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} dependencies: function-bind: 1.1.1 @@ -6244,12 +6649,12 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unicode-canonical-property-names-ecmascript/1.0.4: + /unicode-canonical-property-names-ecmascript@1.0.4: resolution: {integrity: sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==} engines: {node: '>=4'} dev: true - /unicode-match-property-ecmascript/1.0.4: + /unicode-match-property-ecmascript@1.0.4: resolution: {integrity: sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==} engines: {node: '>=4'} dependencies: @@ -6257,24 +6662,24 @@ packages: unicode-property-aliases-ecmascript: 1.1.0 dev: true - /unicode-match-property-value-ecmascript/1.2.0: + /unicode-match-property-value-ecmascript@1.2.0: resolution: {integrity: sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==} engines: {node: '>=4'} dev: true - /unicode-property-aliases-ecmascript/1.1.0: + /unicode-property-aliases-ecmascript@1.1.0: resolution: {integrity: sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==} engines: {node: '>=4'} dev: true - /unique-string/2.0.0: + /unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} dependencies: crypto-random-string: 2.0.0 dev: true - /universal-cookie/4.0.4: + /universal-cookie@4.0.4: resolution: {integrity: sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==} requiresBuild: true dependencies: @@ -6283,22 +6688,22 @@ packages: dev: false optional: true - /universalify/0.1.2: + /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} dev: true - /universalify/2.0.0: + /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} dev: true - /unpipe/1.0.0: + /unpipe@1.0.0: resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} engines: {node: '>= 0.8'} dev: true - /unplugin-auto-import/0.2.7_@vueuse+core@6.0.0+vite@2.5.3: + /unplugin-auto-import@0.2.7(@vueuse/core@6.0.0)(rollup@2.56.3)(vite@2.5.3): resolution: {integrity: sha512-J9QAmI5WzjiW0bVaVeDEgZVxvjXBqB+sgAN+6/HRuOAaJoAbtE+oKa7H8TjlHvao+mKvvB3igUIMF35Mes5PYQ==} peerDependencies: '@vueuse/core': ^6.0.0 @@ -6308,17 +6713,17 @@ packages: dependencies: '@antfu/utils': 0.3.0 '@rollup/pluginutils': 4.1.1 - '@vueuse/core': 6.0.0_vue@3.2.6 + '@vueuse/core': 6.0.0(vue@3.2.6) has-pkg: 0.0.1 magic-string: 0.25.7 - unplugin: 0.2.7_vite@2.5.3 + unplugin: 0.2.7(rollup@2.56.3)(vite@2.5.3) transitivePeerDependencies: - rollup - vite - webpack dev: true - /unplugin-icons/0.7.4_48164ae4b6dc92a65fc7698affb1b4bb: + /unplugin-icons@0.7.4(@iconify/json@1.1.396)(@vue/compiler-sfc@3.2.6)(rollup@2.56.3)(vite@2.5.3): resolution: {integrity: sha512-XuV+fQ0NKzXiIF2uq7Dp5I+R07KZoFrCu8ISQinuCxLG9npdW/ukD8ASrc2JKX6TQs22PoYF4YVJvlWhz+9qBw==} peerDependencies: '@iconify/json': '*' @@ -6338,16 +6743,16 @@ packages: dependencies: '@iconify/json': 1.1.396 '@iconify/json-tools': 1.0.10 - '@vue/compiler-sfc': 3.2.6 + '@vue/compiler-sfc': 3.2.6(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2) has-pkg: 0.0.1 - unplugin: 0.2.7_vite@2.5.3 + unplugin: 0.2.7(rollup@2.56.3)(vite@2.5.3) transitivePeerDependencies: - rollup - vite - webpack dev: true - /unplugin-vue-components/0.14.8_vite@2.5.3+vue@3.2.6: + /unplugin-vue-components@0.14.8(rollup@2.56.3)(vite@2.5.3)(vue@3.2.6): resolution: {integrity: sha512-RmG9s2A2QdHpQNz8PpKjK0j1YqjuwZ4Cm4oHbRaZNoHF1DUL8l/9B3QfvXQOrbUr20C7UslhzWd98FYqEAz+dQ==} peerDependencies: vue: 2 || 3 @@ -6358,7 +6763,7 @@ packages: has-pkg: 0.0.1 magic-string: 0.25.7 minimatch: 3.0.4 - unplugin: 0.2.7_vite@2.5.3 + unplugin: 0.2.7(rollup@2.56.3)(vite@2.5.3) vue: 3.2.6 transitivePeerDependencies: - rollup @@ -6367,7 +6772,7 @@ packages: - webpack dev: true - /unplugin/0.2.7_vite@2.5.3: + /unplugin@0.2.7(rollup@2.56.3)(vite@2.5.3): resolution: {integrity: sha512-KcMTl+aF+UhNOUvUdxwxHiOhvIoFe++foE2GgblFmXsnjdRYYggd2Tg7wopljCnOyiv5IspQRKfAvpyc4qtzuw==} peerDependencies: rollup: ^2.50.0 @@ -6381,57 +6786,58 @@ packages: webpack: optional: true dependencies: + rollup: 2.56.3 upath: 2.0.1 vite: 2.5.3 webpack-virtual-modules: 0.4.3 dev: true - /upath/1.2.0: + /upath@1.2.0: resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} dev: true - /upath/2.0.1: + /upath@2.0.1: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} dev: true - /upper-case/1.1.3: + /upper-case@1.1.3: resolution: {integrity: sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=} dev: true - /uri-js/4.4.1: + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.1.1 dev: true - /util-deprecate/1.0.2: + /util-deprecate@1.0.2: resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} dev: true - /utils-merge/1.0.1: + /utils-merge@1.0.1: resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} engines: {node: '>= 0.4.0'} dev: true - /v8-compile-cache/2.3.0: + /v8-compile-cache@2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true - /validate-npm-package-license/3.0.4: + /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.1.1 spdx-expression-parse: 3.0.1 dev: true - /vary/1.1.2: + /vary@1.1.2: resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} engines: {node: '>= 0.8'} dev: true - /vite-plugin-md/0.11.0_vite@2.5.3: + /vite-plugin-md@0.11.0(vite@2.5.3): resolution: {integrity: sha512-sEwJQ0nBawYCEnMGEGsvxA6WM2sBXBFa0SMEAlMiNxivzDCR2/HWc/5qzZAh6ZJ66mivW+1WDruVVtiq/3EqLA==} peerDependencies: vite: ^2.0.0 @@ -6441,7 +6847,7 @@ packages: vite: 2.5.3 dev: true - /vite-plugin-pages/0.18.0_85f8159c192bb7693f56931f9dcf5b10: + /vite-plugin-pages@0.18.0(@vue/compiler-sfc@3.2.6)(vite@2.5.3): resolution: {integrity: sha512-OnxTDC60HTpc8PjRR0dYu0myJqTVxXgju0LHvM7M3Au0e6kVM1tkbXyUFA6s0F2fZoMwP+Y7TRI25shd6tJKqg==} peerDependencies: '@vue/compiler-sfc': '>=3' @@ -6451,7 +6857,7 @@ packages: optional: true dependencies: '@antfu/utils': 0.3.0 - '@vue/compiler-sfc': 3.2.6 + '@vue/compiler-sfc': 3.2.6(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2) debug: 4.3.2 deep-equal: 2.0.5 fast-glob: 3.2.7 @@ -6462,10 +6868,12 @@ packages: - supports-color dev: true - /vite-plugin-pwa/0.11.2_vite@2.5.3: + /vite-plugin-pwa@0.11.2(vite@2.5.3)(workbox-build@6.2.4)(workbox-window@6.2.4): resolution: {integrity: sha512-TlsXarwMrt8ccITZaag9yYkBfABn+HfUnZIFDxpX4TwON3F0KSpza72NSqVt8zIjt55+iU1tGonwjxvUAmKYxw==} peerDependencies: vite: ^2.0.0 + workbox-build: ^6.2.2 + workbox-window: ^6.2.2 dependencies: debug: 4.3.2 fast-glob: 3.2.7 @@ -6475,31 +6883,84 @@ packages: workbox-build: 6.2.4 workbox-window: 6.2.4 transitivePeerDependencies: - - '@types/babel__core' - supports-color dev: true - /vite-plugin-vue-layouts/0.3.1_vite@2.5.3: + /vite-plugin-vue-layouts@0.3.1(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2)(vite@2.5.3)(vue@3.2.6): resolution: {integrity: sha512-Chw+gEJX51+vwikWIp2R3GbBIkSQFi0CdOBKTqAktn+thVWn4mleE2pbdr2jM2Ylc0lL2bm/NpOHE0Pe6YUGqg==} peerDependencies: vite: ^2.2.3 + vue: ^3.0.11 dependencies: - '@vue/compiler-sfc': 3.2.6 + '@vue/compiler-sfc': 3.2.6(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2) debug: 4.3.2 fast-glob: 3.2.7 vite: 2.5.3 vue: 3.2.6 - vue-router: 4.0.11_vue@3.2.6 + vue-router: 4.0.11(vue@3.2.6) transitivePeerDependencies: + - arc-templates + - atpl + - babel-core + - bracket-template + - coffee-script + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly - supports-color - dev: true - - /vite-plugin-windicss/1.3.0_typescript@4.4.2+vite@2.5.3: + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - vash + - velocityjs + - walrus + - whiskers + dev: true + + /vite-plugin-windicss@1.3.0(typescript@4.4.2)(vite@2.5.3): resolution: {integrity: sha512-Xd9VxXX8z9bsdKs3iL6qXJDXsDDl/HQSWqJOLZFkkp23b3goGRnlT4Rlo5WeIAfrEV944r8bF7wfpDXCkk8XCg==} peerDependencies: vite: ^2.0.1 dependencies: - '@windicss/plugin-utils': 1.3.0_typescript@4.4.2 + '@windicss/plugin-utils': 1.3.0(typescript@4.4.2) chalk: 4.1.2 debug: 4.3.2 vite: 2.5.3 @@ -6510,7 +6971,7 @@ packages: - typescript dev: true - /vite-ssg/0.14.7_f9709d00341f1d6c66a36b1bdc92dd2d: + /vite-ssg@0.14.7(@vue/compiler-sfc@3.2.6)(@vue/server-renderer@3.2.6)(@vueuse/head@0.6.0)(critters@0.0.10)(vite@2.5.3)(vue-router@4.0.11)(vue@3.2.6): resolution: {integrity: sha512-46E4NHEhe/lj3CPxXjDxKrqi0H3B5LY1Qpf3NPtFDkXUvA2zZYWIp+YDQ98o27QH2HentLcBKQeN6JZpNeOMWQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -6526,9 +6987,9 @@ packages: critters: optional: true dependencies: - '@vue/compiler-sfc': 3.2.6 - '@vue/server-renderer': 3.2.6_vue@3.2.6 - '@vueuse/head': 0.6.0_vue@3.2.6 + '@vue/compiler-sfc': 3.2.6(lodash@4.17.21)(react-dom@17.0.2)(react@17.0.2) + '@vue/server-renderer': 3.2.6(vue@3.2.6) + '@vueuse/head': 0.6.0(vue@3.2.6) chalk: 4.1.2 critters: 0.0.10 fs-extra: 10.0.0 @@ -6538,7 +6999,7 @@ packages: read-pkg-up: 7.0.1 vite: 2.5.3 vue: 3.2.6 - vue-router: 4.0.11_vue@3.2.6 + vue-router: 4.0.11(vue@3.2.6) yargs: 17.1.1 transitivePeerDependencies: - bufferutil @@ -6547,7 +7008,7 @@ packages: - utf-8-validate dev: true - /vite/2.5.3: + /vite@2.5.3: resolution: {integrity: sha512-1wMDnjflvtTTkMov8O/Xb5+w1/VW/Gw8oCf8f6dqgHn8lMOEqq0SaPtFEQeikFcOKCfSbiU0nEi0LDIx6DNsaQ==} engines: {node: '>=12.2.0'} hasBin: true @@ -6560,12 +7021,12 @@ packages: fsevents: 2.3.2 dev: true - /void-elements/3.1.0: + /void-elements@3.1.0: resolution: {integrity: sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=} engines: {node: '>=0.10.0'} dev: true - /vscode-css-languageservice/5.1.4: + /vscode-css-languageservice@5.1.4: resolution: {integrity: sha512-fIJZJMXbaBsK0ifBb2RmSiLtzwn6NrZnKn7O+0ziIjwAY+rPvSK9St2qqQXFU3reZVRAt/I4GBp40dC/THcUDA==} dependencies: vscode-languageserver-textdocument: 1.0.1 @@ -6574,7 +7035,7 @@ packages: vscode-uri: 3.0.2 dev: true - /vscode-html-languageservice/4.0.7: + /vscode-html-languageservice@4.0.7: resolution: {integrity: sha512-P5TQMYpgxAdLs+PwpC7Lm+0lXCyQAC6kZ41YuPYNHVooC4XO7Y2+ncHBcQJVK4C9LU2cTOAl0lzq4WAxuwRHYw==} dependencies: vscode-languageserver-textdocument: 1.0.1 @@ -6583,7 +7044,7 @@ packages: vscode-uri: 3.0.2 dev: true - /vscode-json-languageservice/4.1.7: + /vscode-json-languageservice@4.1.7: resolution: {integrity: sha512-cwG5TwZyHYthsk2aS3W1dVgVP6Vwn3o+zscwN58uMgZt/nKuyxd9vdEB1F58Ix+S5kSKAnkUCP6hvulcoImQQQ==} engines: {npm: '>=7.0.0'} dependencies: @@ -6594,42 +7055,42 @@ packages: vscode-uri: 3.0.2 dev: true - /vscode-jsonrpc/8.0.0-next.2: + /vscode-jsonrpc@8.0.0-next.2: resolution: {integrity: sha512-gxUyTBAjmwGkiHW/UaRScre2s4i98P8M7gnc3VB4DrVQUm3vQ0idi2cN9nbkfcjATx+uEt8C22j+MLN/8UzsJA==} engines: {node: '>=8.0.0 || >=10.0.0'} dev: true - /vscode-languageserver-protocol/3.17.0-next.8: + /vscode-languageserver-protocol@3.17.0-next.8: resolution: {integrity: sha512-P89vSuJ+FA5JzFmcOoZN13Ig1yd6LsiPOig0O5m5BSGuO/rplQegCd9J0wKpaTy7trf/SYHRoypnbUBdzy14sg==} dependencies: vscode-jsonrpc: 8.0.0-next.2 vscode-languageserver-types: 3.17.0-next.3 dev: true - /vscode-languageserver-textdocument/1.0.1: + /vscode-languageserver-textdocument@1.0.1: resolution: {integrity: sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==} dev: true - /vscode-languageserver-types/3.16.0: + /vscode-languageserver-types@3.16.0: resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} dev: true - /vscode-languageserver-types/3.17.0-next.3: + /vscode-languageserver-types@3.17.0-next.3: resolution: {integrity: sha512-VQcXnhKYxUW6OiRMhG++SzmZYMJwusXknJGd+FfdOnS1yHAo734OHyR0e2eEHDlv0/oWc8RZPgx/VKSKyondVg==} dev: true - /vscode-languageserver/8.0.0-next.2: + /vscode-languageserver@8.0.0-next.2: resolution: {integrity: sha512-7qCEXTeGZKkI8BGvlKh0JPXTY7BaWoiwQYKCcGaUgnMs34wt6F/yaKcxoC3XIouBBVyRxiI6Ml/JdztM3XYEaA==} hasBin: true dependencies: vscode-languageserver-protocol: 3.17.0-next.8 dev: true - /vscode-nls/5.0.0: + /vscode-nls@5.0.0: resolution: {integrity: sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==} dev: true - /vscode-pug-languageservice/0.27.11: + /vscode-pug-languageservice@0.27.11: resolution: {integrity: sha512-YRrh1Ccd3VXiqabNodL1V+tqNF9K6ExzngMRXrruSVKNkgvcfx1T7FJuWMQhWZ24aVB0389hvDm+5qZV2qR99Q==} dependencies: '@volar/code-gen': 0.27.11 @@ -6641,7 +7102,7 @@ packages: vscode-languageserver: 8.0.0-next.2 dev: true - /vscode-typescript-languageservice/0.27.11: + /vscode-typescript-languageservice@0.27.11: resolution: {integrity: sha512-yUy5GTJvqTZk+MA/0l64PVc60vDkMhMM47EEHdVY6MCVYq6EnILw5GPEjST9ZYYK/5IbYqT8FjqsYXaKdBksKQ==} dependencies: '@volar/shared': 0.27.11 @@ -6650,15 +7111,15 @@ packages: vscode-languageserver-textdocument: 1.0.1 dev: true - /vscode-uri/2.1.2: + /vscode-uri@2.1.2: resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} dev: true - /vscode-uri/3.0.2: + /vscode-uri@3.0.2: resolution: {integrity: sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==} dev: true - /vscode-vue-languageservice/0.27.11: + /vscode-vue-languageservice@0.27.11: resolution: {integrity: sha512-Hpm6N43xsKO4w5x2z8qQmpB1v1LlfQntBud37OCZ1HcVAYeS+bXzRazcH4b+M0sRYPFlUSXVI+0SBtBd3/tYVg==} dependencies: '@volar/code-gen': 0.27.11 @@ -6681,7 +7142,7 @@ packages: vscode-typescript-languageservice: 0.27.11 dev: true - /vue-demi/0.11.3_vue@3.2.6: + /vue-demi@0.11.3(vue@3.2.6): resolution: {integrity: sha512-DpM0TTMpclRZDV6AIacgg837zrim/C9Zn+2ztXBs9hsESJN9vC83ztjTe4KC4HgJuVle8YUjPp7HTwWtwOHfmg==} engines: {node: '>=12'} hasBin: true @@ -6694,9 +7155,8 @@ packages: optional: true dependencies: vue: 3.2.6 - dev: false - /vue-eslint-parser/7.10.0_eslint@7.32.0: + /vue-eslint-parser@7.10.0(eslint@7.32.0): resolution: {integrity: sha512-7tc/ewS9Vq9Bn741pvpg8op2fWJPH3k32aL+jcIcWGCTzh/zXSdh7pZ5FV3W2aJancP9+ftPAv292zY5T5IPCg==} engines: {node: '>=8.10'} peerDependencies: @@ -6714,7 +7174,7 @@ packages: - supports-color dev: true - /vue-i18n/9.1.7_vue@3.2.6: + /vue-i18n@9.1.7(vue@3.2.6): resolution: {integrity: sha512-ujuuDanoHqtEd4GejWrbG/fXE9nrP51ElsEGxp0WBHfv+/ki0/wyUqkO+4fLikki2obGtXdviTPH0VNpas5K6g==} engines: {node: '>= 10'} peerDependencies: @@ -6725,9 +7185,8 @@ packages: '@intlify/vue-devtools': 9.1.7 '@vue/devtools-api': 6.0.0-beta.15 vue: 3.2.6 - dev: false - /vue-router/4.0.11_vue@3.2.6: + /vue-router@4.0.11(vue@3.2.6): resolution: {integrity: sha512-sha6I8fx9HWtvTrFZfxZkiQQBpqSeT+UCwauYjkdOQYRvwsGwimlQQE2ayqUwuuXGzquFpCPoXzYKWlzL4OuXg==} peerDependencies: vue: ^3.0.0 @@ -6735,7 +7194,7 @@ packages: '@vue/devtools-api': 6.0.0-beta.15 vue: 3.2.6 - /vue-tsc/0.3.0_typescript@4.4.2: + /vue-tsc@0.3.0(typescript@4.4.2): resolution: {integrity: sha512-zaDRZBxwRIz1XjhNP92FqugG71st6BUMnA2EwPeXrAyzbEYVRz6TezNFceYl3QYqqN8CtaxbqUhaQEDj/ntoCA==} hasBin: true peerDependencies: @@ -6745,65 +7204,65 @@ packages: vscode-vue-languageservice: 0.27.11 dev: true - /vue/3.2.6: + /vue@3.2.6: resolution: {integrity: sha512-Zlb3LMemQS3Xxa6xPsecu45bNjr1hxO8Bh5FUmE0Dr6Ot0znZBKiM47rK6O7FTcakxOnvVN+NTXWJF6u8ajpCQ==} dependencies: '@vue/compiler-dom': 3.2.6 '@vue/runtime-dom': 3.2.6 '@vue/shared': 3.2.6 - /w3c-hr-time/1.0.2: + /w3c-hr-time@1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} dependencies: browser-process-hrtime: 1.0.0 dev: true - /w3c-keyname/2.2.4: + /w3c-keyname@2.2.4: resolution: {integrity: sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==} dev: false - /w3c-xmlserializer/2.0.0: + /w3c-xmlserializer@2.0.0: resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} engines: {node: '>=10'} dependencies: xml-name-validator: 3.0.0 dev: true - /wbuf/1.7.3: + /wbuf@1.7.3: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} dependencies: minimalistic-assert: 1.0.1 dev: true - /webidl-conversions/4.0.2: + /webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: true - /webidl-conversions/5.0.0: + /webidl-conversions@5.0.0: resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} engines: {node: '>=8'} dev: true - /webidl-conversions/6.1.0: + /webidl-conversions@6.1.0: resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} engines: {node: '>=10.4'} dev: true - /webpack-virtual-modules/0.4.3: + /webpack-virtual-modules@0.4.3: resolution: {integrity: sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==} dev: true - /whatwg-encoding/1.0.5: + /whatwg-encoding@1.0.5: resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} dependencies: iconv-lite: 0.4.24 dev: true - /whatwg-mimetype/2.3.0: + /whatwg-mimetype@2.3.0: resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} dev: true - /whatwg-url/7.1.0: + /whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} dependencies: lodash.sortby: 4.7.0 @@ -6811,7 +7270,7 @@ packages: webidl-conversions: 4.0.2 dev: true - /whatwg-url/8.7.0: + /whatwg-url@8.7.0: resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} engines: {node: '>=10'} dependencies: @@ -6820,7 +7279,7 @@ packages: webidl-conversions: 6.1.0 dev: true - /which-boxed-primitive/1.0.2: + /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 @@ -6830,7 +7289,7 @@ packages: is-symbol: 1.0.4 dev: true - /which-collection/1.0.1: + /which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} dependencies: is-map: 2.0.2 @@ -6839,12 +7298,13 @@ packages: is-weakset: 2.0.1 dev: true - /which-module/2.0.0: + /which-module@2.0.0: resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} + requiresBuild: true dev: false optional: true - /which-typed-array/1.1.7: + /which-typed-array@1.1.7: resolution: {integrity: sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==} engines: {node: '>= 0.4'} dependencies: @@ -6856,7 +7316,7 @@ packages: is-typed-array: 1.1.8 dev: true - /which/2.0.2: + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true @@ -6864,13 +7324,13 @@ packages: isexe: 2.0.0 dev: true - /windicss/3.1.7: + /windicss@3.1.7: resolution: {integrity: sha512-Q/HQ9j+r2R0fdt85zAjccdo11kHWzQmpkuwIUQIO6PSypyDmBTfN14aAy4szLrpgo2woyuHM7Y+kir4IG4qnKQ==} engines: {node: '>= 12'} hasBin: true dev: true - /with/7.0.2: + /with@7.0.2: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: @@ -6880,35 +7340,35 @@ packages: babel-walk: 3.0.0-canary-5 dev: true - /word-wrap/1.2.3: + /word-wrap@1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} dev: true - /workbox-background-sync/6.2.4: + /workbox-background-sync@6.2.4: resolution: {integrity: sha512-uoGgm1PZU6THRzXKlMEntrdA4Xkp6SCfxI7re4heN+yGrtAZq6zMKYhZmsdeW+YGnXS3y5xj7WV03b5TDgLh6A==} dependencies: idb: 6.1.3 workbox-core: 6.2.4 dev: true - /workbox-broadcast-update/6.2.4: + /workbox-broadcast-update@6.2.4: resolution: {integrity: sha512-0EpML2lbxNkiZUoap4BJDA0Hfz36MhtUd/rRhFvF6YWoRbTQ8tc6tMaRgM1EBIUmIN2OX9qQlkqe5SGGt4lfXQ==} dependencies: workbox-core: 6.2.4 dev: true - /workbox-build/6.2.4: + /workbox-build@6.2.4: resolution: {integrity: sha512-01ZbY1BHi+yYvu4yDGZBw9xm1bWyZW0QGWPxiksvSPAsNH/z/NwgtWW14YEroFyG98mmXb7pufWlwl40zE1KTw==} engines: {node: '>=10.0.0'} dependencies: - '@apideck/better-ajv-errors': 0.2.5_ajv@8.6.2 + '@apideck/better-ajv-errors': 0.2.5(ajv@8.6.2) '@babel/core': 7.15.0 - '@babel/preset-env': 7.15.0_@babel+core@7.15.0 + '@babel/preset-env': 7.15.0(@babel/core@7.15.0) '@babel/runtime': 7.15.3 - '@rollup/plugin-babel': 5.3.0_@babel+core@7.15.0+rollup@2.56.3 - '@rollup/plugin-node-resolve': 11.2.1_rollup@2.56.3 - '@rollup/plugin-replace': 2.4.2_rollup@2.56.3 + '@rollup/plugin-babel': 5.3.0(@babel/core@7.15.0)(rollup@2.56.3) + '@rollup/plugin-node-resolve': 11.2.1(rollup@2.56.3) + '@rollup/plugin-replace': 2.4.2(rollup@2.56.3) '@surma/rollup-plugin-off-main-thread': 1.4.2 ajv: 8.6.2 common-tags: 1.8.0 @@ -6918,7 +7378,7 @@ packages: lodash: 4.17.21 pretty-bytes: 5.6.0 rollup: 2.56.3 - rollup-plugin-terser: 7.0.2_rollup@2.56.3 + rollup-plugin-terser: 7.0.2(rollup@2.56.3) source-map: 0.8.0-beta.0 source-map-url: 0.4.1 stringify-object: 3.3.0 @@ -6945,24 +7405,24 @@ packages: - supports-color dev: true - /workbox-cacheable-response/6.2.4: + /workbox-cacheable-response@6.2.4: resolution: {integrity: sha512-KZSzAOmgWsrk15Wu+geCUSGLIyyzHaORKjH5JnR6qcVZAsm0JXUu2m2OZGqjQ+/eyQwrGdXXqAMW+4wQvTXccg==} dependencies: workbox-core: 6.2.4 dev: true - /workbox-core/6.2.4: + /workbox-core@6.2.4: resolution: {integrity: sha512-Nu8X4R4Is3g8uzEJ6qwbW2CGVpzntW/cSf8OfsQGIKQR0nt84FAKzP2cLDaNLp3L/iV9TuhZgCTZzkMiap5/OQ==} dev: true - /workbox-expiration/6.2.4: + /workbox-expiration@6.2.4: resolution: {integrity: sha512-EdOBLunrE3+Ff50y7AYDbiwtiLDvB+oEIkL1Wd9G5d176YVqFfgPfMRzJQ7fN+Yy2NfmsFME0Bw+dQruYekWsQ==} dependencies: idb: 6.1.3 workbox-core: 6.2.4 dev: true - /workbox-google-analytics/6.2.4: + /workbox-google-analytics@6.2.4: resolution: {integrity: sha512-+PWmTouoGGcDupaxM193F2NmgrF597Pyt9eHIDxfed+x+JSSeUkETlbAKwB8rnBHkAjs8JQcvStEP/IpueNKpQ==} dependencies: workbox-background-sync: 6.2.4 @@ -6971,13 +7431,13 @@ packages: workbox-strategies: 6.2.4 dev: true - /workbox-navigation-preload/6.2.4: + /workbox-navigation-preload@6.2.4: resolution: {integrity: sha512-y2dOSsaSdEimqhCmBIFR6kBp+GZbtNtWCBaMFwfKxTAul2uyllKcTKBHnZ9IzxULue6o6voV+I2U8Y8tO8n+eA==} dependencies: workbox-core: 6.2.4 dev: true - /workbox-precaching/6.2.4: + /workbox-precaching@6.2.4: resolution: {integrity: sha512-7POznbVc8EG/mkbXzeb94x3B1VJruPgXvXFgS0NJ3GRugkO4ULs/DpIIb+ycs7uJIKY9EzLS7VXvElr3rMSozQ==} dependencies: workbox-core: 6.2.4 @@ -6985,13 +7445,13 @@ packages: workbox-strategies: 6.2.4 dev: true - /workbox-range-requests/6.2.4: + /workbox-range-requests@6.2.4: resolution: {integrity: sha512-q4jjTXD1QOKbrHnzV3nxdZtIpOiVoIP5QyVmjuJrybVnAZurtyKcqirTQcAcT/zlTvgwm07zcTTk9o/zIB6DmA==} dependencies: workbox-core: 6.2.4 dev: true - /workbox-recipes/6.2.4: + /workbox-recipes@6.2.4: resolution: {integrity: sha512-z7oECGrt940dw1Bv0xIDJEXY1xARiaxsIedeJOutZFkbgaC/yWG61VTr/hmkeJ8Nx6jnY6W7Rc0iOUvg4sePag==} dependencies: workbox-cacheable-response: 6.2.4 @@ -7002,39 +7462,40 @@ packages: workbox-strategies: 6.2.4 dev: true - /workbox-routing/6.2.4: + /workbox-routing@6.2.4: resolution: {integrity: sha512-jHnOmpeH4MOWR4eXv6l608npD2y6IFv7yFJ1bT9/RbB8wq2vXHXJQ0ExTZRTWGbVltSG22wEU+MQ8VebDDwDeg==} dependencies: workbox-core: 6.2.4 dev: true - /workbox-strategies/6.2.4: + /workbox-strategies@6.2.4: resolution: {integrity: sha512-DKgGC3ruceDuu2o+Ae5qmJy0p0q21mFP+RrkdqKrjyf2u8cJvvtvt1eIt4nevKc5BESiKxmhC2h+TZpOSzUDvA==} dependencies: workbox-core: 6.2.4 dev: true - /workbox-streams/6.2.4: + /workbox-streams@6.2.4: resolution: {integrity: sha512-yG6zV7S2NmYT6koyb7/DoPsyUAat9kD+rOmjP2SbBCtJdLu6ZIi1lgN4/rOkxEby/+Xb4OE4RmCSIZdMyjEmhQ==} dependencies: workbox-core: 6.2.4 workbox-routing: 6.2.4 dev: true - /workbox-sw/6.2.4: + /workbox-sw@6.2.4: resolution: {integrity: sha512-OlWLHNNM+j44sN2OaVXnVcf2wwhJUzcHlXrTrbWDu1JWnrQJ/rLicdc/sbxkZoyE0EbQm7Xr1BXcOjsB7PNlXQ==} dev: true - /workbox-window/6.2.4: + /workbox-window@6.2.4: resolution: {integrity: sha512-9jD6THkwGEASj1YP56ZBHYJ147733FoGpJlMamYk38k/EBFE75oc6K3Vs2tGOBx5ZGq54+mHSStnlrtFG3IiOg==} dependencies: '@types/trusted-types': 2.0.2 workbox-core: 6.2.4 dev: true - /wrap-ansi/5.1.0: + /wrap-ansi@5.1.0: resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} engines: {node: '>=6'} + requiresBuild: true dependencies: ansi-styles: 3.2.1 string-width: 3.1.0 @@ -7042,7 +7503,7 @@ packages: dev: false optional: true - /wrap-ansi/7.0.0: + /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} dependencies: @@ -7051,11 +7512,11 @@ packages: strip-ansi: 6.0.0 dev: true - /wrappy/1.0.2: + /wrappy@1.0.2: resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} dev: true - /ws/7.5.4: + /ws@7.5.4: resolution: {integrity: sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==} engines: {node: '>=8.3.0'} peerDependencies: @@ -7068,33 +7529,34 @@ packages: optional: true dev: true - /xml-name-validator/3.0.0: + /xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} dev: true - /xmlchars/2.2.0: + /xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: true - /y18n/4.0.3: + /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + requiresBuild: true dev: false optional: true - /y18n/5.0.8: + /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} dev: true - /yallist/3.1.1: + /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: true - /yallist/4.0.0: + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml-eslint-parser/0.3.2: + /yaml-eslint-parser@0.3.2: resolution: {integrity: sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==} dependencies: eslint-visitor-keys: 1.3.0 @@ -7102,31 +7564,33 @@ packages: yaml: 1.10.2 dev: true - /yaml/1.10.2: + /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} dev: true - /yaml/2.0.0-7: + /yaml@2.0.0-7: resolution: {integrity: sha512-RbI2Tm3hl9AoHY4wWyWvGvJfFIbHOzuzaxum6ez1A0vve+uXgNor03Wys4t+2sgjJSVSe+B2xerd1/dnvqHlOA==} engines: {node: '>= 12'} dev: true - /yargs-parser/13.1.2: + /yargs-parser@13.1.2: resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} + requiresBuild: true dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: false optional: true - /yargs-parser/20.2.9: + /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} dev: true - /yargs/13.3.2: + /yargs@13.3.2: resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} + requiresBuild: true dependencies: cliui: 5.0.0 find-up: 3.0.0 @@ -7141,7 +7605,7 @@ packages: dev: false optional: true - /yargs/17.1.1: + /yargs@17.1.1: resolution: {integrity: sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==} engines: {node: '>=12'} dependencies: @@ -7154,12 +7618,15 @@ packages: yargs-parser: 20.2.9 dev: true - /zustand/3.5.10: + /zustand@3.5.10(react@17.0.2): resolution: {integrity: sha512-upluvSRWrlCiExu2UbkuMIPJ9AigyjRFoO7O9eUossIj7rPPq7pcJ0NKk6t2P7KF80tg/UdPX6/pNKOSbs9DEg==} + requiresBuild: true peerDependencies: react: '>=16.8' peerDependenciesMeta: react: optional: true + dependencies: + react: 17.0.2 dev: false optional: true diff --git a/apps/admin/public/index.html b/apps/admin/public/index.html index e2afb897..23a2030a 100644 --- a/apps/admin/public/index.html +++ b/apps/admin/public/index.html @@ -1,4 +1,4 @@ -<!DOCTYPE html> +<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> diff --git a/apps/admin/src/api/rest.ts b/apps/admin/src/api/rest.ts index d45f0772..ed18ec02 100644 --- a/apps/admin/src/api/rest.ts +++ b/apps/admin/src/api/rest.ts @@ -18,8 +18,8 @@ export async function get<T = any>(url: string, query?: JsonObject) { transformUrl(url) + (query ? `?${new URLSearchParams(query as Record<string, string>).toString()}` : ""), { headers: { ...(token && { Authorization: `Bearer ${token.code}` }) }, - } - ) + }, + ), ); } @@ -31,7 +31,7 @@ export async function post<T = any>(url: string, data: any = {}) { method: "POST", body: JSON.stringify(data), headers: { "Content-Type": "application/json", ...(token && { Authorization: `Bearer ${token.code}` }) }, - }) + }), ); } @@ -43,7 +43,7 @@ export async function deleteApi<T = any>(url: string, data: any = {}) { method: "DELETE", body: JSON.stringify(data), headers: { "Content-Type": "application/json", ...(token && { Authorization: `Bearer ${token.code}` }) }, - }) + }), ); } diff --git a/apps/admin/src/components/GameEdit.vue b/apps/admin/src/components/GameEdit.vue index ebbc6208..b6f381bf 100644 --- a/apps/admin/src/components/GameEdit.vue +++ b/apps/admin/src/components/GameEdit.vue @@ -60,7 +60,7 @@ const props = withDefaults(defineProps<{ mode: "new" | "edit"; modelValue: GameI public: false, needOwnership: true, }, - } as GameInfo), + }) as GameInfo, }); const emit = defineEmits<{ @@ -125,7 +125,7 @@ watch( fullScreen: false, replayable: false, trusted: false, - } + }, ); set(data, "factions.avatars", data.factions?.avatars ?? false); set(data, "settings", data.settings ?? []); @@ -137,7 +137,7 @@ watch( setTimeout(() => rules.value?.setMarkdown(data.rules)); setTimeout(() => description.value?.setMarkdown(data.description)); }, - { immediate: true } + { immediate: true }, ); </script> diff --git a/apps/admin/src/components/NavigationDrawer.vue b/apps/admin/src/components/NavigationDrawer.vue index db2a6732..57e5dfa2 100644 --- a/apps/admin/src/components/NavigationDrawer.vue +++ b/apps/admin/src/components/NavigationDrawer.vue @@ -18,7 +18,7 @@ watch( get("/admin/gameinfo").then((data) => games.$patch({ games: data })); get("/admin/page").then((data) => pages.$patch({ pages: data })); }, - { immediate: true } + { immediate: true }, ); </script> <template> diff --git a/apps/admin/src/components/PageEdit.vue b/apps/admin/src/components/PageEdit.vue index 70313524..80ea4b80 100644 --- a/apps/admin/src/components/PageEdit.vue +++ b/apps/admin/src/components/PageEdit.vue @@ -12,16 +12,19 @@ const props = withDefaults(defineProps<{ modelValue?: Page; mode?: "new" | "edit }, title: "", content: "", - } as Page), + }) as Page, mode: "edit", }); -const emit = - defineEmits<{ (e: "update:modelValue", value: Page): void; (e: "save", value: Page): void; (e: "delete"): void }>(); +const emit = defineEmits<{ + (e: "update:modelValue", value: Page): void; + (e: "save", value: Page): void; + (e: "delete"): void; +}>(); watch( () => props.modelValue, - () => emit("update:modelValue", props.modelValue) + () => emit("update:modelValue", props.modelValue), ); const content = ref<typeof EditorVue | null>(null); @@ -43,7 +46,7 @@ watch( if (props.modelValue.content) { content.value?.setMarkdown(props.modelValue.content); } - } + }, ); </script> <template> diff --git a/apps/admin/src/components/cdk/VAutocomplete.vue b/apps/admin/src/components/cdk/VAutocomplete.vue index 9bc49acb..c01c0048 100644 --- a/apps/admin/src/components/cdk/VAutocomplete.vue +++ b/apps/admin/src/components/cdk/VAutocomplete.vue @@ -5,10 +5,12 @@ const props = withDefaults( defineProps<{ label: string; modelValue: any; searchInput: string; items: Array<{ value: any; text: string }> }>(), { items: () => [], - } + }, ); -const emit = - defineEmits<{ (e: "update:searchInput", value: string): void; (e: "update:modelValue", value: any): void }>(); +const emit = defineEmits<{ + (e: "update:searchInput", value: string): void; + (e: "update:modelValue", value: any): void; +}>(); </script> <template> <div> @@ -22,16 +24,7 @@ const emit = /> <div v-if="items.length > 0 && (hasFocus || clicking)" class="relative"> <div - class=" - absolute - top-0 - right-0 - left-0 - bg-white - border border-indigo-600 - rounded - dark:border-gray-500 dark:bg-black - " + class="absolute top-0 right-0 left-0 bg-white border border-indigo-600 rounded dark:border-gray-500 dark:bg-black" > <v-list-item v-for="item in items" diff --git a/apps/admin/src/components/cdk/VBtn.vue b/apps/admin/src/components/cdk/VBtn.vue index 60c51ccf..a3483954 100644 --- a/apps/admin/src/components/cdk/VBtn.vue +++ b/apps/admin/src/components/cdk/VBtn.vue @@ -7,18 +7,7 @@ const props = withDefaults(defineProps<{ type: "button" | "submit"; variant: "pr <template> <button - class=" - px-4 - py-1 - flex - gap-2 - items-center - rounded - inline-block - text-white - cursor-pointer - disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50 - " + class="px-4 py-1 flex gap-2 items-center rounded inline-block text-white cursor-pointer disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50" :class="[{ 'px-1': props.icon }, variant]" :type="props.type" > diff --git a/apps/admin/src/components/cdk/VDataTable.vue b/apps/admin/src/components/cdk/VDataTable.vue index 65c0095b..7c8ade79 100644 --- a/apps/admin/src/components/cdk/VDataTable.vue +++ b/apps/admin/src/components/cdk/VDataTable.vue @@ -5,7 +5,7 @@ const selected = ref<any>(); withDefaults( defineProps<{ headers: Array<{ text: string; value: any }>; items: Array<Record<string, any>>; itemKey?: string }>(), - { itemKey: "value" } + { itemKey: "value" }, ); </script> <template> diff --git a/apps/admin/src/components/cdk/VSelect.vue b/apps/admin/src/components/cdk/VSelect.vue index 8440fcd6..3841e56b 100644 --- a/apps/admin/src/components/cdk/VSelect.vue +++ b/apps/admin/src/components/cdk/VSelect.vue @@ -37,20 +37,7 @@ function getInput(elem: HTMLSelectElement) { :placeholder="props.label" :disabled="disabled" :multiple="multiple" - class=" - shadow - appearance-none - border - rounded - w-full - py-2 - px-3 - text-gray-700 - dark:bg-gray-700 dark:text-gray-300 - leading-tight - focus:outline-none focus:shadow-outline - disabled:opacity-80 disabled:cursor-not-allowed disabled:select-none - " + class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 dark:bg-gray-700 dark:text-gray-300 leading-tight focus:outline-none focus:shadow-outline disabled:opacity-80 disabled:cursor-not-allowed disabled:select-none" :[!multiple&&`value`]="props.modelValue ?? nullProp" @input="$emit('update:modelValue', getInput($event.target))" > diff --git a/apps/admin/src/components/cdk/VTextField.vue b/apps/admin/src/components/cdk/VTextField.vue index f9f63145..03f77a58 100644 --- a/apps/admin/src/components/cdk/VTextField.vue +++ b/apps/admin/src/components/cdk/VTextField.vue @@ -10,7 +10,7 @@ const props = withDefaults( type: "text" | "email" | "password" | "number"; required?: boolean; }>(), - { type: "text" } + { type: "text" }, ); const emit = defineEmits<{ @@ -29,20 +29,7 @@ const emit = defineEmits<{ :required="props.required" :placeholder="props.label" :disabled="disabled" - class=" - shadow - appearance-none - border - rounded - w-full - py-2 - px-3 - text-gray-700 - dark:bg-gray-700 dark:text-gray-300 - leading-tight - focus:outline-none focus:shadow-outline - disabled:opacity-80 disabled:cursor-not-allowed disabled:select-none - " + class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 dark:bg-gray-700 dark:text-gray-300 leading-tight focus:outline-none focus:shadow-outline disabled:opacity-80 disabled:cursor-not-allowed disabled:select-none" :value="props.modelValue" @input="emit('update:modelValue', $event.target.value)" @focus="emit('focus', $event)" diff --git a/apps/admin/src/components/cdk/VTextarea.vue b/apps/admin/src/components/cdk/VTextarea.vue index 67312e3b..978fede1 100644 --- a/apps/admin/src/components/cdk/VTextarea.vue +++ b/apps/admin/src/components/cdk/VTextarea.vue @@ -15,21 +15,7 @@ const props = defineProps<{ :id="uid" :required="props.required" :placeholder="props.label" - class=" - shadow - appearance-none - border - rounded - w-full - py-2 - px-3 - text-gray-700 - dark:bg-gray-700 dark:text-gray-300 - leading-tight - focus:outline-none focus:shadow-outline - min-h-32 - flex-1 - " + class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 dark:bg-gray-700 dark:text-gray-300 leading-tight focus:outline-none focus:shadow-outline min-h-32 flex-1" :value="props.modelValue" @input="$emit('update:modelValue', $event.target.value)" /> diff --git a/apps/admin/src/modules/i18n.ts b/apps/admin/src/modules/i18n.ts index 17429679..6dc5d695 100644 --- a/apps/admin/src/modules/i18n.ts +++ b/apps/admin/src/modules/i18n.ts @@ -9,7 +9,7 @@ const messages = Object.fromEntries( Object.entries(import.meta.globEager("../../locales/*.y(a)?ml")).map(([key, value]) => { const yaml = key.endsWith(".yaml"); return [key.slice(14, yaml ? -5 : -4), value.default]; - }) + }), ); export const install: UserModule = ({ app }) => { diff --git a/apps/admin/src/pages/game/[game]/[version].vue b/apps/admin/src/pages/game/[game]/[version].vue index ffe18d60..fe2c816e 100644 --- a/apps/admin/src/pages/game/[game]/[version].vue +++ b/apps/admin/src/pages/game/[game]/[version].vue @@ -31,7 +31,7 @@ watch( loading.value = false; } }, - { immediate: true } + { immediate: true }, ); </script> <template> diff --git a/apps/admin/src/pages/index.vue b/apps/admin/src/pages/index.vue index 6b423234..7d03556a 100644 --- a/apps/admin/src/pages/index.vue +++ b/apps/admin/src/pages/index.vue @@ -44,7 +44,7 @@ function saveJson(gameId: string, body: { json: string }) { post(`/gameplay/${gameId}/edit-data`, { json: JSON.parse(body.json) }).then( () => handleInfo("Game saved. If the current player changed, don't forget to replay it."), - handleError + handleError, ); } @@ -52,7 +52,7 @@ function replayGames() { handleInfo("Batch replay started"); post(`/gameplay/batch/replay`, { gameIds: gameIds.value.split("\n").map((x) => x.trim()) }).then( (info) => handleInfo(`Games replayed: ${info.success}`), - handleError + handleError, ); } diff --git a/apps/admin/src/pages/page/[name]/[lang].vue b/apps/admin/src/pages/page/[name]/[lang].vue index dc9351e5..665bbae0 100644 --- a/apps/admin/src/pages/page/[name]/[lang].vue +++ b/apps/admin/src/pages/page/[name]/[lang].vue @@ -44,7 +44,7 @@ watch( loading.value = false; } }, - { immediate: true } + { immediate: true }, ); </script> <template> diff --git a/apps/admin/src/pages/user/[username].vue b/apps/admin/src/pages/user/[username].vue index 35c2d864..e3f7e48e 100644 --- a/apps/admin/src/pages/user/[username].vue +++ b/apps/admin/src/pages/user/[username].vue @@ -59,7 +59,7 @@ async function login() { location.href = `http://localhost:8615/login?refreshToken=${encodeURIComponent(JSON.stringify(refreshToken))}`; } else { location.href = `//${location.hostname.slice("admin.".length)}/login?refreshToken=${encodeURIComponent( - JSON.stringify(refreshToken) + JSON.stringify(refreshToken), )}`; } }, handleError); @@ -81,7 +81,7 @@ watch( loading.value = false; } }, - { immediate: true } + { immediate: true }, ); async function updateKarma(value: number) { diff --git a/apps/api/.env.test.example b/apps/api/.env.test.example new file mode 100644 index 00000000..9e049dc6 --- /dev/null +++ b/apps/api/.env.test.example @@ -0,0 +1,2 @@ +port=50606 +silent=true \ No newline at end of file diff --git a/apps/api/.eslintrc.js b/apps/api/.eslintrc.js deleted file mode 100644 index 0b0981bc..00000000 --- a/apps/api/.eslintrc.js +++ /dev/null @@ -1,31 +0,0 @@ -module.exports = { - env: { - browser: true, - es2021: true, - }, - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - parser: "@typescript-eslint/parser", - parserOptions: { - ecmaVersion: 12, - sourceType: "module", - project: "./tsconfig.json", - }, - plugins: ["@typescript-eslint"], - rules: { - "@typescript-eslint/ban-ts-comment": "off", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/no-floating-promises": "error", - "@typescript-eslint/no-empty-interface": "off", - "@typescript-eslint/no-explicit-any": "off", - "no-constant-condition": ["error", { checkLoops: false }], - }, - overrides: [ - { - files: ["*.spec.ts"], - rules: { - "@typescript-eslint/no-floating-promises": "off", - }, - }, - ], -}; diff --git a/apps/api/README.md b/apps/api/README.md index cd1934d8..5998dd90 100644 --- a/apps/api/README.md +++ b/apps/api/README.md @@ -40,11 +40,5 @@ dbUrl=<custom mongodb url> To run all tests ``` -npm run test -``` - -To run specific tests - -``` -npm run test-only **/gameinfo.spec.ts +pnpm run test ``` diff --git a/apps/api/app/config/db.ts b/apps/api/app/config/db.ts deleted file mode 100644 index 389c201d..00000000 --- a/apps/api/app/config/db.ts +++ /dev/null @@ -1,49 +0,0 @@ -import cluster from "cluster"; -import locks from "mongo-locks"; -import mongoose from "mongoose"; -import { migrate } from "../models/migrations"; -import env from "./env"; - -mongoose.Promise = global.Promise; // native promises - -let dbInit = false; - -export default async function initDb(url = env.database.bgs.url, runMigrations = true) { - if (dbInit) { - console.log("DB already initialized"); - return; - } - - dbInit = true; - - const connect = () => - mongoose - .connect(url, { dbName: env.database.bgs.name, directConnection: true }) - .then(() => console.log("successfully connected to database")); - await connect(); - - locks.init(mongoose.connection); - - if (cluster.isMaster && runMigrations) { - let free = () => {}; - try { - free = await locks.lock("migration"); - await migrate(); - } catch (err) { - console.error(err); - } finally { - free(); - } - } - - mongoose.connection.on("error", (err) => { - console.error("db error", err); - }); - - if (!env.script) { - mongoose.connection.on("disconnected", () => { - console.log("attempt to reconnect to database"); - setTimeout(() => connect().catch(console.error), 5000); - }); - } -} diff --git a/apps/api/app/config/init.spec.ts b/apps/api/app/config/init.spec.ts deleted file mode 100644 index 2eb21df7..00000000 --- a/apps/api/app/config/init.spec.ts +++ /dev/null @@ -1,34 +0,0 @@ -import assert from "assert"; -import { Server } from "http"; -import mongoose from "mongoose"; -import { listen } from "../app"; -import initDb from "./db"; -import env from "./env"; - -assert(process.env.NODE_ENV === "test"); - -let server: Server; - -async function init() { - assert(env.database.bgs.name.endsWith("-test")); - await initDb(env.database.bgs.url, false); - - const users = await mongoose.connection.db.collection("users").countDocuments(); - assert(users < 10, "This doesn't seem to be a test database"); - await mongoose.connection.db.dropDatabase(); - - env.listen.port.api = 50606; - env.silent = true; - - server = await listen(); - - run(); -} - -init(); - -after(async () => { - server.close(); - await mongoose.connection.db.dropDatabase(); - await mongoose.connection.close(); -}); diff --git a/apps/api/app/models/apierror.ts b/apps/api/app/models/apierror.ts deleted file mode 100644 index 69dd5022..00000000 --- a/apps/api/app/models/apierror.ts +++ /dev/null @@ -1,6 +0,0 @@ -import makeSchema from "@bgs/models/api-error"; -import mongoose from "mongoose"; - -const ApiError = mongoose.model("ApiError", makeSchema()); - -export { ApiError }; diff --git a/apps/api/app/models/chatmessage.ts b/apps/api/app/models/chatmessage.ts deleted file mode 100644 index 3b607b9b..00000000 --- a/apps/api/app/models/chatmessage.ts +++ /dev/null @@ -1,11 +0,0 @@ -import makeSchema from "@bgs/models/chatmessage"; -import { ChatMessage } from "@bgs/types"; -import mongoose, { Types } from "mongoose"; - -export interface ChatMessageDocument extends mongoose.Document, ChatMessage<Types.ObjectId> { - _id: Types.ObjectId; -} - -const ChatMessage = mongoose.model("ChatMessage", makeSchema<ChatMessageDocument>()); - -export { ChatMessage }; diff --git a/apps/api/app/models/game.ts b/apps/api/app/models/game.ts deleted file mode 100644 index 18e7ba1e..00000000 --- a/apps/api/app/models/game.ts +++ /dev/null @@ -1,58 +0,0 @@ -import makeSchema from "@bgs/models/game"; -import { GameStatus, IAbstractGame } from "@bgs/types"; -import mongoose, { Types } from "mongoose"; - -const schema = makeSchema<GameDocument, GameModel>(); -export interface GameDocument extends IAbstractGame<Types.ObjectId>, mongoose.Document {} - -export interface GameModel extends mongoose.Model<GameDocument> { - findWithPlayer(playerId: Types.ObjectId): mongoose.Query<GameDocument[], GameDocument>; - findWithPlayersTurn(playerId: Types.ObjectId): mongoose.Query<GameDocument[], GameDocument>; - - /** Basics projection */ - basics(): string[]; -} - -// For websocket server. To find whether games have updated -schema.index({ updatedAt: 1 }); - -schema.static("findWithPlayer", function (this: GameModel, playerId: Types.ObjectId) { - return this.find({ "players._id": playerId }).sort("-lastMove"); -}); - -schema.static("findWithPlayersTurn", function (this: GameModel, playerId: Types.ObjectId) { - const conditions = { status: { $in: ["active", "open"] as GameStatus[] }, "currentPlayers._id": playerId }; - return this.find(conditions).sort({ status: -1, lastMove: -1 }); -}); - -schema.static("basics", () => { - return [ - "players", - "currentPlayers", - "options.setup.nbPlayers", - "options.timing", - "game.expansions", - "game.name", - "game.version", - "status", - "creator", - "data.round", - "lastMove", - "createdAt", - ]; -}); - -schema.pre("validate", function (this: GameDocument) { - if (!this.options.timing.timePerMove) { - this.options.timing.timePerMove = 15 * 60; - } else if (this.options.timing.timePerMove > 24 * 3600) { - this.options.timing.timePerMove = 24 * 3600; - } - - if (!this.options.timing.timePerGame) { - this.options.timing.timePerGame = 15 * 24 * 3600; - } -}); - -const Game = mongoose.model("Game", schema); -export { Game }; diff --git a/apps/api/app/models/gameinfo.ts b/apps/api/app/models/gameinfo.ts deleted file mode 100644 index b1b192af..00000000 --- a/apps/api/app/models/gameinfo.ts +++ /dev/null @@ -1,24 +0,0 @@ -import makeSchema from "@bgs/models/gameinfo"; -import { GameInfo } from "@bgs/types"; -import mongoose from "mongoose"; - -const schema = makeSchema<GameInfoModel>(); - -export interface GameInfoDocument extends GameInfo, mongoose.Document { - _id: GameInfo["_id"]; -} - -export interface GameInfoModel extends mongoose.Model<GameInfoDocument> { - findWithVersion(game: string, version: number | "latest"): mongoose.Query<GameInfoDocument, GameInfoDocument>; -} - -schema.static("findWithVersion", function (this: GameInfoModel, game: string, version: number | "latest") { - if (version === "latest") { - return this.findOne({ "_id.game": game }).sort("-_id.version"); - } - return this.findById({ game, version }); -}); - -const GameInfo = mongoose.model("GameInfo", schema); - -export { GameInfo }; diff --git a/apps/api/app/models/gamenotification.ts b/apps/api/app/models/gamenotification.ts deleted file mode 100644 index c2dac0e6..00000000 --- a/apps/api/app/models/gamenotification.ts +++ /dev/null @@ -1,104 +0,0 @@ -import makeSchema from "@bgs/models/gamenotification"; -import { GameNotification } from "@bgs/types"; -import locks from "mongo-locks"; -import mongoose, { Types } from "mongoose"; -import EloService from "../services/elo"; -import { Game } from "./game"; -import { Log, LogItem } from "./log"; -import { maxKarma, User } from "./user"; - -const schema = makeSchema<GameNotificationDocument, GameNotificationModel>(); -interface GameNotificationDocument extends mongoose.Document, GameNotification<Types.ObjectId> {} - -interface GameNotificationModel extends mongoose.Model<GameNotificationDocument> { - processCurrentMove(): Promise<void>; - processGameEnded(): Promise<void>; - processPlayerDrop(): Promise<void>; -} - -schema.static("processCurrentMove", async function (this: GameNotificationModel) { - const notifications = await this.find({ kind: "currentMove", processed: false }, null, { lean: true }); - - const users = await User.find({ _id: { $in: notifications.map((notification) => notification.user) } }); - - for (const user of users) { - await user.updateGameNotification(); - } - - await this.updateMany({ _id: { $in: notifications.map((x) => x._id) } }, { $set: { processed: true } }); -}); - -schema.static("processGameEnded", async function (this: GameNotificationModel) { - const free = await locks.lock("game-notification", "gameEnded"); - - try { - const notifications = await this.find({ kind: "gameEnded", processed: false }, null, { lean: true }); - - for (const notification of notifications) { - const game = await Game.findOne({ _id: notification.game }, "players game.name cancelled", { lean: true }); - - if (!game) { - await this.updateOne({ _id: notification._id }, { $set: { processed: true } }); - continue; - } - - // KARMA - if (!game.cancelled) { - await User.updateMany({ _id: { $in: game.players.filter((pl) => !pl.dropped).map((pl) => pl._id) } }, [ - { - $set: { - "account.karma": { - $min: [{ $add: ["$account.karma", 1] }, maxKarma], - }, - }, - }, - ]); - } - - // ELO - await EloService.processGame(game); - - await Promise.all([ - this.updateOne({ _id: notification._id }, { $set: { processed: true } }), - await Log.create({ kind: "processGameEnded", data: { game: notification.game } }), - ]); - } - } finally { - free().catch(console.error); - } -}); - -schema.static("processPlayerDrop", async function (this: GameNotificationModel) { - const free = await locks.lock("game-notification", "playerDrop"); - - try { - const notifications = await this.find({ kind: "playerDrop", processed: false }, null, { lean: true }); - - let userIds = notifications.map((not) => not.user); - - // The loop is in case a player drops one or more players at a time - do { - const set = new Set(userIds.map((id) => id.toString())); - - await User.updateMany({ _id: { $in: userIds } }, { $inc: { "account.karma": -10 } }); - - userIds = userIds.filter((id) => !set.delete(id.toString())); - } while (userIds.length > 0); - - await Promise.all([ - Log.insertMany( - notifications.map( - (notification) => - ({ kind: "processPlayerDrop", data: { game: notification.game, player: notification.user } } as LogItem) - ) - ), - this.updateMany({ _id: { $in: notifications.map((x) => x._id) } }, { $set: { processed: true } }), - ]); - } finally { - free().catch(console.error); - } -}); - -const GameNotification = mongoose.model("GameNotification", schema); - -export { GameNotification }; diff --git a/apps/api/app/models/index.ts b/apps/api/app/models/index.ts deleted file mode 100644 index afc12a57..00000000 --- a/apps/api/app/models/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export * from "./apierror"; -export * from "./chatmessage"; -export * from "./game"; -export * from "./gameinfo"; -export * from "./gamenotification"; -export * from "./gamepreferences"; -export * from "./images"; -export * from "./jwtrefreshtokens"; -export * from "./log"; -export * from "./migrations"; -export * from "./page"; -export * from "./roommetadata"; -export * from "./settings"; -export * from "./user"; diff --git a/apps/api/app/models/user.ts b/apps/api/app/models/user.ts deleted file mode 100644 index 9b5af0b9..00000000 --- a/apps/api/app/models/user.ts +++ /dev/null @@ -1,478 +0,0 @@ -import type { IAbstractUser } from "@bgs/types"; -import assert from "assert"; -import bcrypt from "bcryptjs"; -import crypto from "crypto"; -import { isEmpty, pick } from "lodash"; -import locks from "mongo-locks"; -import mongoose, { Types } from "mongoose"; -import { env, sendmail } from "../config"; -import { Game } from "./game"; - -const Schema = mongoose.Schema; - -export const defaultKarma = 75; -export const maxKarma = 100; - -const secureId = () => crypto.randomBytes(12).toString("base64").replace(/\+/g, "_").replace(/\//g, "-"); - -const publicInfo = Object.freeze(["_id", "account.username", "account.bio", "account.karma", "createdAt"] as const); - -export interface UserDocument extends IAbstractUser, mongoose.Document { - isAdmin(): boolean; - - generateHash(password: string): Promise<string>; - validPassword(password: string): Promise<boolean>; - resetPassword(password: string): Promise<void>; - email(): string; - // Filtered user for public consumption - publicInfo(): UserDocument; - changeEmail(email: string): Promise<void>; - generateResetLink(): Promise<void>; - resetKey(): string; - validateResetKey(key: string): void; - generateConfirmKey(): void; - confirmKey(): string; - confirm(key: string): Promise<void>; - recalculateKarma(since?: Date): Promise<void>; - sendConfirmationEmail(): Promise<void>; - sendResetEmail(): Promise<void>; - sendMailChangeEmail(newEmail: string): Promise<void>; - sendGameNotificationEmail(): Promise<void>; - updateGameNotification(): Promise<void>; - isSocialAccount(): boolean; - notifyLogin(ip: string): Promise<void>; - notifyLastIp(ip: string): Promise<void>; -} - -interface UserModel extends mongoose.Model<UserDocument> { - findByEmail(email: string): Promise<UserDocument>; - findByUsername(name: string): Promise<UserDocument>; - findByUrl(urlComponent: string): Promise<UserDocument>; - publicInfo(): typeof publicInfo; -} - -// define the schema for our user model -const schema = new Schema<UserDocument, UserModel>( - { - account: { - username: { - type: String, - maxlength: [20, "Pick a shorter username"], - minlength: [2, "Pick a longer username"], - trim: true, - unique: true, - sparse: true, - }, - email: { - type: String, - unique: true, - maxlength: [50, "Too long email"], - trim: true, - lowercase: true, - sparse: true, - }, - password: String, - karma: { - type: Number, - default: defaultKarma, - max: maxKarma, - }, - termsAndConditions: Date, - avatar: { - type: String, - trim: true, - default: "pixel-art", - maxlength: 20, - }, - bio: { - type: String, - trim: true, - maxlength: [500, "Too long bio"], - }, - social: { - google: { - type: String, - sparse: true, - unique: true, - }, - facebook: { - type: String, - sparse: true, - unique: true, - }, - discord: { - type: String, - sparse: true, - unique: true, - }, - }, - }, - settings: { - mailing: { - newsletter: Boolean, - game: { - delay: Number, - activated: Boolean, - }, - }, - game: { - soundNotification: Boolean, - }, - home: { - showMyGames: { - type: Boolean, - default: true, - }, - }, - }, - security: { - lastIp: { type: String, index: true }, - lastActive: Date, - lastOnline: Date, - lastLogin: { - ip: String, - date: Date, - }, - confirmed: Boolean, - confirmKey: String, - reset: { - key: String, - issued: Date, - }, - slug: { - type: String, - sparse: true, - unique: true, - trim: true, - lowercase: true, - }, - }, - meta: { - nextGameNotification: Date, - lastGameNotification: Date, - }, - authority: String, - }, - { - toJSON: { - transform: (doc, ret) => { - delete ret.account.password; - delete ret.security.confirmKey; - delete (ret.security.reset || {}).key; - return ret; - }, - }, - timestamps: true, - } -); - -// methods ====================== -// generating a hash -schema.method("generateHash", function (this: UserDocument, password: string) { - return bcrypt.hash(password, 8); -}); - -// checking if password is valid -schema.method("validPassword", function (this: UserDocument, password: string) { - return bcrypt.compare(password, this.account.password); -}); - -schema.method("resetPassword", function (this: UserDocument, password: string) { - return this.generateHash(password).then((hash: string) => { - return this.update({ - "account.password": hash, - "security.reset": null, - }); - }); -}); - -schema.method("email", function (this: UserDocument) { - return this.account.email; -}); - -schema.method("changeEmail", async function (this: UserDocument, email: string) { - assert(!this.isSocialAccount(), "You can't change the email of a social account."); - - assert(!(await User.findByEmail(email)), "User with this email already exists."); - - this.account.email = email; - this.security.confirmed = false; - this.generateConfirmKey(); - - await this.update({ - "account.email": email, - "security.confirmed": false, - "security.confirmKey": this.security.confirmKey, - }); -}); - -schema.method("publicInfo", function (this: UserDocument) { - return pick(this, publicInfo); -}); - -schema.static("publicInfo", () => publicInfo); - -schema.method("generateResetLink", async function (this: UserDocument) { - this.security.reset = { - key: secureId(), - issued: new Date(), - }; - - await this.update({ "security.reset": this.security.reset }); -}); - -schema.method("resetKey", function (this: UserDocument) { - return this.security.reset.key; -}); - -schema.method("validateResetKey", function (this: UserDocument, key: string) { - if (!this.security.reset || !this.security.reset.key) { - throw new Error("This user didn't ask for a password reset."); - } - if (this.security.reset.key !== key) { - throw new Error("The reset password link is wrong."); - } - const resetIssued = new Date(this.security.reset.issued); - if (Date.now() - resetIssued.getTime() > 24 * 3600 * 1000) { - throw new Error("The reset link has expired."); - } -}); - -schema.method("generateConfirmKey", function (this: UserDocument) { - this.security.confirmKey = secureId(); -}); - -schema.method("confirmKey", function (this: UserDocument) { - return this.security.confirmKey; -}); - -schema.method("confirm", function (this: UserDocument, key: string) { - if (this.security.confirmed) { - return; - } - assert(key && this.confirmKey() === key, `Wrong confirm link.`); - this.security.confirmed = true; - this.security.confirmKey = null; - - return this.update({ - "security.confirmed": true, - "security.confirmKey": null, - }).exec(); -}); - -schema.method("sendConfirmationEmail", function (this: UserDocument) { - return sendmail({ - from: env.noreply, - to: this.email(), - subject: "Confirm your account", - html: ` - <p>Hello, we're delighted to have a new Gaia Project player among us!</p> - <p>To finish your registration and confirm your account with us at ${env.site}, - click <a href='http://${env.site}/confirm?key=${encodeURIComponent(this.confirmKey())}&email=${encodeURIComponent( - this.email() - )}'>here</a>.</p> - - <p>If you didn't create an account with us, ignore this email.</p>`, - }); -}); - -schema.method("sendMailChangeEmail", function (this: UserDocument, newEmail: string) { - if (!this.email()) { - return Promise.resolve(); - } - - return sendmail({ - from: env.noreply, - to: this.email(), - subject: "Mail change", - html: ` - <p>Hello ${this.account.username},</p> - <p>We're here to send you confirmation of your email change to ${escape(newEmail)}!</p> - <p>If you didn't change your email, please contact us ASAP at ${env.contact}.</p>`, - }); -}); - -schema.method("sendResetEmail", function (this: UserDocument) { - return sendmail({ - from: env.noreply, - to: this.email(), - subject: "Forgotten password", - html: ` - <p>A password reset was asked for your account, - click <a href='http://${env.site}/reset?key=${encodeURIComponent(this.resetKey())}&email=${encodeURIComponent( - this.email() - )}'>here</a> to reset your password.</p> - - <p>If this didn't come from you, ignore this email.</p>`, - }); -}); - -schema.method("sendGameNotificationEmail", async function (this: UserDocument) { - const free = await locks.lock("game-notification", this.id); - try { - // Inside the lock, reload the user - const user = await User.findById(this.id); - - if (!user.settings.mailing.game.activated) { - user.meta.nextGameNotification = undefined; - await user.save(); - return; - } - - if (!user.meta.nextGameNotification) { - return; - } - - if (user.meta.nextGameNotification > new Date()) { - return; - } - - /* check if timer already started was present at the time of the last notification for at least one game*/ - const count = await Game.count({ - currentPlayers: { $elemMatch: { _id: user._id, timerStart: { $lt: user.meta.lastGameNotification } } }, - status: "active", - }).limit(1); - - if (count > 0) { - return; - } - - const activeGames = await Game.findWithPlayersTurn(user.id).select("-data").lean(true); - - if (activeGames.length === 0) { - user.meta.nextGameNotification = undefined; - await user.save(); - return; - } - - /* Check the oldest game where it's your turn */ - let lastMove: Date = new Date(); - for (const game of activeGames) { - const timerStart = game.currentPlayers.find((pl) => pl._id.equals(this.id))?.timerStart; - if (timerStart && timerStart < lastMove) { - lastMove = timerStart; - } - } - - /* Test if we're sending the notification too early */ - const notificationDate = new Date(lastMove.getTime() + (user.settings.mailing.game.delay || 30 * 60) * 1000); - - if (notificationDate > new Date()) { - user.meta.nextGameNotification = notificationDate; - await user.save(); - return; - } - - const gameString = activeGames.length > 1 ? `${activeGames.length} games` : "one game"; - - // Send email - if (this.email() && this.security.confirmed) { - sendmail({ - from: env.noreply, - to: this.email(), - subject: `Your turn`, - html: ` - <p>Hello ${this.account.username}</p> - - <p>It's your turn on ${gameString}, - click <a href='http://${env.site}/user/${encodeURIComponent( - this.account.username - )}'>here</a> to see your active games.</p> - - <p>You can also change your email settings and unsubscribe <a href='http://${ - env.site - }/account'>here</a> with a simple click.</p>`, - }).catch(console.error); - } - - user.meta.nextGameNotification = undefined; - user.meta.lastGameNotification = new Date(Date.now()); - - await user.save(); - } catch (err) { - console.error(err); - } finally { - free().catch(console.error); - } -}); - -schema.method("updateGameNotification", async function (this: UserDocument) { - if (!this.settings.mailing.game.activated) { - return; - } - const date = new Date(Date.now() + (this.settings.mailing.game.delay || 30 * 60) * 1000); - if (!this.meta.nextGameNotification || this.meta.nextGameNotification > date) { - this.meta.nextGameNotification = date; - await this.save(); - } -}); - -schema.method("isSocialAccount", function (this: UserDocument) { - return false; -}); - -schema.method("notifyLogin", function (this: UserDocument, ip: string) { - return this.update({ - "security.lastLogin.date": Date.now(), - "security.lastLogin.ip": ip, - "security.lastIp": ip, - }); -}); - -schema.method("notifyLastIp", async function (this: UserDocument, ip: string) { - const update: { "security.lastIp"?: string; "security.lastActive"?: Date } = {}; - if (this.security.lastIp !== ip) { - this.security.lastIp = ip; - update["security.lastIp"] = ip; - } - if (!this.security.lastActive || Date.now() - this.security.lastActive.getTime() > 60 * 1000) { - this.security.lastActive = new Date(); - update["security.lastActive"] = new Date(); - } - if (!isEmpty(update)) { - await this.update(update); - } -}); - -schema.method("isAdmin", function (this: UserDocument) { - return this.authority === "admin"; -}); - -schema.static("findByUrl", function (this: UserModel, urlComponent: string) { - return this.findById(new Types.ObjectId(urlComponent)); -}); - -schema.static("findByUsername", function (this: UserModel, username: string) { - return this.findOne({ "security.slug": username.toLowerCase().replace(/\s+/, "-") }); -}); - -schema.static("findByEmail", function (this: UserModel, email: string) { - return this.findOne({ "account.email": email.toLowerCase().trim() }); -}); - -schema.method("recalculateKarma", async function (this: UserDocument, since = new Date(0)) { - const games = await Game.find({ "players._id": this._id, lastMove: { $gte: since } }, "status cancelled players", { - lean: true, - }).sort("lastMove"); - - let karma = defaultKarma; - - for (const game of games) { - if (game.players.find((player) => player._id.equals(this._id)).dropped) { - karma -= 10; - } else if (!game.cancelled && game.status === "ended") { - karma = Math.min(karma + 1, maxKarma); - } - } - - this.account.karma = karma; -}); - -schema.pre("save", function (this: UserDocument) { - if (!this.security.slug && this.account.username) { - this.security.slug = this.account.username.toLowerCase().trim().replace(/\s+/g, "-"); - } -}); - -const User = mongoose.model("User", schema); -export { User }; diff --git a/apps/api/app/services/cron.ts b/apps/api/app/services/cron.ts deleted file mode 100644 index 085c29ca..00000000 --- a/apps/api/app/services/cron.ts +++ /dev/null @@ -1,27 +0,0 @@ -import env from "../config/env"; -import { GameNotification, User } from "../models"; -import { cancelOldOpenGames, processSchedulesGames, processUnreadyGames } from "./game"; - -/* Check move deadlines every 10 seconds - only on one thread of the server */ -if (env.cron) { - setInterval(() => GameNotification.processCurrentMove().catch(console.error), 10000); - setInterval(() => GameNotification.processGameEnded().catch(console.error), 10000); - setInterval(() => GameNotification.processPlayerDrop().catch(console.error), 10000); - setInterval(() => processSchedulesGames().catch(console.error), 1000); - setInterval(() => cancelOldOpenGames().catch(console.error), 5000); - setInterval(() => processUnreadyGames().catch(console.error), 10000); -} - -if (env.automatedEmails) { - setInterval(async () => { - try { - const toEmail = await User.find({ "meta.nextGameNotification": { $lte: new Date() } }); - - for (const user of toEmail) { - user.sendGameNotificationEmail().catch((err) => console.error(err)); - } - } catch (err) { - console.error(err); - } - }, 60000); -} diff --git a/apps/api/app/services/game.ts b/apps/api/app/services/game.ts deleted file mode 100644 index 8d05f243..00000000 --- a/apps/api/app/services/game.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { subHours, subWeeks } from "date-fns"; -import { shuffle } from "lodash"; -import locks from "mongo-locks"; -import { ChatMessage, Game, GameDocument, GameNotification } from "../models"; - -export async function notifyGameStart(game: GameDocument) { - if (game.options.setup.playerOrder === "random") { - // Mongoose (5.10.0) will bug if I directly set to the shuffled value (because array item's .get are not set) - const shuffled = shuffle(game.players); - game.players = []; - game.players.push(...shuffled); - await game.save(); - } - - await ChatMessage.create({ room: game._id, type: "system", data: { text: "Game started" } }); - await GameNotification.create({ game: game._id, kind: "gameStarted", processed: false }); -} - -export async function cancelOldOpenGames() { - // Remove live games an hour old - await Game.remove({ - status: "open", - "options.timing.scheduledStart": { $exists: false }, - "options.timing.timePerGame": { $lte: 600 }, - createdAt: { $lt: subHours(Date.now(), 1) }, - }); - - // Remove fast games three hours old - await Game.remove({ - status: "open", - "options.timing.scheduledStart": { $exists: false }, - "options.timing.timePerGame": { $lte: 3600 }, - createdAt: { $lt: subHours(Date.now(), 3) }, - }); - - // Remove games a week old - await Game.remove({ - status: "open", - "options.timing.scheduledStart": { $exists: false }, - createdAt: { $lt: subWeeks(Date.now(), 1) }, - }); -} - -export async function processSchedulesGames() { - const free = await locks.lock("game", "scheduled-games"); - - try { - for await (const game of Game.find({ - status: "open", - "options.timing.scheduledStart": { $lt: new Date() }, - }).cursor()) { - const g: GameDocument = game; - - if (!g.ready) { - await ChatMessage.create({ - room: game._id, - type: "system", - data: { text: "Game cancelled because it's not fully ready at scheduled start date" }, - }); - g.cancelled = true; - g.status = "ended"; - await g.save(); - continue; - } - // Do this to avoid being caught in a loop again, before game server starts the game - g.options.timing.scheduledStart = undefined; - await g.save(); - await notifyGameStart(g); - } - } finally { - free().catch(console.error); - } -} - -export async function processUnreadyGames() { - const games = await Game.find( - { - ready: false, - status: "open", - "currentPlayers.0.deadline": { $lt: Date.now() }, - }, - { _id: 1 } - ).lean(true); - - for (const toFetch of games) { - try { - const free = await locks.lock("game", toFetch._id); - try { - const game = await Game.findById(toFetch._id, { status: 1 }); - - if (game.status === "open") { - await ChatMessage.create({ - room: game._id, - type: "system", - data: { text: "Game cancelled because host didn't set the final options in time" }, - }); - game.cancelled = true; - game.status = "ended"; - await game.save(); - } - } finally { - free().catch(console.error); - } - } catch (err) { - console.error(err); - } - } -} diff --git a/apps/api/app/types.d.ts b/apps/api/app/types.d.ts deleted file mode 100644 index 01a7c414..00000000 --- a/apps/api/app/types.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* eslint-disable */ - -import { GameDocument } from "./models/game"; -import { GameInfoDocument } from "./models/gameinfo"; -import { UserDocument } from "./models/user"; - -declare global { - namespace Application { - export interface DefaultState { - user?: UserDocument; - game?: GameDocument; - foundUser?: UserDocument; - foundBoardgame?: GameInfoDocument; - ip: string; - } - } -} - -// declare module "koa" { -// interface Context { - -// } -// } diff --git a/apps/api/package.json b/apps/api/package.json index 9a29e689..15405798 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -1,8 +1,10 @@ { "name": "@bgs/api", + "packageManager": "pnpm@8.10.5", "version": "1.3.1", "license": "AGPL-3.0", "private": true, + "type": "module", "dependencies": { "@bgs/models": "workspace:*", "@bgs/types": "workspace:*", @@ -12,7 +14,7 @@ "cookie-parser": "^1.4.3", "date-fns": "^2.25.0", "delay": "^3.1.0", - "dotenv": "^5.0.1", + "dotenv": "^16.4.5", "http-errors": "^1.6.3", "jimp": "^0.16.1", "jsonwebtoken": "^8.5.1", @@ -24,22 +26,20 @@ "koa-router": "^8.0.8", "lodash": "^4.17.13", "mailgun-js": "^0.20.0", - "mongo-locks": "^2.0.0", - "mongoose": "^6.0.3", + "mongo-locks": "^3.0.1", + "mongodb": "^6.5.0", "node-cache": "^5.1.0", - "node-fetch": "^2", "passport-discord": "^0.1.4", "passport-facebook": "^3.0.0", "passport-google-oauth20": "^2.0.0", "passport-local": "^1.0.0", "semver": "^7.2.2", "validator": "^9.4.1", - "ws": "^6.0.0" + "ws": "^6.0.0", + "zod": "^3.23.4" }, "devDependencies": { "@types/bcryptjs": "^2.4.1", - "@types/chai": "^4.2.11", - "@types/chai-as-promised": "^7.1.2", "@types/http-errors": "^1.6.1", "@types/jsonwebtoken": "^8.3.9", "@types/koa": "^2.11.3", @@ -52,9 +52,7 @@ "@types/lodash": "^4.14.107", "@types/luxon": "^1.22.0", "@types/mailgun-js": "^0.16.0", - "@types/mocha": "^5.0.0", - "@types/node": "^13.11.1", - "@types/node-fetch": "^2", + "@types/passport": "^1.0.16", "@types/passport-discord": "^0.1.3", "@types/passport-facebook": "^2.1.10", "@types/passport-google-oauth20": "^2.0.3", @@ -62,29 +60,20 @@ "@types/semver": "^7.1.0", "@types/validator": "^9.4.0", "@types/ws": "^6.0.0", - "@typescript-eslint/eslint-plugin": "^4.29.3", - "@typescript-eslint/parser": "^4.29.3", - "axios": "^0.21.1", - "chai": "^4.2.0", - "chai-as-promised": "^7.1.1", - "cross-env": "^7.0.3", - "eslint": "^7.32.0", "koa-cookie": "^1.0.0", "luxon": "^1.23.0", - "mocha": "^7.1.1", - "ts-node": "^10.4.0", - "ts-node-dev": "^1.1.8", - "tsconfig-paths": "^3.12.0", - "typescript": "^4.5.5" + "passport": "^0.6.0", + "type-fest": "^4.18.1" }, "scripts": { - "start": "ts-node -T -r tsconfig-paths/register server.ts || npm start", - "dev": "ts-node-dev -T -r tsconfig-paths/register server.ts", - "seed": "ts-node -T -r tsconfig-paths/register scripts/seed.ts", - "test": "cross-env NODE_ENV=test mocha -r ts-node/register -r tsconfig-paths/register --delay **/*.spec.ts", - "test-only": "cross-env NODE_ENV=test mocha -r ts-node/register -r tsconfig-paths/register --delay **/init.spec.ts", - "lint": "eslint server.ts app/**/*.{js,ts,tsx} --fix", - "lint-check": "eslint server.ts app/**/*.{js,ts,tsx} --max-warnings 0", - "tsc": "tsc --noEmit" + "dev": "tsx src/index.ts", + "start": "node dist/server.js", + "test": "vitest run --no-file-parallelism", + "build": "tsc -b && cp -R src/services/templates dist/services", + "lint": "eslint --quiet --fix src", + "lint:check": "eslint src", + "format": "prettier --write .", + "format:check": "prettier --check .", + "seed": "tsx -T scripts/seed.ts" } } diff --git a/apps/api/pnpm-lock.yaml b/apps/api/pnpm-lock.yaml index 7d43db4b..abd402e4 100644 --- a/apps/api/pnpm-lock.yaml +++ b/apps/api/pnpm-lock.yaml @@ -1,223 +1,191 @@ -lockfileVersion: 5.3 - -specifiers: - '@bgs/models': workspace:* - '@bgs/types': workspace:* - '@bgs/utils': workspace:* - '@types/bcryptjs': ^2.4.1 - '@types/chai': ^4.2.11 - '@types/chai-as-promised': ^7.1.2 - '@types/http-errors': ^1.6.1 - '@types/jsonwebtoken': ^8.3.9 - '@types/koa': ^2.11.3 - '@types/koa-bodyparser': ^4.3.0 - '@types/koa-compress': ^2.0.9 - '@types/koa-cookie': ^1.0.0 - '@types/koa-morgan': ^1.0.4 - '@types/koa-passport': ^4.0.2 - '@types/koa-router': ^7.4.0 - '@types/lodash': ^4.14.107 - '@types/luxon': ^1.22.0 - '@types/mailgun-js': ^0.16.0 - '@types/mocha': ^5.0.0 - '@types/node': ^13.11.1 - '@types/node-fetch': ^2 - '@types/passport-discord': ^0.1.3 - '@types/passport-facebook': ^2.1.10 - '@types/passport-google-oauth20': ^2.0.3 - '@types/passport-local': ^1.0.33 - '@types/semver': ^7.1.0 - '@types/validator': ^9.4.0 - '@types/ws': ^6.0.0 - '@typescript-eslint/eslint-plugin': ^4.29.3 - '@typescript-eslint/parser': ^4.29.3 - axios: ^0.21.1 - bcryptjs: ^2.4.3 - chai: ^4.2.0 - chai-as-promised: ^7.1.1 - check-disk-space: ^2.1.0 - cookie-parser: ^1.4.3 - cross-env: ^7.0.3 - date-fns: ^2.25.0 - delay: ^3.1.0 - dotenv: ^5.0.1 - eslint: ^7.32.0 - http-errors: ^1.6.3 - jimp: ^0.16.1 - jsonwebtoken: ^8.5.1 - koa: ^2.11.0 - koa-bodyparser: ^4.3.0 - koa-compress: ^3.0.0 - koa-cookie: ^1.0.0 - koa-morgan: ^1.0.1 - koa-passport: ^4.1.3 - koa-router: ^8.0.8 - lodash: ^4.17.13 - luxon: ^1.23.0 - mailgun-js: ^0.20.0 - mocha: ^7.1.1 - mongo-locks: ^2.0.0 - mongoose: ^6.0.3 - node-cache: ^5.1.0 - node-fetch: ^2 - passport-discord: ^0.1.4 - passport-facebook: ^3.0.0 - passport-google-oauth20: ^2.0.0 - passport-local: ^1.0.0 - semver: ^7.2.2 - ts-node: ^10.4.0 - ts-node-dev: ^1.1.8 - tsconfig-paths: ^3.12.0 - typescript: ^4.5.5 - validator: ^9.4.1 - ws: ^6.0.0 +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false dependencies: - '@bgs/models': link:../../packages/models - '@bgs/types': link:../../packages/types - '@bgs/utils': link:../../packages/utils - bcryptjs: 2.4.3 - check-disk-space: 2.1.0 - cookie-parser: 1.4.5 - date-fns: 2.25.0 - delay: 3.1.0 - dotenv: 5.0.1 - http-errors: 1.8.0 - jimp: 0.16.1 - jsonwebtoken: 8.5.1 - koa: 2.13.1 - koa-bodyparser: 4.3.0 - koa-compress: 3.1.0 - koa-morgan: 1.0.1 - koa-passport: 4.1.3 - koa-router: 8.0.8 - lodash: 4.17.20 - mailgun-js: 0.20.0 - mongo-locks: 2.0.0_mongoose@6.0.3 - mongoose: 6.0.3 - node-cache: 5.1.2 - node-fetch: 2.6.6 - passport-discord: 0.1.4 - passport-facebook: 3.0.0 - passport-google-oauth20: 2.0.0 - passport-local: 1.0.0 - semver: 7.3.4 - validator: 9.4.1 - ws: 6.2.1 + '@bgs/models': + specifier: workspace:* + version: link:../../packages/models + '@bgs/types': + specifier: workspace:* + version: link:../../packages/types + '@bgs/utils': + specifier: workspace:* + version: link:../../packages/utils + bcryptjs: + specifier: ^2.4.3 + version: 2.4.3 + check-disk-space: + specifier: ^2.1.0 + version: 2.1.0 + cookie-parser: + specifier: ^1.4.3 + version: 1.4.5 + date-fns: + specifier: ^2.25.0 + version: 2.25.0 + delay: + specifier: ^3.1.0 + version: 3.1.0 + dotenv: + specifier: ^16.4.5 + version: 16.4.5 + http-errors: + specifier: ^1.6.3 + version: 1.8.0 + jimp: + specifier: ^0.16.1 + version: 0.16.1 + jsonwebtoken: + specifier: ^8.5.1 + version: 8.5.1 + koa: + specifier: ^2.11.0 + version: 2.13.1 + koa-bodyparser: + specifier: ^4.3.0 + version: 4.3.0 + koa-compress: + specifier: ^3.0.0 + version: 3.1.0 + koa-morgan: + specifier: ^1.0.1 + version: 1.0.1 + koa-passport: + specifier: ^4.1.3 + version: 4.1.3 + koa-router: + specifier: ^8.0.8 + version: 8.0.8 + lodash: + specifier: ^4.17.13 + version: 4.17.20 + mailgun-js: + specifier: ^0.20.0 + version: 0.20.0 + mongo-locks: + specifier: ^3.0.1 + version: 3.0.1(mongodb@6.5.0) + mongodb: + specifier: ^6.5.0 + version: 6.5.0 + node-cache: + specifier: ^5.1.0 + version: 5.1.2 + passport-discord: + specifier: ^0.1.4 + version: 0.1.4 + passport-facebook: + specifier: ^3.0.0 + version: 3.0.0 + passport-google-oauth20: + specifier: ^2.0.0 + version: 2.0.0 + passport-local: + specifier: ^1.0.0 + version: 1.0.0 + semver: + specifier: ^7.2.2 + version: 7.3.4 + validator: + specifier: ^9.4.1 + version: 9.4.1 + ws: + specifier: ^6.0.0 + version: 6.2.1 + zod: + specifier: ^3.23.4 + version: 3.23.4 devDependencies: - '@types/bcryptjs': 2.4.2 - '@types/chai': 4.2.14 - '@types/chai-as-promised': 7.1.3 - '@types/http-errors': 1.8.0 - '@types/jsonwebtoken': 8.5.0 - '@types/koa': 2.11.6 - '@types/koa-bodyparser': 4.3.0 - '@types/koa-compress': 2.0.9 - '@types/koa-cookie': 1.0.0 - '@types/koa-morgan': 1.0.4 - '@types/koa-passport': 4.0.2 - '@types/koa-router': 7.4.1 - '@types/lodash': 4.14.168 - '@types/luxon': 1.25.1 - '@types/mailgun-js': 0.16.4 - '@types/mocha': 5.2.7 - '@types/node': 13.13.40 - '@types/node-fetch': 2.5.12 - '@types/passport-discord': 0.1.3 - '@types/passport-facebook': 2.1.10 - '@types/passport-google-oauth20': 2.0.6 - '@types/passport-local': 1.0.33 - '@types/semver': 7.3.4 - '@types/validator': 9.4.4 - '@types/ws': 6.0.4 - '@typescript-eslint/eslint-plugin': 4.29.3_a1c0deff3aa2dc57e85d43002a00e2a8 - '@typescript-eslint/parser': 4.29.3_eslint@7.32.0+typescript@4.5.5 - axios: 0.21.1 - chai: 4.2.0 - chai-as-promised: 7.1.1_chai@4.2.0 - cross-env: 7.0.3 - eslint: 7.32.0 - koa-cookie: 1.0.0 - luxon: 1.25.0 - mocha: 7.2.0 - ts-node: 10.4.0_00b9008703accb2bb5af089524de17b9 - ts-node-dev: 1.1.8_typescript@4.5.5 - tsconfig-paths: 3.12.0 - typescript: 4.5.5 + '@types/bcryptjs': + specifier: ^2.4.1 + version: 2.4.2 + '@types/http-errors': + specifier: ^1.6.1 + version: 1.8.0 + '@types/jsonwebtoken': + specifier: ^8.3.9 + version: 8.5.0 + '@types/koa': + specifier: ^2.11.3 + version: 2.11.6 + '@types/koa-bodyparser': + specifier: ^4.3.0 + version: 4.3.0 + '@types/koa-compress': + specifier: ^2.0.9 + version: 2.0.9 + '@types/koa-cookie': + specifier: ^1.0.0 + version: 1.0.0 + '@types/koa-morgan': + specifier: ^1.0.4 + version: 1.0.4 + '@types/koa-passport': + specifier: ^4.0.2 + version: 4.0.2 + '@types/koa-router': + specifier: ^7.4.0 + version: 7.4.1 + '@types/lodash': + specifier: ^4.14.107 + version: 4.14.168 + '@types/luxon': + specifier: ^1.22.0 + version: 1.25.1 + '@types/mailgun-js': + specifier: ^0.16.0 + version: 0.16.4 + '@types/passport': + specifier: ^1.0.16 + version: 1.0.16 + '@types/passport-discord': + specifier: ^0.1.3 + version: 0.1.3 + '@types/passport-facebook': + specifier: ^2.1.10 + version: 2.1.10 + '@types/passport-google-oauth20': + specifier: ^2.0.3 + version: 2.0.6 + '@types/passport-local': + specifier: ^1.0.33 + version: 1.0.33 + '@types/semver': + specifier: ^7.1.0 + version: 7.3.4 + '@types/validator': + specifier: ^9.4.0 + version: 9.4.4 + '@types/ws': + specifier: ^6.0.0 + version: 6.0.4 + koa-cookie: + specifier: ^1.0.0 + version: 1.0.0 + luxon: + specifier: ^1.23.0 + version: 1.25.0 + passport: + specifier: ^0.6.0 + version: 0.6.0 + type-fest: + specifier: ^4.18.1 + version: 4.18.1 packages: - /@babel/code-frame/7.12.11: - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} - dependencies: - '@babel/highlight': 7.10.4 - dev: true - - /@babel/helper-validator-identifier/7.12.11: - resolution: {integrity: sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==} - dev: true - - /@babel/highlight/7.10.4: - resolution: {integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==} - dependencies: - '@babel/helper-validator-identifier': 7.12.11 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - - /@babel/runtime/7.16.7: + /@babel/runtime@7.16.7: resolution: {integrity: sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.9 dev: false - /@cspotcode/source-map-consumer/0.8.0: - resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==} - engines: {node: '>= 12'} - dev: true - - /@cspotcode/source-map-support/0.7.0: - resolution: {integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==} - engines: {node: '>=12'} - dependencies: - '@cspotcode/source-map-consumer': 0.8.0 - dev: true - - /@eslint/eslintrc/0.4.3: - resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.1 - espree: 7.3.1 - globals: 13.11.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - js-yaml: 3.14.1 - minimatch: 3.0.4 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/config-array/0.5.0: - resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.0 - debug: 4.3.1 - minimatch: 3.0.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/object-schema/1.2.0: - resolution: {integrity: sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==} - dev: true - - /@jimp/bmp/0.16.1_@jimp+custom@0.16.1: + /@jimp/bmp@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -228,7 +196,7 @@ packages: bmp-js: 0.1.0 dev: false - /@jimp/core/0.16.1: + /@jimp/core@0.16.1: resolution: {integrity: sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==} dependencies: '@babel/runtime': 7.16.7 @@ -244,14 +212,14 @@ packages: tinycolor2: 1.4.2 dev: false - /@jimp/custom/0.16.1: + /@jimp/custom@0.16.1: resolution: {integrity: sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==} dependencies: '@babel/runtime': 7.16.7 '@jimp/core': 0.16.1 dev: false - /@jimp/gif/0.16.1_@jimp+custom@0.16.1: + /@jimp/gif@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -263,7 +231,7 @@ packages: omggif: 1.0.10 dev: false - /@jimp/jpeg/0.16.1_@jimp+custom@0.16.1: + /@jimp/jpeg@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -274,7 +242,7 @@ packages: jpeg-js: 0.4.2 dev: false - /@jimp/plugin-blit/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-blit@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -284,7 +252,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-blur/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-blur@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -294,7 +262,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-circle/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-circle@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -304,7 +272,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-color/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-color@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -315,7 +283,7 @@ packages: tinycolor2: 1.4.2 dev: false - /@jimp/plugin-contain/0.16.1_38e919e7cde018834207f15ee7b0ce6a: + /@jimp/plugin-contain@0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-blit@0.16.1)(@jimp/plugin-resize@0.16.1)(@jimp/plugin-scale@0.16.1): resolution: {integrity: sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -325,13 +293,13 @@ packages: dependencies: '@babel/runtime': 7.16.7 '@jimp/custom': 0.16.1 - '@jimp/plugin-blit': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-resize': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-scale': 0.16.1_c382371bb4f60ea2fd211a04ed8ab1e2 + '@jimp/plugin-blit': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-resize': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-scale': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-resize@0.16.1) '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-cover/0.16.1_3d13feed36f5fd86198de47b78b25314: + /@jimp/plugin-cover@0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-crop@0.16.1)(@jimp/plugin-resize@0.16.1)(@jimp/plugin-scale@0.16.1): resolution: {integrity: sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -341,13 +309,13 @@ packages: dependencies: '@babel/runtime': 7.16.7 '@jimp/custom': 0.16.1 - '@jimp/plugin-crop': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-resize': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-scale': 0.16.1_c382371bb4f60ea2fd211a04ed8ab1e2 + '@jimp/plugin-crop': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-resize': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-scale': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-resize@0.16.1) '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-crop/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-crop@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -357,7 +325,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-displace/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-displace@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -367,7 +335,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-dither/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-dither@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -377,7 +345,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-fisheye/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-fisheye@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -387,7 +355,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-flip/0.16.1_205f1d9ec51496ff93f52ac5618c3660: + /@jimp/plugin-flip@0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-rotate@0.16.1): resolution: {integrity: sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -395,11 +363,11 @@ packages: dependencies: '@babel/runtime': 7.16.7 '@jimp/custom': 0.16.1 - '@jimp/plugin-rotate': 0.16.1_37f4bc9bbdbf41c03b931ee8408b3361 + '@jimp/plugin-rotate': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-blit@0.16.1)(@jimp/plugin-crop@0.16.1)(@jimp/plugin-resize@0.16.1) '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-gaussian/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-gaussian@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -409,7 +377,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-invert/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-invert@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -419,7 +387,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-mask/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-mask@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -429,7 +397,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-normalize/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-normalize@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -439,7 +407,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-print/0.16.1_5191b610a3eb861d3baa10a735e89ecc: + /@jimp/plugin-print@0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-blit@0.16.1): resolution: {integrity: sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -447,12 +415,12 @@ packages: dependencies: '@babel/runtime': 7.16.7 '@jimp/custom': 0.16.1 - '@jimp/plugin-blit': 0.16.1_@jimp+custom@0.16.1 + '@jimp/plugin-blit': 0.16.1(@jimp/custom@0.16.1) '@jimp/utils': 0.16.1 load-bmfont: 1.4.1 dev: false - /@jimp/plugin-resize/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugin-resize@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -462,7 +430,7 @@ packages: '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-rotate/0.16.1_37f4bc9bbdbf41c03b931ee8408b3361: + /@jimp/plugin-rotate@0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-blit@0.16.1)(@jimp/plugin-crop@0.16.1)(@jimp/plugin-resize@0.16.1): resolution: {integrity: sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -472,13 +440,13 @@ packages: dependencies: '@babel/runtime': 7.16.7 '@jimp/custom': 0.16.1 - '@jimp/plugin-blit': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-crop': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-resize': 0.16.1_@jimp+custom@0.16.1 + '@jimp/plugin-blit': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-crop': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-resize': 0.16.1(@jimp/custom@0.16.1) '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-scale/0.16.1_c382371bb4f60ea2fd211a04ed8ab1e2: + /@jimp/plugin-scale@0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-resize@0.16.1): resolution: {integrity: sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -486,11 +454,11 @@ packages: dependencies: '@babel/runtime': 7.16.7 '@jimp/custom': 0.16.1 - '@jimp/plugin-resize': 0.16.1_@jimp+custom@0.16.1 + '@jimp/plugin-resize': 0.16.1(@jimp/custom@0.16.1) '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-shadow/0.16.1_82540ab48d5f83680494f34d0dac907f: + /@jimp/plugin-shadow@0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-blur@0.16.1)(@jimp/plugin-resize@0.16.1): resolution: {integrity: sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -499,12 +467,12 @@ packages: dependencies: '@babel/runtime': 7.16.7 '@jimp/custom': 0.16.1 - '@jimp/plugin-blur': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-resize': 0.16.1_@jimp+custom@0.16.1 + '@jimp/plugin-blur': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-resize': 0.16.1(@jimp/custom@0.16.1) '@jimp/utils': 0.16.1 dev: false - /@jimp/plugin-threshold/0.16.1_ec0c83f3603149a8780f87045f821922: + /@jimp/plugin-threshold@0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-color@0.16.1)(@jimp/plugin-resize@0.16.1): resolution: {integrity: sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -513,43 +481,43 @@ packages: dependencies: '@babel/runtime': 7.16.7 '@jimp/custom': 0.16.1 - '@jimp/plugin-color': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-resize': 0.16.1_@jimp+custom@0.16.1 + '@jimp/plugin-color': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-resize': 0.16.1(@jimp/custom@0.16.1) '@jimp/utils': 0.16.1 dev: false - /@jimp/plugins/0.16.1_@jimp+custom@0.16.1: + /@jimp/plugins@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==} peerDependencies: '@jimp/custom': '>=0.3.5' dependencies: '@babel/runtime': 7.16.7 '@jimp/custom': 0.16.1 - '@jimp/plugin-blit': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-blur': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-circle': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-color': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-contain': 0.16.1_38e919e7cde018834207f15ee7b0ce6a - '@jimp/plugin-cover': 0.16.1_3d13feed36f5fd86198de47b78b25314 - '@jimp/plugin-crop': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-displace': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-dither': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-fisheye': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-flip': 0.16.1_205f1d9ec51496ff93f52ac5618c3660 - '@jimp/plugin-gaussian': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-invert': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-mask': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-normalize': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-print': 0.16.1_5191b610a3eb861d3baa10a735e89ecc - '@jimp/plugin-resize': 0.16.1_@jimp+custom@0.16.1 - '@jimp/plugin-rotate': 0.16.1_37f4bc9bbdbf41c03b931ee8408b3361 - '@jimp/plugin-scale': 0.16.1_c382371bb4f60ea2fd211a04ed8ab1e2 - '@jimp/plugin-shadow': 0.16.1_82540ab48d5f83680494f34d0dac907f - '@jimp/plugin-threshold': 0.16.1_ec0c83f3603149a8780f87045f821922 + '@jimp/plugin-blit': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-blur': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-circle': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-color': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-contain': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-blit@0.16.1)(@jimp/plugin-resize@0.16.1)(@jimp/plugin-scale@0.16.1) + '@jimp/plugin-cover': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-crop@0.16.1)(@jimp/plugin-resize@0.16.1)(@jimp/plugin-scale@0.16.1) + '@jimp/plugin-crop': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-displace': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-dither': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-fisheye': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-flip': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-rotate@0.16.1) + '@jimp/plugin-gaussian': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-invert': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-mask': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-normalize': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-print': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-blit@0.16.1) + '@jimp/plugin-resize': 0.16.1(@jimp/custom@0.16.1) + '@jimp/plugin-rotate': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-blit@0.16.1)(@jimp/plugin-crop@0.16.1)(@jimp/plugin-resize@0.16.1) + '@jimp/plugin-scale': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-resize@0.16.1) + '@jimp/plugin-shadow': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-blur@0.16.1)(@jimp/plugin-resize@0.16.1) + '@jimp/plugin-threshold': 0.16.1(@jimp/custom@0.16.1)(@jimp/plugin-color@0.16.1)(@jimp/plugin-resize@0.16.1) timm: 1.7.1 dev: false - /@jimp/png/0.16.1_@jimp+custom@0.16.1: + /@jimp/png@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -560,7 +528,7 @@ packages: pngjs: 3.4.0 dev: false - /@jimp/tiff/0.16.1_@jimp+custom@0.16.1: + /@jimp/tiff@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==} peerDependencies: '@jimp/custom': '>=0.3.5' @@ -570,103 +538,62 @@ packages: utif: 2.0.1 dev: false - /@jimp/types/0.16.1_@jimp+custom@0.16.1: + /@jimp/types@0.16.1(@jimp/custom@0.16.1): resolution: {integrity: sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==} peerDependencies: '@jimp/custom': '>=0.3.5' dependencies: '@babel/runtime': 7.16.7 - '@jimp/bmp': 0.16.1_@jimp+custom@0.16.1 + '@jimp/bmp': 0.16.1(@jimp/custom@0.16.1) '@jimp/custom': 0.16.1 - '@jimp/gif': 0.16.1_@jimp+custom@0.16.1 - '@jimp/jpeg': 0.16.1_@jimp+custom@0.16.1 - '@jimp/png': 0.16.1_@jimp+custom@0.16.1 - '@jimp/tiff': 0.16.1_@jimp+custom@0.16.1 + '@jimp/gif': 0.16.1(@jimp/custom@0.16.1) + '@jimp/jpeg': 0.16.1(@jimp/custom@0.16.1) + '@jimp/png': 0.16.1(@jimp/custom@0.16.1) + '@jimp/tiff': 0.16.1(@jimp/custom@0.16.1) timm: 1.7.1 dev: false - /@jimp/utils/0.16.1: + /@jimp/utils@0.16.1: resolution: {integrity: sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==} dependencies: '@babel/runtime': 7.16.7 regenerator-runtime: 0.13.9 dev: false - /@nodelib/fs.scandir/2.1.4: - resolution: {integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.4 - run-parallel: 1.1.10 - dev: true - - /@nodelib/fs.stat/2.0.4: - resolution: {integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk/1.2.6: - resolution: {integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==} - engines: {node: '>= 8'} + /@mongodb-js/saslprep@1.1.5: + resolution: {integrity: sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==} dependencies: - '@nodelib/fs.scandir': 2.1.4 - fastq: 1.10.0 - dev: true - - /@tsconfig/node10/1.0.8: - resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} - dev: true - - /@tsconfig/node12/1.0.9: - resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} - dev: true - - /@tsconfig/node14/1.0.1: - resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} - dev: true - - /@tsconfig/node16/1.0.2: - resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} - dev: true + sparse-bitfield: 3.0.3 + dev: false - /@types/accepts/1.3.5: + /@types/accepts@1.3.5: resolution: {integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==} dependencies: '@types/node': 13.13.40 dev: true - /@types/bcryptjs/2.4.2: + /@types/bcryptjs@2.4.2: resolution: {integrity: sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==} dev: true - /@types/body-parser/1.19.0: + /@types/body-parser@1.19.0: resolution: {integrity: sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==} dependencies: '@types/connect': 3.4.34 '@types/node': 13.13.40 dev: true - /@types/chai-as-promised/7.1.3: - resolution: {integrity: sha512-FQnh1ohPXJELpKhzjuDkPLR2BZCAqed+a6xV4MI/T3XzHfd2FlarfUGUdZYgqYe8oxkYn0fchHEeHfHqdZ96sg==} - dependencies: - '@types/chai': 4.2.14 - dev: true - - /@types/chai/4.2.14: - resolution: {integrity: sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ==} - dev: true - - /@types/connect/3.4.34: + /@types/connect@3.4.34: resolution: {integrity: sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==} dependencies: '@types/node': 13.13.40 dev: true - /@types/content-disposition/0.5.3: + /@types/content-disposition@0.5.3: resolution: {integrity: sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg==} dev: true - /@types/cookies/0.7.6: + /@types/cookies@0.7.6: resolution: {integrity: sha512-FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w==} dependencies: '@types/connect': 3.4.34 @@ -675,7 +602,7 @@ packages: '@types/node': 13.13.40 dev: true - /@types/express-serve-static-core/4.17.18: + /@types/express-serve-static-core@4.17.18: resolution: {integrity: sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==} dependencies: '@types/node': 13.13.40 @@ -683,7 +610,7 @@ packages: '@types/range-parser': 1.2.3 dev: true - /@types/express/4.17.11: + /@types/express@4.17.11: resolution: {integrity: sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==} dependencies: '@types/body-parser': 1.19.0 @@ -692,78 +619,70 @@ packages: '@types/serve-static': 1.13.9 dev: true - /@types/http-assert/1.5.1: + /@types/http-assert@1.5.1: resolution: {integrity: sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==} dev: true - /@types/http-errors/1.8.0: + /@types/http-errors@1.8.0: resolution: {integrity: sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA==} dev: true - /@types/json-schema/7.0.7: - resolution: {integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==} - dev: true - - /@types/json5/0.0.29: - resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} - dev: true - - /@types/jsonwebtoken/8.5.0: + /@types/jsonwebtoken@8.5.0: resolution: {integrity: sha512-9bVao7LvyorRGZCw0VmH/dr7Og+NdjYSsKAxB43OQoComFbBgsEpoR9JW6+qSq/ogwVBg8GI2MfAlk4SYI4OLg==} dependencies: '@types/node': 13.13.40 dev: true - /@types/keygrip/1.0.2: + /@types/keygrip@1.0.2: resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==} dev: true - /@types/koa-bodyparser/4.3.0: + /@types/koa-bodyparser@4.3.0: resolution: {integrity: sha512-aB/vwwq4G9FAtKzqZ2p8UHTscXxZvICFKVjuckqxCtkX1Ro7F5KHkTCUqTRZFBgDoEkmeca+bFLI1bIsdPPZTA==} dependencies: '@types/koa': 2.11.6 dev: true - /@types/koa-compose/3.2.5: + /@types/koa-compose@3.2.5: resolution: {integrity: sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==} dependencies: '@types/koa': 2.11.6 dev: true - /@types/koa-compress/2.0.9: + /@types/koa-compress@2.0.9: resolution: {integrity: sha512-1Sa9OsbHd2N2N7gLpdIRHe8W99EZbfIR31D7Iisx16XgwZCnWUtGXzXQejhu74Y1pE/wILqBP6VL49ch/MVpZw==} dependencies: '@types/koa': 2.11.6 '@types/node': 13.13.40 dev: true - /@types/koa-cookie/1.0.0: + /@types/koa-cookie@1.0.0: resolution: {integrity: sha512-0YTUgGqXlyVV2zYkDaDr5KNOXLki3ZqHP3adtlcz8+Fh94vzLfv8mnlxzDpfHuj//bIkwsh2zHVzdNrurUIKvA==} dependencies: '@types/koa': 2.11.6 dev: true - /@types/koa-morgan/1.0.4: + /@types/koa-morgan@1.0.4: resolution: {integrity: sha512-XtZu6La4TopP6ZlCGNqg0hTsBAwbTP2tMb93cuDdE285WofP/Ould/tFwSvSHEr0Dxger2P+ovI1uvF3XZev8Q==} dependencies: '@types/koa': 2.11.6 '@types/morgan': 1.9.2 dev: true - /@types/koa-passport/4.0.2: + /@types/koa-passport@4.0.2: resolution: {integrity: sha512-WDQhhOW+coTCe//wTaPViim9oodEuAscXiwDUSRlcNH2j7MYa4bqlLq3UdkUp5rY/b0wE4blkBxI90jpwEc1Mg==} dependencies: '@types/koa': 2.11.6 - '@types/passport': 1.0.5 + '@types/passport': 1.0.16 dev: true - /@types/koa-router/7.4.1: + /@types/koa-router@7.4.1: resolution: {integrity: sha512-Hg78TXz78QYfEgdq3nTeRmQFEwJKZljsXb/DhtexmyrpRDRnl59oMglh9uPj3/WgKor0woANrYTnxA8gaWGK2A==} dependencies: '@types/koa': 2.11.6 dev: true - /@types/koa/2.11.6: + /@types/koa@2.11.6: resolution: {integrity: sha512-BhyrMj06eQkk04C97fovEDQMpLpd2IxCB4ecitaXwOKGq78Wi2tooaDOWOFGajPk8IkQOAtMppApgSVkYe1F/A==} dependencies: '@types/accepts': 1.3.5 @@ -776,256 +695,132 @@ packages: '@types/node': 13.13.40 dev: true - /@types/lodash/4.14.168: + /@types/lodash@4.14.168: resolution: {integrity: sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==} dev: true - /@types/luxon/1.25.1: + /@types/luxon@1.25.1: resolution: {integrity: sha512-enkMO4WJcbdkhK1eZrItF616buau02wtrSN+DDt9Qj9U23boSAXNJm0fMlgwpTDaRHq3S0D/SPIRbxy4YxBjiA==} dev: true - /@types/mailgun-js/0.16.4: + /@types/mailgun-js@0.16.4: resolution: {integrity: sha512-KM6/7g7ux29LoeuVsePqvd4WjvSGBmxc6ewS94GS68w673Gyo1JIP4oF/dhoRhIT+zIe+T/3LNXK9u2czWDLOA==} dependencies: '@types/node': 13.13.40 dev: true - /@types/mime/1.3.2: + /@types/mime@1.3.2: resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} dev: true - /@types/mocha/5.2.7: - resolution: {integrity: sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==} - dev: true - - /@types/morgan/1.9.2: + /@types/morgan@1.9.2: resolution: {integrity: sha512-edtGMEdit146JwwIeyQeHHg9yID4WSolQPxpEorHmN3KuytuCHyn2ELNr5Uxy8SerniFbbkmgKMrGM933am5BQ==} dependencies: '@types/node': 13.13.40 dev: true - /@types/node-fetch/2.5.12: - resolution: {integrity: sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==} - dependencies: - '@types/node': 13.13.40 - form-data: 3.0.1 - dev: true - - /@types/node/13.13.40: + /@types/node@13.13.40: resolution: {integrity: sha512-eKaRo87lu1yAXrzEJl0zcJxfUMDT5/mZalFyOkT44rnQps41eS2pfWzbaulSPpQLFNy29bFqn+Y5lOTL8ATlEQ==} + dev: true - /@types/oauth/0.9.1: + /@types/oauth@0.9.1: resolution: {integrity: sha512-a1iY62/a3yhZ7qH7cNUsxoI3U/0Fe9+RnuFrpTKr+0WVOzbKlSLojShCKe20aOD1Sppv+i8Zlq0pLDuTJnwS4A==} dependencies: '@types/node': 13.13.40 dev: true - /@types/passport-discord/0.1.3: + /@types/passport-discord@0.1.3: resolution: {integrity: sha512-IQiIF+QAWzAqOKuUJvnMyEeTF6ib9DwjQpOODWawB+cxNiv2Om5csdhX+eLyKRhMtnW4+Em8AMGFunwvB859eQ==} dependencies: '@types/express': 4.17.11 - '@types/passport': 1.0.5 + '@types/passport': 1.0.16 '@types/passport-oauth2': 1.4.10 dev: true - /@types/passport-facebook/2.1.10: + /@types/passport-facebook@2.1.10: resolution: {integrity: sha512-qIgUGdf8ZN0ljRuFtOCLaN4r5WFo1Adk+hAbflOEKRJra+odp2zKGZYClPdJOR9daKydY1nVEaTk2ojyob//VA==} dependencies: '@types/express': 4.17.11 - '@types/passport': 1.0.5 + '@types/passport': 1.0.16 dev: true - /@types/passport-google-oauth20/2.0.6: + /@types/passport-google-oauth20@2.0.6: resolution: {integrity: sha512-YcNwWEReZ5M4QX1/2T3VPEgv19hzSFLaI+Qy66e8UtEIwCbTyohcigeEr1vGvzrCYcVCyhXGT7+lShXViSL+zw==} dependencies: '@types/express': 4.17.11 - '@types/passport': 1.0.5 + '@types/passport': 1.0.16 '@types/passport-oauth2': 1.4.10 dev: true - /@types/passport-local/1.0.33: + /@types/passport-local@1.0.33: resolution: {integrity: sha512-+rn6ZIxje0jZ2+DAiWFI8vGG7ZFKB0hXx2cUdMmudSWsigSq6ES7Emso46r4HJk0qCgrZVfI8sJiM7HIYf4SbA==} dependencies: '@types/express': 4.17.11 - '@types/passport': 1.0.5 + '@types/passport': 1.0.16 '@types/passport-strategy': 0.2.35 dev: true - /@types/passport-oauth2/1.4.10: + /@types/passport-oauth2@1.4.10: resolution: {integrity: sha512-klShWm9xAqjM3rU31KyMMiB9M8jmJPkStUvCJ/kIv73/Vh3OVnfeTExrkMCM2wA+94MliExqwHVL3J0WD2kbnQ==} dependencies: '@types/express': 4.17.11 '@types/oauth': 0.9.1 - '@types/passport': 1.0.5 + '@types/passport': 1.0.16 dev: true - /@types/passport-strategy/0.2.35: + /@types/passport-strategy@0.2.35: resolution: {integrity: sha512-o5D19Jy2XPFoX2rKApykY15et3Apgax00RRLf0RUotPDUsYrQa7x4howLYr9El2mlUApHmCMv5CZ1IXqKFQ2+g==} dependencies: '@types/express': 4.17.11 - '@types/passport': 1.0.5 + '@types/passport': 1.0.16 dev: true - /@types/passport/1.0.5: - resolution: {integrity: sha512-wNL4kT/5rnZgyGkqX7V2qH/R/te+bklv+nXcvHzyX99vNggx9DGN+F8CEOW3P/gRi7Cjm991uidRgTHsYkSuMg==} + /@types/passport@1.0.16: + resolution: {integrity: sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A==} dependencies: '@types/express': 4.17.11 dev: true - /@types/qs/6.9.5: + /@types/qs@6.9.5: resolution: {integrity: sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==} dev: true - /@types/range-parser/1.2.3: + /@types/range-parser@1.2.3: resolution: {integrity: sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==} dev: true - /@types/semver/7.3.4: + /@types/semver@7.3.4: resolution: {integrity: sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==} dev: true - /@types/serve-static/1.13.9: + /@types/serve-static@1.13.9: resolution: {integrity: sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==} dependencies: '@types/mime': 1.3.2 '@types/node': 13.13.40 dev: true - /@types/strip-bom/3.0.0: - resolution: {integrity: sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=} - dev: true - - /@types/strip-json-comments/0.0.30: - resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==} - dev: true - - /@types/validator/9.4.4: + /@types/validator@9.4.4: resolution: {integrity: sha512-7bWNKQ3lDMhRS2lxe1aHGTBijZ/a6wQfZmCtKJDefpb81sYd+FrfNqj6Gda1Tcw8bYK0gG1CVuNLWV2JS7K8Dw==} dev: true - /@types/webidl-conversions/6.1.1: + /@types/webidl-conversions@6.1.1: resolution: {integrity: sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==} dev: false - /@types/whatwg-url/8.2.1: - resolution: {integrity: sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==} + /@types/whatwg-url@11.0.4: + resolution: {integrity: sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==} dependencies: - '@types/node': 13.13.40 '@types/webidl-conversions': 6.1.1 dev: false - /@types/ws/6.0.4: + /@types/ws@6.0.4: resolution: {integrity: sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==} dependencies: '@types/node': 13.13.40 dev: true - /@typescript-eslint/eslint-plugin/4.29.3_a1c0deff3aa2dc57e85d43002a00e2a8: - resolution: {integrity: sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - '@typescript-eslint/parser': ^4.0.0 - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/experimental-utils': 4.29.3_eslint@7.32.0+typescript@4.5.5 - '@typescript-eslint/parser': 4.29.3_eslint@7.32.0+typescript@4.5.5 - '@typescript-eslint/scope-manager': 4.29.3 - debug: 4.3.1 - eslint: 7.32.0 - functional-red-black-tree: 1.0.1 - regexpp: 3.1.0 - semver: 7.3.5 - tsutils: 3.21.0_typescript@4.5.5 - typescript: 4.5.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/experimental-utils/4.29.3_eslint@7.32.0+typescript@4.5.5: - resolution: {integrity: sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: '*' - dependencies: - '@types/json-schema': 7.0.7 - '@typescript-eslint/scope-manager': 4.29.3 - '@typescript-eslint/types': 4.29.3 - '@typescript-eslint/typescript-estree': 4.29.3_typescript@4.5.5 - eslint: 7.32.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@7.32.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/parser/4.29.3_eslint@7.32.0+typescript@4.5.5: - resolution: {integrity: sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 4.29.3 - '@typescript-eslint/types': 4.29.3 - '@typescript-eslint/typescript-estree': 4.29.3_typescript@4.5.5 - debug: 4.3.1 - eslint: 7.32.0 - typescript: 4.5.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager/4.29.3: - resolution: {integrity: sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dependencies: - '@typescript-eslint/types': 4.29.3 - '@typescript-eslint/visitor-keys': 4.29.3 - dev: true - - /@typescript-eslint/types/4.29.3: - resolution: {integrity: sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dev: true - - /@typescript-eslint/typescript-estree/4.29.3_typescript@4.5.5: - resolution: {integrity: sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 4.29.3 - '@typescript-eslint/visitor-keys': 4.29.3 - debug: 4.3.1 - globby: 11.0.4 - is-glob: 4.0.1 - semver: 7.3.5 - tsutils: 3.21.0_typescript@4.5.5 - typescript: 4.5.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/visitor-keys/4.29.3: - resolution: {integrity: sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dependencies: - '@typescript-eslint/types': 4.29.3 - eslint-visitor-keys: 2.0.0 - dev: true - - /accepts/1.3.7: + /accepts@1.3.7: resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} engines: {node: '>= 0.6'} dependencies: @@ -1033,262 +828,100 @@ packages: negotiator: 0.6.2 dev: false - /acorn-jsx/5.3.1_acorn@7.4.1: - resolution: {integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 7.4.1 - dev: true - - /acorn-walk/8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /acorn/8.7.0: - resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /agent-base/4.2.1: + /agent-base@4.2.1: resolution: {integrity: sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==} engines: {node: '>= 4.0.0'} dependencies: es6-promisify: 5.0.0 dev: false - /agent-base/4.3.0: + /agent-base@4.3.0: resolution: {integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==} engines: {node: '>= 4.0.0'} dependencies: es6-promisify: 5.0.0 dev: false - /ajv/6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv/8.6.2: - resolution: {integrity: sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - - /ansi-colors/3.2.3: - resolution: {integrity: sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==} - engines: {node: '>=6'} - dev: true - - /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true - - /ansi-regex/3.0.0: - resolution: {integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=} - engines: {node: '>=4'} - dev: true - - /ansi-regex/4.1.0: - resolution: {integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==} - engines: {node: '>=6'} - dev: true - - /ansi-regex/5.0.0: - resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==} - engines: {node: '>=8'} - dev: true - - /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - - /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /any-base/1.1.0: + /any-base@1.1.0: resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==} dev: false - /any-promise/1.3.0: + /any-promise@1.3.0: resolution: {integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8=} dev: false - /anymatch/3.1.1: - resolution: {integrity: sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.2.2 - dev: true - - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.0 - dev: true - - /arg/4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /array-union/2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /assertion-error/1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /ast-types/0.14.2: + /ast-types@0.14.2: resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} engines: {node: '>=4'} dependencies: tslib: 2.1.0 dev: false - /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - - /async-limiter/1.0.1: + /async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} dev: false - /async/2.6.3: + /async@2.6.3: resolution: {integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==} dependencies: lodash: 4.17.20 dev: false - /asynckit/0.4.0: + /asynckit@0.4.0: resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} + dev: false - /axios/0.21.1: - resolution: {integrity: sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==} - dependencies: - follow-redirects: 1.13.1 - transitivePeerDependencies: - - debug - dev: true - - /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /base64-js/1.5.1: + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false - /base64url/3.0.1: + /base64url@3.0.1: resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} engines: {node: '>=6.0.0'} dev: false - /basic-auth/2.0.1: + /basic-auth@2.0.1: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} dependencies: safe-buffer: 5.1.2 dev: false - /bcryptjs/2.4.3: + /bcryptjs@2.4.3: resolution: {integrity: sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=} dev: false - /binary-extensions/2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - - /bmp-js/0.1.0: + /bmp-js@0.1.0: resolution: {integrity: sha1-4Fpj95amwf8l9Hcex62twUjAcjM=} dev: false - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /browser-stdout/1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - dev: true - - /bson/4.5.1: - resolution: {integrity: sha512-XqFP74pbTVLyLy5KFxVfTUyRrC1mgOlmu/iXHfXqfCKT59jyP9lwbotGfbN59cHBRbJSamZNkrSopjv+N0SqAA==} - engines: {node: '>=6.9.0'} - dependencies: - buffer: 5.7.1 + /bson@6.6.0: + resolution: {integrity: sha512-BVINv2SgcMjL4oYbBuCQTpE3/VKOSxrOA8Cj/wQP7izSzlBGVomdm+TcUd0Pzy0ytLSSDweCKQ6X3f5veM5LQA==} + engines: {node: '>=16.20.1'} dev: false - /buffer-equal-constant-time/1.0.1: + /buffer-equal-constant-time@1.0.1: resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=} dev: false - /buffer-equal/0.0.1: + /buffer-equal@0.0.1: resolution: {integrity: sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=} engines: {node: '>=0.4.0'} dev: false - /buffer-from/1.1.1: - resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==} - dev: true - - /buffer/5.7.1: + /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: false - /bytes/3.1.0: + /bytes@3.1.0: resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} engines: {node: '>= 0.8'} dev: false - /cache-content-type/1.0.1: + /cache-content-type@1.0.1: resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} engines: {node: '>= 6.0.0'} dependencies: @@ -1296,114 +929,17 @@ packages: ylru: 1.2.1 dev: false - /call-bind/1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.0.2 - dev: true - - /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /camelcase/5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true - - /chai-as-promised/7.1.1_chai@4.2.0: - resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} - peerDependencies: - chai: '>= 2.1.2 < 5' - dependencies: - chai: 4.2.0 - check-error: 1.0.2 - dev: true - - /chai/4.2.0: - resolution: {integrity: sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.2 - deep-eql: 3.0.1 - get-func-name: 2.0.0 - pathval: 1.1.0 - type-detect: 4.0.8 - dev: true - - /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - - /chalk/4.1.0: - resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-disk-space/2.1.0: + /check-disk-space@2.1.0: resolution: {integrity: sha512-f0nx9oJF/AVF8nhSYlF1EBvMNnO+CXyLwKhPvN1943iOMI9TWhQigLZm80jAf0wzQhwKkzA8XXjyvuVUeGGcVQ==} engines: {node: '>=8'} dev: false - /check-error/1.0.2: - resolution: {integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=} - dev: true - - /chokidar/3.3.0: - resolution: {integrity: sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.1 - braces: 3.0.2 - glob-parent: 5.1.1 - is-binary-path: 2.1.0 - is-glob: 4.0.1 - normalize-path: 3.0.0 - readdirp: 3.2.0 - optionalDependencies: - fsevents: 2.1.3 - dev: true - - /chokidar/3.5.2: - resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.2 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.1 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /cliui/5.0.0: - resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==} - dependencies: - string-width: 3.1.0 - strip-ansi: 5.2.0 - wrap-ansi: 5.1.0 - dev: true - - /clone/2.1.2: + /clone@2.1.2: resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=} engines: {node: '>=0.8'} dev: false - /co-body/6.1.0: + /co-body@6.1.0: resolution: {integrity: sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==} dependencies: inflation: 2.0.0 @@ -1412,62 +948,38 @@ packages: type-is: 1.6.18 dev: false - /co/4.6.0: + /co@4.6.0: resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: false - /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - - /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name/1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} - dev: true - - /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /combined-stream/1.0.8: + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 + dev: false - /compressible/2.0.18: + /compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.45.0 dev: false - /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - dev: true - - /content-disposition/0.5.3: + /content-disposition@0.5.3: resolution: {integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==} engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.1.2 dev: false - /content-type/1.0.4: + /content-type@1.0.4: resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} engines: {node: '>= 0.6'} dev: false - /cookie-parser/1.4.5: + /cookie-parser@1.4.5: resolution: {integrity: sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==} engines: {node: '>= 0.8.0'} dependencies: @@ -1475,16 +987,16 @@ packages: cookie-signature: 1.0.6 dev: false - /cookie-signature/1.0.6: + /cookie-signature@1.0.6: resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} dev: false - /cookie/0.4.0: + /cookie@0.4.0: resolution: {integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==} engines: {node: '>= 0.6'} dev: false - /cookies/0.8.0: + /cookies@0.8.0: resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==} engines: {node: '>= 0.8'} dependencies: @@ -1492,64 +1004,46 @@ packages: keygrip: 1.1.0 dev: false - /copy-to/2.0.1: + /copy-to@2.0.1: resolution: {integrity: sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=} dev: false - /core-util-is/1.0.2: + /core-util-is@1.0.2: resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} dev: false - /create-require/1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - - /cross-env/7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} - hasBin: true - dependencies: - cross-spawn: 7.0.3 - dev: true - - /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /data-uri-to-buffer/1.2.0: + /data-uri-to-buffer@1.2.0: resolution: {integrity: sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==} dev: false - /date-fns/2.25.0: + /date-fns@2.25.0: resolution: {integrity: sha512-ovYRFnTrbGPD4nqaEqescPEv1mNwvt+UTqI3Ay9SzNtey9NZnYu6E2qCcBBgJ6/2VF1zGGygpyTDITqpQQ5e+w==} engines: {node: '>=0.11'} dev: false - /debug/2.6.9: + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 dev: false - /debug/3.1.0: + /debug@3.1.0: resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 dev: false - /debug/3.2.6: - resolution: {integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==} - deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) - dependencies: - ms: 2.1.1 - dev: true - - /debug/4.3.1: + /debug@4.3.1: resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} engines: {node: '>=6.0'} peerDependencies: @@ -1559,34 +1053,17 @@ packages: optional: true dependencies: ms: 2.1.2 + dev: false - /decamelize/1.2.0: - resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} - engines: {node: '>=0.10.0'} - dev: true - - /deep-eql/3.0.1: - resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} - engines: {node: '>=0.12'} - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-equal/1.0.1: + /deep-equal@1.0.1: resolution: {integrity: sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=} dev: false - /deep-is/0.1.3: + /deep-is@0.1.3: resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=} + dev: false - /define-properties/1.1.3: - resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} - engines: {node: '>= 0.4'} - dependencies: - object-keys: 1.1.1 - dev: true - - /degenerator/1.0.4: + /degenerator@1.0.4: resolution: {integrity: sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=} dependencies: ast-types: 0.14.2 @@ -1594,161 +1071,73 @@ packages: esprima: 3.1.3 dev: false - /delay/3.1.0: + /delay@3.1.0: resolution: {integrity: sha512-ADIHfsP8Rh9p70e5nPeiQk9/3hobVSoBgGNJLWMFgKBpgT4aiYWoor8St1WbOV0RU5f3aVBDGHvF4zbYrfKl/A==} engines: {node: '>=6'} dev: false - /delayed-stream/1.0.0: + /delayed-stream@1.0.0: resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} engines: {node: '>=0.4.0'} - - /delegates/1.0.0: - resolution: {integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=} dev: false - /denque/1.5.0: - resolution: {integrity: sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==} - engines: {node: '>=0.10'} + /delegates@1.0.0: + resolution: {integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=} dev: false - /depd/1.1.2: + /depd@1.1.2: resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} engines: {node: '>= 0.6'} dev: false - /depd/2.0.0: + /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} dev: false - /destroy/1.0.4: + /destroy@1.0.4: resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} dev: false - /diff/3.5.0: - resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} - engines: {node: '>=0.3.1'} - dev: true - - /diff/4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true - - /dir-glob/3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /doctrine/3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /dom-walk/0.1.2: + /dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} dev: false - /dotenv/5.0.1: - resolution: {integrity: sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==} - engines: {node: '>=4.6.0'} + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} dev: false - /dynamic-dedupe/0.3.0: - resolution: {integrity: sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE=} - dependencies: - xtend: 4.0.2 - dev: true - - /ecdsa-sig-formatter/1.0.11: + /ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} dependencies: safe-buffer: 5.2.1 dev: false - /ee-first/1.1.1: + /ee-first@1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: false - /emoji-regex/7.0.3: - resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} - dev: true - - /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /encodeurl/1.0.2: + /encodeurl@1.0.2: resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} engines: {node: '>= 0.8'} dev: false - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.1 - dev: true - - /es-abstract/1.18.0-next.2: - resolution: {integrity: sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - get-intrinsic: 1.0.2 - has: 1.0.3 - has-symbols: 1.0.1 - is-callable: 1.2.2 - is-negative-zero: 2.0.1 - is-regex: 1.1.1 - object-inspect: 1.9.0 - object-keys: 1.1.1 - object.assign: 4.1.2 - string.prototype.trimend: 1.0.3 - string.prototype.trimstart: 1.0.3 - dev: true - - /es-to-primitive/1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.2 - is-date-object: 1.0.2 - is-symbol: 1.0.3 - dev: true - - /es6-promise/4.2.8: + /es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} dev: false - /es6-promisify/5.0.0: + /es6-promisify@5.0.0: resolution: {integrity: sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=} dependencies: es6-promise: 4.2.8 dev: false - /escape-html/1.0.3: + /escape-html@1.0.3: resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} dev: false - /escape-string-regexp/1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp/4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /escodegen/1.14.3: + /escodegen@1.14.3: resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} engines: {node: '>=4.0'} hasBin: true @@ -1761,234 +1150,50 @@ packages: source-map: 0.6.1 dev: false - /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-utils/2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - dependencies: - eslint-visitor-keys: 1.3.0 - dev: true - - /eslint-utils/3.0.0_eslint@7.32.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 7.32.0 - eslint-visitor-keys: 2.0.0 - dev: true - - /eslint-visitor-keys/1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - dev: true - - /eslint-visitor-keys/2.0.0: - resolution: {integrity: sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==} - engines: {node: '>=10'} - dev: true - - /eslint/7.32.0: - resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} - engines: {node: ^10.12.0 || >=12.0.0} - hasBin: true - dependencies: - '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.3 - '@humanwhocodes/config-array': 0.5.0 - ajv: 6.12.6 - chalk: 4.1.0 - cross-spawn: 7.0.3 - debug: 4.3.1 - doctrine: 3.0.0 - enquirer: 2.3.6 - escape-string-regexp: 4.0.0 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 2.0.0 - espree: 7.3.1 - esquery: 1.4.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 5.1.2 - globals: 13.11.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.1 - js-yaml: 3.14.1 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.0.4 - natural-compare: 1.4.0 - optionator: 0.9.1 - progress: 2.0.3 - regexpp: 3.1.0 - semver: 7.3.5 - strip-ansi: 6.0.0 - strip-json-comments: 3.1.1 - table: 6.7.1 - text-table: 0.2.0 - v8-compile-cache: 2.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree/7.3.1: - resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.1_acorn@7.4.1 - eslint-visitor-keys: 1.3.0 - dev: true - - /esprima/3.1.3: + /esprima@3.1.3: resolution: {integrity: sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=} engines: {node: '>=4'} hasBin: true dev: false - /esprima/4.0.1: + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true + dev: false - /esquery/1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.2.0 - dev: true - - /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.2.0 - dev: true - - /estraverse/4.3.0: + /estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} + dev: false - /estraverse/5.2.0: - resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} - engines: {node: '>=4.0'} - dev: true - - /esutils/2.0.3: + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + dev: false - /exif-parser/0.1.12: + /exif-parser@0.1.12: resolution: {integrity: sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=} dev: false - /extend/3.0.2: + /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false - /fast-deep-equal/3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - - /fast-glob/3.2.5: - resolution: {integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==} - engines: {node: '>=8'} - dependencies: - '@nodelib/fs.stat': 2.0.4 - '@nodelib/fs.walk': 1.2.6 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.2 - picomatch: 2.3.0 - dev: true - - /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-levenshtein/2.0.6: + /fast-levenshtein@2.0.6: resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} + dev: false - /fastq/1.10.0: - resolution: {integrity: sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==} - dependencies: - reusify: 1.0.4 - dev: true - - /file-entry-cache/6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.0.4 - dev: true - - /file-type/9.0.0: + /file-type@9.0.0: resolution: {integrity: sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==} engines: {node: '>=6'} dev: false - /file-uri-to-path/1.0.0: + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false - /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-up/3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 - dev: true - - /flat-cache/3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.1.1 - rimraf: 3.0.2 - dev: true - - /flat/4.1.1: - resolution: {integrity: sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==} - hasBin: true - dependencies: - is-buffer: 2.0.5 - dev: true - - /flatted/3.1.1: - resolution: {integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==} - dev: true - - /follow-redirects/1.13.1: - resolution: {integrity: sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: true - - /form-data/2.5.1: + /form-data@2.5.1: resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} engines: {node: '>= 0.12'} dependencies: @@ -1997,42 +1202,12 @@ packages: mime-types: 2.1.28 dev: false - /form-data/3.0.1: - resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.28 - dev: true - - /fresh/0.5.2: + /fresh@0.5.2: resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} engines: {node: '>= 0.6'} dev: false - /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} - dev: true - - /fsevents/2.1.3: - resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - deprecated: '"Please update to latest v2.3 or v2.2"' - requiresBuild: true - dev: true - optional: true - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /ftp/0.3.10: + /ftp@0.3.10: resolution: {integrity: sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=} engines: {node: '>=0.8.0'} dependencies: @@ -2040,32 +1215,7 @@ packages: xregexp: 2.0.0 dev: false - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /functional-red-black-tree/1.0.1: - resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} - dev: true - - /get-caller-file/2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /get-func-name/2.0.0: - resolution: {integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=} - dev: true - - /get-intrinsic/1.0.2: - resolution: {integrity: sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.1 - dev: true - - /get-uri/2.0.4: + /get-uri@2.0.4: resolution: {integrity: sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==} dependencies: data-uri-to-buffer: 1.2.0 @@ -2074,110 +1224,25 @@ packages: file-uri-to-path: 1.0.0 ftp: 0.3.10 readable-stream: 2.3.7 + transitivePeerDependencies: + - supports-color dev: false - /gifwrap/0.9.2: + /gifwrap@0.9.2: resolution: {integrity: sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==} dependencies: image-q: 1.1.1 omggif: 1.0.10 dev: false - /glob-parent/5.1.1: - resolution: {integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.1 - dev: true - - /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.1 - dev: true - - /glob/7.1.3: - resolution: {integrity: sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob/7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /global/4.4.0: + /global@4.4.0: resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} dependencies: min-document: 2.19.0 process: 0.11.10 dev: false - /globals/13.11.0: - resolution: {integrity: sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /globby/11.0.4: - resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.5 - ignore: 5.1.8 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /growl/1.10.5: - resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==} - engines: {node: '>=4.x'} - dev: true - - /has-flag/3.0.0: - resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} - engines: {node: '>=4'} - dev: true - - /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /has-symbols/1.0.1: - resolution: {integrity: sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==} - engines: {node: '>= 0.4'} - dev: true - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /he/1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - dev: true - - /http-assert/1.4.1: + /http-assert@1.4.1: resolution: {integrity: sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==} engines: {node: '>= 0.8'} dependencies: @@ -2185,7 +1250,7 @@ packages: http-errors: 1.7.3 dev: false - /http-errors/1.7.3: + /http-errors@1.7.3: resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} engines: {node: '>= 0.6'} dependencies: @@ -2196,7 +1261,7 @@ packages: toidentifier: 1.0.0 dev: false - /http-errors/1.8.0: + /http-errors@1.8.0: resolution: {integrity: sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==} engines: {node: '>= 0.6'} dependencies: @@ -2207,252 +1272,112 @@ packages: toidentifier: 1.0.0 dev: false - /http-proxy-agent/2.1.0: + /http-proxy-agent@2.1.0: resolution: {integrity: sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==} engines: {node: '>= 4.5.0'} dependencies: agent-base: 4.3.0 debug: 3.1.0 + transitivePeerDependencies: + - supports-color dev: false - /https-proxy-agent/2.2.4: + /https-proxy-agent@2.2.4: resolution: {integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==} engines: {node: '>= 4.5.0'} dependencies: agent-base: 4.3.0 debug: 3.1.0 + transitivePeerDependencies: + - supports-color dev: false - /https-proxy-agent/3.0.1: + /https-proxy-agent@3.0.1: resolution: {integrity: sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==} engines: {node: '>= 4.5.0'} dependencies: agent-base: 4.3.0 debug: 3.1.0 + transitivePeerDependencies: + - supports-color dev: false - /iconv-lite/0.4.24: + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: false - /ieee754/1.2.1: + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false - /ignore/4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} - dev: true - - /ignore/5.1.8: - resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} - engines: {node: '>= 4'} - dev: true - - /image-q/1.1.1: + /image-q@1.1.1: resolution: {integrity: sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=} engines: {node: '>=0.9.0'} dev: false - /import-fresh/3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /imurmurhash/0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} - engines: {node: '>=0.8.19'} - dev: true - - /inflation/2.0.0: + /inflation@2.0.0: resolution: {integrity: sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=} engines: {node: '>= 0.8.0'} dev: false - /inflection/1.12.0: + /inflection@1.12.0: resolution: {integrity: sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=} engines: {'0': node >= 0.4.0} dev: false - /inflection/1.3.8: + /inflection@1.3.8: resolution: {integrity: sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=} engines: {'0': node >= 0.4.0} dev: false - /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits/2.0.4: + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: false - /ip/1.1.5: + /ip@1.1.5: resolution: {integrity: sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=} dev: false - /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - - /is-buffer/2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - dev: true - - /is-callable/1.2.2: - resolution: {integrity: sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==} - engines: {node: '>= 0.4'} - dev: true - - /is-core-module/2.4.0: - resolution: {integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==} - dependencies: - has: 1.0.3 - dev: true - - /is-date-object/1.0.2: - resolution: {integrity: sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==} - engines: {node: '>= 0.4'} - dev: true - - /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point/2.0.0: - resolution: {integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=} - engines: {node: '>=4'} - dev: true - - /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-function/1.0.2: + /is-function@1.0.2: resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} dev: false - /is-generator-function/1.0.8: + /is-generator-function@1.0.8: resolution: {integrity: sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==} engines: {node: '>= 0.4'} dev: false - /is-glob/4.0.1: - resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-negative-zero/2.0.1: - resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} - engines: {node: '>= 0.4'} - dev: true - - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-regex/1.1.1: - resolution: {integrity: sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.1 - dev: true - - /is-stream/1.1.0: + /is-stream@1.1.0: resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=} engines: {node: '>=0.10.0'} dev: false - /is-symbol/1.0.3: - resolution: {integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.1 - dev: true - - /isarray/0.0.1: + /isarray@0.0.1: resolution: {integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=} dev: false - /isarray/1.0.0: + /isarray@1.0.0: resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} dev: false - /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} - dev: true - - /jimp/0.16.1: + /jimp@0.16.1: resolution: {integrity: sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw==} dependencies: '@babel/runtime': 7.16.7 '@jimp/custom': 0.16.1 - '@jimp/plugins': 0.16.1_@jimp+custom@0.16.1 - '@jimp/types': 0.16.1_@jimp+custom@0.16.1 + '@jimp/plugins': 0.16.1(@jimp/custom@0.16.1) + '@jimp/types': 0.16.1(@jimp/custom@0.16.1) regenerator-runtime: 0.13.9 dev: false - /jpeg-js/0.4.2: + /jpeg-js@0.4.2: resolution: {integrity: sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==} dev: false - /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - - /js-yaml/3.13.1: - resolution: {integrity: sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /json-schema-traverse/0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse/1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true - - /json-stable-stringify-without-jsonify/1.0.1: - resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} - dev: true - - /json5/1.0.1: - resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} - hasBin: true - dependencies: - minimist: 1.2.5 - dev: true - - /jsonwebtoken/8.5.1: + /jsonwebtoken@8.5.1: resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} engines: {node: '>=4', npm: '>=1.4.28'} dependencies: @@ -2468,7 +1393,7 @@ packages: semver: 5.7.1 dev: false - /jwa/1.4.1: + /jwa@1.4.1: resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} dependencies: buffer-equal-constant-time: 1.0.1 @@ -2476,25 +1401,21 @@ packages: safe-buffer: 5.2.1 dev: false - /jws/3.2.2: + /jws@3.2.2: resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} dependencies: jwa: 1.4.1 safe-buffer: 5.2.1 dev: false - /kareem/2.3.2: - resolution: {integrity: sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==} - dev: false - - /keygrip/1.1.0: + /keygrip@1.1.0: resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} engines: {node: '>= 0.6'} dependencies: tsscmp: 1.0.6 dev: false - /koa-bodyparser/4.3.0: + /koa-bodyparser@4.3.0: resolution: {integrity: sha512-uyV8G29KAGwZc4q/0WUAjH+Tsmuv9ImfBUF2oZVyZtaeo0husInagyn/JH85xMSxM0hEk/mbCII5ubLDuqW/Rw==} engines: {node: '>=8.0.0'} dependencies: @@ -2502,17 +1423,17 @@ packages: copy-to: 2.0.1 dev: false - /koa-compose/3.2.1: + /koa-compose@3.2.1: resolution: {integrity: sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=} dependencies: any-promise: 1.3.0 dev: false - /koa-compose/4.1.0: + /koa-compose@4.1.0: resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} dev: false - /koa-compress/3.1.0: + /koa-compress@3.1.0: resolution: {integrity: sha512-0m24/yS/GbhWI+g9FqtvStY+yJwTObwoxOvPok6itVjRen7PBWkjsJ8pre76m+99YybXLKhOJ62mJ268qyBFMQ==} engines: {node: '>= 8.0.0'} dependencies: @@ -2522,7 +1443,7 @@ packages: statuses: 1.5.0 dev: false - /koa-convert/1.2.0: + /koa-convert@1.2.0: resolution: {integrity: sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=} engines: {node: '>= 4'} dependencies: @@ -2530,28 +1451,30 @@ packages: koa-compose: 3.2.1 dev: false - /koa-cookie/1.0.0: + /koa-cookie@1.0.0: resolution: {integrity: sha1-fHlyPdA7l6vP5DACi3AL1Ho22vs=} dev: true - /koa-is-json/1.0.0: + /koa-is-json@1.0.0: resolution: {integrity: sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=} dev: false - /koa-morgan/1.0.1: + /koa-morgan@1.0.1: resolution: {integrity: sha1-CAUuDODYOdPEMXi5CluzQkvvH5k=} dependencies: morgan: 1.10.0 + transitivePeerDependencies: + - supports-color dev: false - /koa-passport/4.1.3: + /koa-passport@4.1.3: resolution: {integrity: sha512-QqKrHfp4jNfqkKThGkVb2WQtlVOSRYk5CC69Z17cmOpZ4760l8CdyJ+Bs2CfQc9BHizz557mczjPkSlVkpuluw==} engines: {node: '>= 4'} dependencies: passport: 0.4.1 dev: false - /koa-router/8.0.8: + /koa-router@8.0.8: resolution: {integrity: sha512-2rNF2cgu/EWi/NV8GlBE5+H/QBoaof83X6Z0dULmalkbt7W610/lyP2EOLVqVrUUFfjsVWL/Ju5TVBcGJDY9XQ==} engines: {node: '>= 8.0.0'} dependencies: @@ -2565,7 +1488,7 @@ packages: - supports-color dev: false - /koa/2.13.1: + /koa@2.13.1: resolution: {integrity: sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==} engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} dependencies: @@ -2592,9 +1515,11 @@ packages: statuses: 1.5.0 type-is: 1.6.18 vary: 1.1.2 + transitivePeerDependencies: + - supports-color dev: false - /levn/0.3.0: + /levn@0.3.0: resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=} engines: {node: '>= 0.8.0'} dependencies: @@ -2602,15 +1527,7 @@ packages: type-check: 0.3.2 dev: false - /levn/0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /load-bmfont/1.4.1: + /load-bmfont@1.4.1: resolution: {integrity: sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==} dependencies: buffer-equal: 0.0.1 @@ -2623,82 +1540,57 @@ packages: xtend: 4.0.2 dev: false - /locate-path/3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 - dev: true - - /lodash.clonedeep/4.5.0: - resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} - dev: true - - /lodash.includes/4.3.0: + /lodash.includes@4.3.0: resolution: {integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=} dev: false - /lodash.isboolean/3.0.3: + /lodash.isboolean@3.0.3: resolution: {integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=} dev: false - /lodash.isinteger/4.0.4: + /lodash.isinteger@4.0.4: resolution: {integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=} dev: false - /lodash.isnumber/3.0.3: + /lodash.isnumber@3.0.3: resolution: {integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=} dev: false - /lodash.isplainobject/4.0.6: + /lodash.isplainobject@4.0.6: resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=} dev: false - /lodash.isstring/4.0.1: + /lodash.isstring@4.0.1: resolution: {integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=} dev: false - /lodash.merge/4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash.once/4.1.1: + /lodash.once@4.1.1: resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=} dev: false - /lodash.truncate/4.4.2: - resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} - dev: true - - /lodash/4.17.20: + /lodash@4.17.20: resolution: {integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==} + dev: false - /log-symbols/3.0.0: - resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==} - engines: {node: '>=8'} - dependencies: - chalk: 2.4.2 - dev: true - - /lru-cache/4.1.5: + /lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: false - /lru-cache/6.0.0: + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 + dev: false - /luxon/1.25.0: + /luxon@1.25.0: resolution: {integrity: sha512-hEgLurSH8kQRjY6i4YLey+mcKVAWXbDNlZRmM6AgWDJ1cY3atl8Ztf5wEY7VBReFbmGnwQPz7KYJblL8B2k0jQ==} dev: true - /mailgun-js/0.20.0: + /mailgun-js@0.20.0: resolution: {integrity: sha512-lCXlCGwPnZvmhBITB8X3XD9CDNEGqubB/cYlzVLM9Vgajav0iVhkXlBAjDTucg2UhhbycWKFDlzDIvYnl5aGww==} engines: {node: '>=6.0.0'} dependencies: @@ -2715,156 +1607,104 @@ packages: - supports-color dev: false - /make-error/1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /media-typer/0.3.0: + /media-typer@0.3.0: resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} engines: {node: '>= 0.6'} dev: false - /memory-pager/1.5.0: + /memory-pager@1.5.0: resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} + requiresBuild: true dev: false - optional: true - - /merge2/1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - /methods/1.1.2: + /methods@1.1.2: resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=} engines: {node: '>= 0.6'} dev: false - /micromatch/4.0.2: - resolution: {integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==} - engines: {node: '>=8'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.0 - dev: true - - /mime-db/1.45.0: + /mime-db@1.45.0: resolution: {integrity: sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==} engines: {node: '>= 0.6'} + dev: false - /mime-types/2.1.28: + /mime-types@2.1.28: resolution: {integrity: sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.45.0 + dev: false - /mime/1.6.0: + /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true dev: false - /min-document/2.19.0: + /min-document@2.19.0: resolution: {integrity: sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=} dependencies: dom-walk: 0.1.2 dev: false - /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimist/1.2.5: + /minimist@1.2.5: resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} + dev: false - /mkdirp/0.5.5: + /mkdirp@0.5.5: resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} hasBin: true dependencies: minimist: 1.2.5 + dev: false - /mkdirp/1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true - - /mocha/7.2.0: - resolution: {integrity: sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==} - engines: {node: '>= 8.10.0'} - hasBin: true - dependencies: - ansi-colors: 3.2.3 - browser-stdout: 1.3.1 - chokidar: 3.3.0 - debug: 3.2.6 - diff: 3.5.0 - escape-string-regexp: 1.0.5 - find-up: 3.0.0 - glob: 7.1.3 - growl: 1.10.5 - he: 1.2.0 - js-yaml: 3.13.1 - log-symbols: 3.0.0 - minimatch: 3.0.4 - mkdirp: 0.5.5 - ms: 2.1.1 - node-environment-flags: 1.0.6 - object.assign: 4.1.0 - strip-json-comments: 2.0.1 - supports-color: 6.0.0 - which: 1.3.1 - wide-align: 1.1.3 - yargs: 13.3.2 - yargs-parser: 13.1.2 - yargs-unparser: 1.6.0 - dev: true - - /mongo-locks/2.0.0_mongoose@6.0.3: - resolution: {integrity: sha512-+yfONvw4A64N/TD52hdPp648XyXuc1JnTZ9btQJL56dHbAgW3Xuvdavbv476Kae+BmMSFApNterG6pXHeRyyDQ==} + /mongo-locks@3.0.1(mongodb@6.5.0): + resolution: {integrity: sha512-49UphY14r9MXTlfBOXLOqVjFfu8ejYd0ukNi/Wpf3Z7aK/GwWjPlbq4my++sijqA2TvG2+cpZKkbWpxzticq3w==} peerDependencies: - mongoose: '>=4.7.6' + mongodb: '>=4' dependencies: - mongoose: 6.0.3 + mongodb: 6.5.0 dev: false - /mongodb-connection-string-url/2.0.0: - resolution: {integrity: sha512-M0I1vyLoq5+HQTuPSJWbt+hIXsMCfE8sS1fS5mvP9R2DOMoi2ZD32yWqgBIITyu0dFu4qtS50erxKjvUeBiyog==} + /mongodb-connection-string-url@3.0.0: + resolution: {integrity: sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==} dependencies: - '@types/whatwg-url': 8.2.1 - whatwg-url: 9.1.0 + '@types/whatwg-url': 11.0.4 + whatwg-url: 13.0.0 dev: false - /mongodb/4.1.1: - resolution: {integrity: sha512-fbACrWEyvr6yl0sSiCGV0sqEiBwTtDJ8iSojmkDjAfw9JnOZSAkUyv9seFSPYhPPKwxp1PDtyjvBNfMDz0WBLQ==} - engines: {node: '>=12.9.0'} - dependencies: - bson: 4.5.1 - denque: 1.5.0 - mongodb-connection-string-url: 2.0.0 - optionalDependencies: - saslprep: 1.0.3 - dev: false - - /mongoose/6.0.3: - resolution: {integrity: sha512-0gu3Z34j3VdvGnqcs0lZdRnE0agiuERvXKkSrKjGqXsZS+ym5v9Oq1dQUuhtOYPQGtlpHpeVYjHHY+2sn5CMrg==} - engines: {node: '>=12.0.0'} + /mongodb@6.5.0: + resolution: {integrity: sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==} + engines: {node: '>=16.20.1'} + peerDependencies: + '@aws-sdk/credential-providers': ^3.188.0 + '@mongodb-js/zstd': ^1.1.0 + gcp-metadata: ^5.2.0 + kerberos: ^2.0.1 + mongodb-client-encryption: '>=6.0.0 <7' + snappy: ^7.2.2 + socks: ^2.7.1 + peerDependenciesMeta: + '@aws-sdk/credential-providers': + optional: true + '@mongodb-js/zstd': + optional: true + gcp-metadata: + optional: true + kerberos: + optional: true + mongodb-client-encryption: + optional: true + snappy: + optional: true + socks: + optional: true dependencies: - bson: 4.5.1 - kareem: 2.3.2 - mongodb: 4.1.1 - mpath: 0.8.3 - mquery: 4.0.0 - ms: 2.1.2 - regexp-clone: 1.0.0 - sift: 13.5.2 - sliced: 1.0.1 - transitivePeerDependencies: - - supports-color + '@mongodb-js/saslprep': 1.1.5 + bson: 6.6.0 + mongodb-connection-string-url: 3.0.0 dev: false - /morgan/1.10.0: + /morgan@1.10.0: resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} engines: {node: '>= 0.8.0'} dependencies: @@ -2873,148 +1713,64 @@ packages: depd: 2.0.0 on-finished: 2.3.0 on-headers: 1.0.2 - dev: false - - /mpath/0.8.3: - resolution: {integrity: sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA==} - engines: {node: '>=4.0.0'} - dev: false - - /mquery/4.0.0: - resolution: {integrity: sha512-nGjm89lHja+T/b8cybAby6H0YgA4qYC/lx6UlwvHGqvTq8bDaNeCwl1sY8uRELrNbVWJzIihxVd+vphGGn1vBw==} - engines: {node: '>=12.0.0'} - dependencies: - debug: 4.3.1 - regexp-clone: 1.0.0 - sliced: 1.0.1 transitivePeerDependencies: - supports-color dev: false - /ms/2.0.0: + /ms@2.0.0: resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} dev: false - /ms/2.1.1: - resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} - dev: true - - /ms/2.1.2: + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: false - /ms/2.1.3: + /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /natural-compare/1.4.0: - resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} - dev: true - - /negotiator/0.6.2: + /negotiator@0.6.2: resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} engines: {node: '>= 0.6'} dev: false - /netmask/1.0.6: + /netmask@1.0.6: resolution: {integrity: sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=} engines: {node: '>= 0.4.0'} dev: false - /node-cache/5.1.2: + /node-cache@5.1.2: resolution: {integrity: sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==} engines: {node: '>= 8.0.0'} dependencies: clone: 2.1.2 dev: false - /node-environment-flags/1.0.6: - resolution: {integrity: sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==} - dependencies: - object.getownpropertydescriptors: 2.1.1 - semver: 5.7.1 - dev: true - - /node-fetch/2.6.6: - resolution: {integrity: sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==} - engines: {node: 4.x || >=6.0.0} - dependencies: - whatwg-url: 5.0.0 - dev: false - - /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /oauth/0.9.15: + /oauth@0.9.15: resolution: {integrity: sha1-vR/vr2hslrdUda7VGWQS/2DPucE=} dev: false - /object-inspect/1.9.0: - resolution: {integrity: sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==} - dev: true - - /object-keys/1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true - - /object.assign/4.1.0: - resolution: {integrity: sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.1.3 - function-bind: 1.1.1 - has-symbols: 1.0.1 - object-keys: 1.1.1 - dev: true - - /object.assign/4.1.2: - resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - has-symbols: 1.0.1 - object-keys: 1.1.1 - dev: true - - /object.getownpropertydescriptors/2.1.1: - resolution: {integrity: sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==} - engines: {node: '>= 0.8'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.18.0-next.2 - dev: true - - /omggif/1.0.10: + /omggif@1.0.10: resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} dev: false - /on-finished/2.3.0: + /on-finished@2.3.0: resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 dev: false - /on-headers/1.0.2: + /on-headers@1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} dev: false - /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} - dependencies: - wrappy: 1.0.2 - dev: true - - /only/0.0.2: + /only@0.0.2: resolution: {integrity: sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=} dev: false - /optionator/0.8.3: + /optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} dependencies: @@ -3026,38 +1782,7 @@ packages: word-wrap: 1.2.3 dev: false - /optionator/0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} - 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 - dev: true - - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - - /p-locate/3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - dependencies: - p-limit: 2.3.0 - dev: true - - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /pac-proxy-agent/3.0.1: + /pac-proxy-agent@3.0.1: resolution: {integrity: sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==} dependencies: agent-base: 4.3.0 @@ -3072,7 +1797,7 @@ packages: - supports-color dev: false - /pac-resolver/3.0.0: + /pac-resolver@3.0.0: resolution: {integrity: sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==} dependencies: co: 4.6.0 @@ -3082,69 +1807,62 @@ packages: thunkify: 2.1.2 dev: false - /pako/1.0.11: + /pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} dev: false - /parent-module/1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /parse-bmfont-ascii/1.0.6: + /parse-bmfont-ascii@1.0.6: resolution: {integrity: sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=} dev: false - /parse-bmfont-binary/1.0.6: + /parse-bmfont-binary@1.0.6: resolution: {integrity: sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=} dev: false - /parse-bmfont-xml/1.1.4: + /parse-bmfont-xml@1.1.4: resolution: {integrity: sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==} dependencies: xml-parse-from-string: 1.0.1 xml2js: 0.4.23 dev: false - /parse-headers/2.0.4: + /parse-headers@2.0.4: resolution: {integrity: sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==} dev: false - /parseurl/1.3.3: + /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} dev: false - /passport-discord/0.1.4: + /passport-discord@0.1.4: resolution: {integrity: sha512-VJWPYqSOmh7SaCLw/C+k1ZqCzJnn2frrmQRx1YrcPJ3MQ+Oa31XclbbmqFICSvl8xv3Fqd6YWQ4H4p1MpIN9rA==} dependencies: passport-oauth2: 1.5.0 dev: false - /passport-facebook/3.0.0: + /passport-facebook@3.0.0: resolution: {integrity: sha512-K/qNzuFsFISYAyC1Nma4qgY/12V3RSLFdFVsPKXiKZt434wOvthFW1p7zKa1iQihQMRhaWorVE1o3Vi1o+ZgeQ==} engines: {node: '>= 0.4.0'} dependencies: passport-oauth2: 1.5.0 dev: false - /passport-google-oauth20/2.0.0: + /passport-google-oauth20@2.0.0: resolution: {integrity: sha512-KSk6IJ15RoxuGq7D1UKK/8qKhNfzbLeLrG3gkLZ7p4A6DBCcv7xpyQwuXtWdpyR0+E0mwkpjY1VfPOhxQrKzdQ==} engines: {node: '>= 0.4.0'} dependencies: passport-oauth2: 1.5.0 dev: false - /passport-local/1.0.0: + /passport-local@1.0.0: resolution: {integrity: sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=} engines: {node: '>= 0.4.0'} dependencies: passport-strategy: 1.0.0 dev: false - /passport-oauth2/1.5.0: + /passport-oauth2@1.5.0: resolution: {integrity: sha512-kqBt6vR/5VlCK8iCx1/KpY42kQ+NEHZwsSyt4Y6STiNjU+wWICG1i8ucc1FapXDGO15C5O5VZz7+7vRzrDPXXQ==} engines: {node: '>= 0.4.0'} dependencies: @@ -3155,12 +1873,11 @@ packages: utils-merge: 1.0.1 dev: false - /passport-strategy/1.0.0: + /passport-strategy@1.0.0: resolution: {integrity: sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=} engines: {node: '>= 0.4.0'} - dev: false - /passport/0.4.1: + /passport@0.4.1: resolution: {integrity: sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==} engines: {node: '>= 0.4.0'} dependencies: @@ -3168,108 +1885,68 @@ packages: pause: 0.0.1 dev: false - /path-exists/3.0.0: - resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} - engines: {node: '>=4'} - dev: true - - /path-is-absolute/1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} - engines: {node: '>=0.10.0'} - dev: true - - /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-parse/1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + /passport@0.6.0: + resolution: {integrity: sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug==} + engines: {node: '>= 0.4.0'} + dependencies: + passport-strategy: 1.0.0 + pause: 0.0.1 + utils-merge: 1.0.1 dev: true - /path-proxy/1.0.0: + /path-proxy@1.0.0: resolution: {integrity: sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=} dependencies: inflection: 1.3.8 dev: false - /path-to-regexp/1.8.0: + /path-to-regexp@1.8.0: resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} dependencies: isarray: 0.0.1 dev: false - /path-type/4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /pathval/1.1.0: - resolution: {integrity: sha1-uULm1L3mUwBe9rcTYd74cn0GReA=} - dev: true - - /pause/0.0.1: + /pause@0.0.1: resolution: {integrity: sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=} - dev: false - /phin/2.9.3: + /phin@2.9.3: resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==} - dev: false - - /picomatch/2.2.2: - resolution: {integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==} - engines: {node: '>=8.6'} - dev: true - - /picomatch/2.3.0: - resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} - engines: {node: '>=8.6'} - dev: true + dev: false - /pixelmatch/4.0.2: + /pixelmatch@4.0.2: resolution: {integrity: sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=} hasBin: true dependencies: pngjs: 3.4.0 dev: false - /pngjs/3.4.0: + /pngjs@3.4.0: resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} engines: {node: '>=4.0.0'} dev: false - /prelude-ls/1.1.2: + /prelude-ls@1.1.2: resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} engines: {node: '>= 0.8.0'} dev: false - /prelude-ls/1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /process-nextick-args/2.0.1: + /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: false - /process/0.11.10: + /process@0.11.10: resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=} engines: {node: '>= 0.6.0'} dev: false - /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - - /promisify-call/2.0.4: + /promisify-call@2.0.4: resolution: {integrity: sha1-1IwtRWUszM1SgB3ey9UzptS9X7o=} engines: {node: '>=4.0'} dependencies: with-callback: 1.0.2 dev: false - /proxy-agent/3.0.3: + /proxy-agent@3.0.3: resolution: {integrity: sha512-PXVVVuH9tiQuxQltFJVSnXWuDtNr+8aNBP6XVDDCDiUuDN8eRCm+ii4/mFWmXWEA0w8jjJSlePa4LXlM4jIzNA==} engines: {node: '>=6'} dependencies: @@ -3285,24 +1962,25 @@ packages: - supports-color dev: false - /proxy-from-env/1.1.0: + /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false - /pseudomap/1.0.2: + /pseudomap@1.0.2: resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} dev: false - /punycode/2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + dev: false - /qs/6.9.6: + /qs@6.9.6: resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} engines: {node: '>=0.6'} dev: false - /raw-body/2.4.1: + /raw-body@2.4.1: resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} engines: {node: '>= 0.8'} dependencies: @@ -3312,7 +1990,7 @@ packages: unpipe: 1.0.0 dev: false - /readable-stream/1.1.14: + /readable-stream@1.1.14: resolution: {integrity: sha1-fPTFTvZI44EwhMY23SB54WbAgdk=} dependencies: core-util-is: 1.0.2 @@ -3321,7 +1999,7 @@ packages: string_decoder: 0.10.31 dev: false - /readable-stream/2.3.7: + /readable-stream@2.3.7: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: core-util-is: 1.0.2 @@ -3333,112 +2011,32 @@ packages: util-deprecate: 1.0.2 dev: false - /readdirp/3.2.0: - resolution: {integrity: sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==} - engines: {node: '>= 8'} - dependencies: - picomatch: 2.2.2 - dev: true - - /readdirp/3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.0 - dev: true - - /regenerator-runtime/0.13.9: + /regenerator-runtime@0.13.9: resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} dev: false - /regexp-clone/1.0.0: - resolution: {integrity: sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==} - dev: false - - /regexpp/3.1.0: - resolution: {integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==} - engines: {node: '>=8'} - dev: true - - /require-directory/2.1.1: - resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} - engines: {node: '>=0.10.0'} - dev: true - - /require-from-string/2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: true - - /require-main-filename/2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - dev: true - - /resolve-from/4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve/1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} - dependencies: - is-core-module: 2.4.0 - path-parse: 1.0.7 - dev: true - - /reusify/1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - - /rimraf/2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - dependencies: - glob: 7.1.7 - dev: true - - /rimraf/3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.1.7 - dev: true - - /run-parallel/1.1.10: - resolution: {integrity: sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==} - dev: true - - /safe-buffer/5.1.2: + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: false - /safe-buffer/5.2.1: + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /safer-buffer/2.1.2: + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: false - /saslprep/1.0.3: - resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==} - engines: {node: '>=6'} - requiresBuild: true - dependencies: - sparse-bitfield: 3.0.3 - dev: false - optional: true - - /sax/1.2.4: + /sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} dev: false - /semver/5.7.1: + /semver@5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true + dev: false - /semver/7.3.4: + /semver@7.3.4: resolution: {integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==} engines: {node: '>=10'} hasBin: true @@ -3446,66 +2044,20 @@ packages: lru-cache: 6.0.0 dev: false - /semver/7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /set-blocking/2.0.0: - resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} - dev: true - - /setprototypeof/1.1.1: + /setprototypeof@1.1.1: resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} dev: false - /setprototypeof/1.2.0: + /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: false - /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /sift/13.5.2: - resolution: {integrity: sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==} - dev: false - - /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /sliced/1.0.1: - resolution: {integrity: sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=} - dev: false - - /smart-buffer/4.1.0: + /smart-buffer@4.1.0: resolution: {integrity: sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} dev: false - /socks-proxy-agent/4.0.2: + /socks-proxy-agent@4.0.2: resolution: {integrity: sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==} engines: {node: '>= 6'} dependencies: @@ -3513,7 +2065,7 @@ packages: socks: 2.3.3 dev: false - /socks/2.3.3: + /socks@2.3.3: resolution: {integrity: sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} dependencies: @@ -3521,332 +2073,81 @@ packages: smart-buffer: 4.1.0 dev: false - /source-map-support/0.5.19: - resolution: {integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==} - dependencies: - buffer-from: 1.1.1 - source-map: 0.6.1 - dev: true - - /source-map/0.6.1: + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + requiresBuild: true + dev: false + optional: true - /sparse-bitfield/3.0.3: - resolution: {integrity: sha1-/0rm5oZWBWuks+eSqzM004JzyhE=} + /sparse-bitfield@3.0.3: + resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==} + requiresBuild: true dependencies: memory-pager: 1.5.0 dev: false - optional: true - /sprintf-js/1.0.3: - resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} - dev: true - - /statuses/1.5.0: + /statuses@1.5.0: resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} engines: {node: '>= 0.6'} dev: false - /string-width/2.1.1: - resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} - engines: {node: '>=4'} - dependencies: - is-fullwidth-code-point: 2.0.0 - strip-ansi: 4.0.0 - dev: true - - /string-width/3.1.0: - resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} - engines: {node: '>=6'} - dependencies: - emoji-regex: 7.0.3 - is-fullwidth-code-point: 2.0.0 - strip-ansi: 5.2.0 - dev: true - - /string-width/4.2.0: - resolution: {integrity: sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.0 - dev: true - - /string.prototype.trimend/1.0.3: - resolution: {integrity: sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: true - - /string.prototype.trimstart/1.0.3: - resolution: {integrity: sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: true - - /string_decoder/0.10.31: + /string_decoder@0.10.31: resolution: {integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=} dev: false - /string_decoder/1.1.1: + /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 dev: false - /strip-ansi/4.0.0: - resolution: {integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=} - engines: {node: '>=4'} - dependencies: - ansi-regex: 3.0.0 - dev: true - - /strip-ansi/5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - dependencies: - ansi-regex: 4.1.0 - dev: true - - /strip-ansi/6.0.0: - resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.0 - dev: true - - /strip-bom/3.0.0: - resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} - engines: {node: '>=4'} - dev: true - - /strip-json-comments/2.0.1: - resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} - engines: {node: '>=0.10.0'} - dev: true - - /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - - /supports-color/6.0.0: - resolution: {integrity: sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==} - engines: {node: '>=6'} - dependencies: - has-flag: 3.0.0 - dev: true - - /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /table/6.7.1: - resolution: {integrity: sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==} - engines: {node: '>=10.0.0'} - dependencies: - ajv: 8.6.2 - lodash.clonedeep: 4.5.0 - lodash.truncate: 4.4.2 - slice-ansi: 4.0.0 - string-width: 4.2.0 - strip-ansi: 6.0.0 - dev: true - - /text-table/0.2.0: - resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} - dev: true - - /thunkify/2.1.2: + /thunkify@2.1.2: resolution: {integrity: sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=} dev: false - /timm/1.7.1: + /timm@1.7.1: resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==} dev: false - /tinycolor2/1.4.2: + /tinycolor2@1.4.2: resolution: {integrity: sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==} dev: false - /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /toidentifier/1.0.0: + /toidentifier@1.0.0: resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} engines: {node: '>=0.6'} dev: false - /tr46/0.0.3: - resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} - dev: false - - /tr46/2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} - engines: {node: '>=8'} + /tr46@4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} dependencies: - punycode: 2.1.1 + punycode: 2.3.1 dev: false - /tree-kill/1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - dev: true - - /ts-node-dev/1.1.8_typescript@4.5.5: - resolution: {integrity: sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg==} - engines: {node: '>=0.8.0'} - hasBin: true - peerDependencies: - node-notifier: '*' - typescript: '*' - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - chokidar: 3.5.2 - dynamic-dedupe: 0.3.0 - minimist: 1.2.5 - mkdirp: 1.0.4 - resolve: 1.20.0 - rimraf: 2.7.1 - source-map-support: 0.5.19 - tree-kill: 1.2.2 - ts-node: 9.1.1_typescript@4.5.5 - tsconfig: 7.0.0 - typescript: 4.5.5 - dev: true - - /ts-node/10.4.0_00b9008703accb2bb5af089524de17b9: - resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.7.0 - '@tsconfig/node10': 1.0.8 - '@tsconfig/node12': 1.0.9 - '@tsconfig/node14': 1.0.1 - '@tsconfig/node16': 1.0.2 - '@types/node': 13.13.40 - acorn: 8.7.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.5.5 - yn: 3.1.1 - dev: true - - /ts-node/9.1.1_typescript@4.5.5: - resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} - engines: {node: '>=10.0.0'} - hasBin: true - peerDependencies: - typescript: '>=2.7' - dependencies: - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - source-map-support: 0.5.19 - typescript: 4.5.5 - yn: 3.1.1 - dev: true - - /tsconfig-paths/3.12.0: - resolution: {integrity: sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.1 - minimist: 1.2.5 - strip-bom: 3.0.0 - dev: true - - /tsconfig/7.0.0: - resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==} - dependencies: - '@types/strip-bom': 3.0.0 - '@types/strip-json-comments': 0.0.30 - strip-bom: 3.0.0 - strip-json-comments: 2.0.1 - dev: true - - /tslib/1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tslib/2.1.0: + /tslib@2.1.0: resolution: {integrity: sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==} dev: false - /tsscmp/1.0.6: + /tsscmp@1.0.6: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} dev: false - /tsutils/3.21.0_typescript@4.5.5: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - 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' - dependencies: - tslib: 1.14.1 - typescript: 4.5.5 - dev: true - - /type-check/0.3.2: + /type-check@0.3.2: resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 dev: false - /type-check/0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect/4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest/0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + /type-fest@4.18.1: + resolution: {integrity: sha512-qXhgeNsX15bM63h5aapNFcQid9jRF/l3ojDoDFmekDQEUufZ9U4ErVt6SjDxnHp48Ltrw616R8yNc3giJ3KvVQ==} + engines: {node: '>=16'} dev: true - /type-is/1.6.18: + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} dependencies: @@ -3854,138 +2155,81 @@ packages: mime-types: 2.1.28 dev: false - /typescript/4.5.5: - resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /uid2/0.0.3: + /uid2@0.0.3: resolution: {integrity: sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=} dev: false - /unpipe/1.0.0: + /unpipe@1.0.0: resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} engines: {node: '>= 0.8'} dev: false - /uri-js/4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.1.1 - dev: true - - /urijs/1.19.5: + /urijs@1.19.5: resolution: {integrity: sha512-48z9VGWwdCV5KfizHsE05DWS5fhK6gFlx5MjO7xu0Krc5FGPWzjlXEVV0nPMrdVuP7xmMHiPZ2HoYZwKOFTZOg==} dev: false - /utif/2.0.1: + /utif@2.0.1: resolution: {integrity: sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==} dependencies: pako: 1.0.11 dev: false - /util-deprecate/1.0.2: + /util-deprecate@1.0.2: resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} dev: false - /utils-merge/1.0.1: - resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - dev: false - - /v8-compile-cache/2.2.0: - resolution: {integrity: sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==} - dev: true - /validator/9.4.1: + /validator@9.4.1: resolution: {integrity: sha512-YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA==} engines: {node: '>= 0.10'} dev: false - /vary/1.1.2: + /vary@1.1.2: resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} engines: {node: '>= 0.8'} dev: false - /webidl-conversions/3.0.1: - resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=} - dev: false - - /webidl-conversions/6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} - dev: false - - /whatwg-url/5.0.0: - resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: false - - /whatwg-url/9.1.0: - resolution: {integrity: sha512-CQ0UcrPHyomtlOCot1TL77WyMIm/bCwrJ2D6AOKGwEczU9EpyoqAokfqrf/MioU9kHcMsmJZcg1egXix2KYEsA==} + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - dependencies: - tr46: 2.1.0 - webidl-conversions: 6.1.0 dev: false - /which-module/2.0.0: - resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} - dev: true - - /which/1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /wide-align/1.1.3: - resolution: {integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==} + /whatwg-url@13.0.0: + resolution: {integrity: sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==} + engines: {node: '>=16'} dependencies: - string-width: 2.1.1 - dev: true + tr46: 4.1.1 + webidl-conversions: 7.0.0 + dev: false - /with-callback/1.0.2: + /with-callback@1.0.2: resolution: {integrity: sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE=} engines: {node: '>=4'} dev: false - /word-wrap/1.2.3: + /word-wrap@1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} + dev: false - /wrap-ansi/5.1.0: - resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} - engines: {node: '>=6'} - dependencies: - ansi-styles: 3.2.1 - string-width: 3.1.0 - strip-ansi: 5.2.0 - dev: true - - /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} - dev: true - - /ws/6.2.1: + /ws@6.2.1: resolution: {integrity: sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true dependencies: async-limiter: 1.0.1 dev: false - /xhr/2.6.0: + /xhr@2.6.0: resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==} dependencies: global: 4.4.0 @@ -3994,11 +2238,11 @@ packages: xtend: 4.0.2 dev: false - /xml-parse-from-string/1.0.1: + /xml-parse-from-string@1.0.1: resolution: {integrity: sha1-qQKekp09vN7RafPG4oI42VpdWig=} dev: false - /xml2js/0.4.23: + /xml2js@0.4.23: resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} engines: {node: '>=4.0.0'} dependencies: @@ -4006,67 +2250,33 @@ packages: xmlbuilder: 11.0.1 dev: false - /xmlbuilder/11.0.1: + /xmlbuilder@11.0.1: resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} dev: false - /xregexp/2.0.0: + /xregexp@2.0.0: resolution: {integrity: sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=} dev: false - /xtend/4.0.2: + /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + dev: false - /y18n/4.0.1: - resolution: {integrity: sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==} - dev: true - - /yallist/2.1.2: + /yallist@2.1.2: resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=} dev: false - /yallist/4.0.0: + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: false - /yargs-parser/13.1.2: - resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - dev: true - - /yargs-unparser/1.6.0: - resolution: {integrity: sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==} - engines: {node: '>=6'} - dependencies: - flat: 4.1.1 - lodash: 4.17.20 - yargs: 13.3.2 - dev: true - - /yargs/13.3.2: - resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} - dependencies: - cliui: 5.0.0 - find-up: 3.0.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 3.1.0 - which-module: 2.0.0 - y18n: 4.0.1 - yargs-parser: 13.1.2 - dev: true - - /ylru/1.2.1: + /ylru@1.2.1: resolution: {integrity: sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==} engines: {node: '>= 4.0.0'} dev: false - /yn/3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true + /zod@3.23.4: + resolution: {integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==} + dev: false diff --git a/apps/api/app/app.ts b/apps/api/src/app.ts similarity index 63% rename from apps/api/app/app.ts rename to apps/api/src/app.ts index 3915bff9..100486a7 100644 --- a/apps/api/app/app.ts +++ b/apps/api/src/app.ts @@ -1,7 +1,10 @@ import { AssertionError } from "assert"; +import { ZodError } from "zod"; +import { flatten } from "@bgs/utils"; import type { Server } from "http"; import createError from "http-errors"; import jwt from "jsonwebtoken"; +import { ObjectId } from "mongodb"; /* Koa stuff */ import Koa from "koa"; import bodyParser from "koa-bodyparser"; @@ -12,12 +15,15 @@ import passport from "koa-passport"; import env from "./config/env"; /* Configure passport */ import "./config/passport"; -import { ApiError, User, UserDocument } from "./models"; +import { ApiError } from "./models"; /* Local stuff */ import router from "./routes"; +import { collections } from "./config/db"; +import { differenceInMinutes } from "date-fns"; +import type { User } from "@bgs/types"; -async function listen(port = env.listen.port.api) { - const app = new Koa<Koa.DefaultState & { user: UserDocument }>(); +async function listen(port = env.listen.port.api): Promise<Server> { + const app = new Koa<Koa.DefaultState & { user?: User<ObjectId> | null }>(); /* Configuration */ app.keys = [env.sessionSecret]; @@ -40,7 +46,7 @@ async function listen(port = env.listen.port.api) { const decoded = jwt.verify(token, env.jwt.keys.public) as { userId: string; scopes: string[] }; if (decoded && decoded.scopes.includes("all")) { - ctx.state.user = await User.findById(decoded.userId); + ctx.state.user = await collections.users.findOne({ _id: new ObjectId(decoded.userId) }); } }; @@ -62,19 +68,29 @@ async function listen(port = env.listen.port.api) { if (!env.silent) { console.error("Caught err", err); } + // todo: handle zod errors if (err instanceof createError.HttpError) { ctx.status = err.statusCode; ctx.body = { message: err.message }; - } else if (err.name === "ValidationError") { - const keys = Object.keys(err.errors); + } else if (err instanceof ZodError) { + const formattedError = err.format(); + + const message = Object.entries(flatten(formattedError) as Record<string, string[]>) + .filter( + (entry: [string, unknown]): entry is [string, string[]] => + !!(entry[0].endsWith("._errors") && Array.isArray(entry[1]) && entry[1].length) + ) + .map(([key, val]) => `${key.slice(0, -"._errors".length)}: ${val[0]}`) + .join(", "); + ctx.status = 422; - ctx.body = { message: err.errors[keys[0]].message }; + ctx.body = { message }; } else if (err instanceof AssertionError) { ctx.status = 422; ctx.body = { message: err.message }; } else { ctx.status = 500; - ctx.body = { message: "Internal error: " + err.message, stack: err.stack }; + ctx.body = { message: "Internal error: " + (err as Error).message, stack: (err as Error).stack }; } try { @@ -88,9 +104,9 @@ async function listen(port = env.listen.port.api) { body: JSON.stringify(ctx.request.body), }, error: { - name: err.name, - stack: err.stack, - message: err.message, + name: (err as Error).name, + stack: (err as Error).stack, + message: (err as Error).message, }, user: ctx.state.user?._id, meta: { @@ -117,9 +133,33 @@ async function listen(port = env.listen.port.api) { if (user) { if (!oldUser) { - await user.notifyLogin(ctx.ip); + await collections.users.updateOne( + { + _id: user._id, + }, + { + $set: { + "security.lastLogin.date": Date.now(), + "security.lastLogin.ip": ctx.ip, + "security.lastIp": ctx.ip, + }, + } + ); } else { - await user.notifyLastIp(ctx.ip); + if (user.security.lastIp !== ctx.ip || differenceInMinutes(Date.now(), user.security.lastActive) > 1) { + await collections.users.updateOne( + { + _id: user._id, + }, + { + $set: { + "security.lastActive": new Date(), + "security.lastIp": ctx.ip, + updatedAt: new Date(), + }, + } + ); + } } } }); @@ -128,7 +168,7 @@ async function listen(port = env.listen.port.api) { await next(); if (ctx.state.user) { - const user: UserDocument = ctx.state.user; + const user = ctx.state.user; // Token for forum SSO ctx.cookies.set( @@ -163,7 +203,7 @@ async function listen(port = env.listen.port.api) { console.log("app started on port", port, "and host", env.listen.host); - return server; + return server!; } export { listen }; diff --git a/apps/api/src/config/db.ts b/apps/api/src/config/db.ts new file mode 100644 index 00000000..ce192591 --- /dev/null +++ b/apps/api/src/config/db.ts @@ -0,0 +1,43 @@ +import cluster from "cluster"; +import { LockManager } from "mongo-locks"; +import { migrate } from "../models/migrations"; +import env from "./env"; +import { MongoClient } from "mongodb"; +import { + createApiErrorCollection, + createChatMessageCollection, + createGameCollection, + createGameInfoCollection, + createGameNotificationCollection, +} from "@bgs/models"; +import { createUserCollection } from "../models/user"; + +const client = new MongoClient(env.database.bgs.url, { directConnection: true, ignoreUndefined: true }); + +export const db = client.db(env.database.bgs.name); + +export const locks = new LockManager(db.collection("mongo-locks")); + +await db + .listCollections() + .toArray() + .then(() => { + console.log("Connected to database"); + }); + +export const collections = { + apiErrors: await createApiErrorCollection(db), + chatMessages: await createChatMessageCollection(db), + games: await createGameCollection(db), + gameNotifications: await createGameNotificationCollection(db), + gameInfos: await createGameInfoCollection(db), + users: await createUserCollection(db), +}; + +if (!env.isTest && cluster.isPrimary) { + await using lock = await locks.lock("db"); + + if (lock) { + await migrate(); + } +} diff --git a/apps/api/app/config/env.ts b/apps/api/src/config/env.ts similarity index 75% rename from apps/api/app/config/env.ts rename to apps/api/src/config/env.ts index 0e7b6e16..5aa3e24a 100644 --- a/apps/api/app/config/env.ts +++ b/apps/api/src/config/env.ts @@ -1,6 +1,7 @@ import fs from "fs"; import os from "os"; import path from "path"; +import dotenv from "dotenv"; const domain = process.env.domain || "boardgamers.space"; let dbName = process.env.dbName ?? "bgs"; @@ -11,15 +12,30 @@ if (process.env.NODE_ENV === "test") { dbName += "-dev"; } +const environment = process.env.NODE_ENV || "development"; + +const parsedEnv = dotenv.config().parsed ?? {}; +// Load non-sensitive default values for environment +const parsedDefaults = dotenv.config({ path: `.env.${environment}.example` }).parsed || {}; + +// Replace empty strings from the loaded envs by undefined +// An empty string in .env can still prevent the default value from being loaded +for (const key of [...Object.keys(parsedEnv), ...Object.keys(parsedDefaults)]) { + if (process.env[key] === "") { + delete process.env[key]; + } +} + export default { script: false, domain, + isTest: process.env.NODE_ENV === "test", site: process.env.site || `www.${domain}`, noreply: process.env.noreply || `BGS <no-reply@${domain}>`, contact: process.env.contact || `contact@${domain}`, title: process.env.title || "BGS", inviteOnly: process.env.inviteOnly || false, - minPasswordLength: process.env.minPasswordLength || 6, + minPasswordLength: isNaN(parseInt(process.env.minPasswordLength)) ? 6 : parseInt(process.env.minPasswordLength), sessionSecret: process.env.sessionSecret || "Quel est donc le secret mystère du succès de Gaia Project?!", jwt: { keys: { @@ -50,7 +66,7 @@ export default { nodebb: "mongodb://nodebb:NodeBBPassword@localhost:27017/nodebb", }, isProduction: process.env.NODE_ENV === "production", - threads: process.env.threads || os.cpus().length, + threads: isNaN(parseInt(process.env.threads)) ? os.cpus().length : parseInt(process.env.threads), /** Is the computer able to send emails? If not, let the main server send the emails */ automatedEmails: process.env.automatedEmails || false, cron: process.env.chron || process.env.cron || false, @@ -79,5 +95,5 @@ export default { secret: process.env.googleSecret || "google-oauth-secret", }, }, - silent: false, + silent: process.env.silent === "true", }; diff --git a/apps/api/app/config/index.ts b/apps/api/src/config/index.ts similarity index 100% rename from apps/api/app/config/index.ts rename to apps/api/src/config/index.ts diff --git a/apps/api/app/config/nginx b/apps/api/src/config/nginx similarity index 100% rename from apps/api/app/config/nginx rename to apps/api/src/config/nginx diff --git a/apps/api/app/config/passport.ts b/apps/api/src/config/passport.ts similarity index 51% rename from apps/api/app/config/passport.ts rename to apps/api/src/config/passport.ts index a54ea0e6..0c85c54d 100644 --- a/apps/api/app/config/passport.ts +++ b/apps/api/src/config/passport.ts @@ -2,14 +2,22 @@ import assert from "assert"; import createError from "http-errors"; import jwt from "jsonwebtoken"; import passport from "koa-passport"; -import type { Strategy } from "passport"; +import type { Profile, Strategy } from "passport"; import { Strategy as DiscordStrategy } from "passport-discord"; +import type { StrategyOptionWithRequest } from "passport-facebook"; import { Strategy as FacebookStrategy } from "passport-facebook"; +import type { VerifyCallback } from "passport-google-oauth20"; import { Strategy as GoogleStrategy } from "passport-google-oauth20"; import { Strategy as LocalStrategy } from "passport-local"; import validator from "validator"; -import { User, UserDocument } from "../models"; +import { DEFAULT_KARMA, MAX_EMAIL_LENGTH, MAX_USERNAME_LENGTH, MIN_USERNAME_LENGTH, UserUtils } from "../models"; import env from "./env"; +import { z } from "zod"; +import type { SocialProvider } from "@bgs/types"; +import type { User } from "@bgs/types"; +import { ObjectId } from "mongodb"; +import { differenceInHours } from "date-fns"; +import { collections } from "./db"; // ========================================================================= // LOCAL SIGNUP ============================================================ @@ -43,38 +51,72 @@ passport.use( } // check to see if there's already a user with that email - if (await User.findByEmail(email)) { + if (await UserUtils.findByEmail(email)) { throw createError(409, "Email is already taken"); } - const { username } = req.body; + const { username } = z + .object({ + username: z.string().min(MIN_USERNAME_LENGTH).max(MAX_USERNAME_LENGTH).trim(), + }) + .parse(req.body); - if (!username) { - throw createError(422, "Specify a username"); - } - - if (await User.findByUsername(username)) { + if (await UserUtils.findByUsername(username)) { throw createError(422, `Username ${username} is taken`); } + email = z.string().email().toLowerCase().trim().max(MAX_EMAIL_LENGTH).parse(email); + // if there is no user with that email // create the user - const newUser = new User(); + const newUser: User<ObjectId> = { + _id: new ObjectId(), + account: { + email, + username, + termsAndConditions: new Date(), + password: await UserUtils.generateHash(password), + avatar: "pixel-art", + karma: DEFAULT_KARMA, + bio: "", + social: {}, + }, + security: { + slug: UserUtils.generateSlug(username), + confirmed: false, + confirmKey: UserUtils.generateConfirmKey(), + lastActive: new Date(), + lastOnline: new Date(), + lastLogin: { + date: new Date(), + ip: req.ip, + }, + lastIp: req.ip, + }, + settings: { + mailing: { + newsletter: req.body.newsletter === true || req.body.newsletter === "true", + game: { + delay: 0, + activated: false, + }, + }, + game: { + soundNotification: false, + }, + home: { + showMyGames: true, + }, + }, + meta: {}, + + createdAt: new Date(), + updatedAt: new Date(), + }; - // set the user's local credentials - newUser.account.email = email; - newUser.account.username = username; - newUser.account.termsAndConditions = new Date(); - newUser.account.password = await newUser.generateHash(password); - newUser.settings.mailing.newsletter = req.body.newsletter === true || req.body.newsletter === "true"; - newUser.generateConfirmKey(); - - // save the user - await newUser.save(); - - if (!newUser.security.confirmed) { - await newUser.sendConfirmationEmail(); - } + await collections.users.insertOne(newUser); + + await UserUtils.sendConfirmationEmail(newUser); return done(null, newUser); } catch (err) { @@ -93,7 +135,7 @@ passport.use( passwordField: "username", passReqToCallback: true, // allows us to pass back the entire request to the callback }, - async (req, username, password, done) => { + async (req, username, _password, done) => { try { const { jwt: token } = req.body; @@ -101,11 +143,9 @@ passport.use( throw createError(422, "You need to read and agree to the terms and conditions"); } - if (!username) { - throw createError(422, "Specify a username"); - } + username = z.string().min(MIN_USERNAME_LENGTH).max(MAX_USERNAME_LENGTH).trim().parse(username); - if (await User.findByUsername(username)) { + if (await UserUtils.findByUsername(username)) { throw createError(422, `Username ${username} is taken`); } @@ -119,15 +159,51 @@ passport.use( assert(["google", "facebook", "discord"].includes(decoded.provider), "Uknown social provider"); // create the user - const newUser = new User(); - - newUser.account.username = username; - newUser.account.social[decoded.provider] = decoded.id; - newUser.account.termsAndConditions = new Date(); - newUser.security.confirmed = true; + const newUser: User<ObjectId> = { + _id: new ObjectId(), + account: { + username, + termsAndConditions: new Date(), + avatar: "pixel-art", + karma: DEFAULT_KARMA, + bio: "", + social: { + [decoded.provider]: decoded.id, + }, + }, + security: { + slug: UserUtils.generateSlug(username), + confirmed: true, + lastActive: new Date(), + lastOnline: new Date(), + lastLogin: { + date: new Date(), + ip: req.ip, + }, + lastIp: req.ip, + }, + settings: { + mailing: { + newsletter: req.body.newsletter === true || req.body.newsletter === "true", + game: { + delay: 0, + activated: false, + }, + }, + game: { + soundNotification: false, + }, + home: { + showMyGames: true, + }, + }, + meta: {}, + + createdAt: new Date(), + updatedAt: new Date(), + }; - // save the user - await newUser.save(); + await collections.users.insertOne(newUser); return done(null, newUser); } catch (err) { @@ -155,17 +231,28 @@ passport.use( throw createError(422, "Password too short"); } - const user = await User.findByEmail(email); + const user = await UserUtils.findByEmail(email); // check to see if theres already a user with that email if (!user) { throw createError(404, "No user with this email"); } - user.validateResetKey(req.body.resetKey); + const passedKey = z.object({ resetKey: z.string() }).parse(req.body).resetKey; + + if (!user.security.reset?.key) { + throw new Error("This user didn't ask for a password reset."); + } + if (user.security.reset.key !== passedKey) { + throw new Error("The reset password link is wrong."); + } + const resetIssued = new Date(user.security.reset.issued); + if (differenceInHours(new Date(), resetIssued) > 24) { + throw new Error("The reset link has expired."); + } // set the user's local credentials - await user.resetPassword(password); + await UserUtils.resetPassword(user._id, password); return done(null, user); } catch (err) { @@ -191,14 +278,18 @@ passport.use( }, async (email, password, done) => { try { - const user = await User.findByEmail(email); + const user = await UserUtils.findByEmail(email); // if no user is found, return the message if (!user) { throw createError(404, `${email} isn't registered`); } + if (!user.account.password) { + throw createError(401, "You need to login with your social account or reset your password"); + } + // if the user is found but the password is wrong - if (!(await user.validPassword(password))) { + if (!(await UserUtils.validPassword(password, user.account.password))) { throw createError(401, "Oops! Wrong password"); } done(null, user); @@ -209,7 +300,19 @@ passport.use( ) ); -function makeSocialStrategy<T extends Strategy>(provider: string, SocialStrategy: new (...args: unknown[]) => T) { +function makeSocialStrategy<T extends Strategy>( + provider: SocialProvider, + SocialStrategy: new ( + arg1: StrategyOptionWithRequest, + arg2: ( + req: Express.Request, + accessToken: string, + refreshToken: string, + profile: Profile, + done: VerifyCallback + ) => void + ) => T +) { passport.use( provider, new SocialStrategy( @@ -219,39 +322,43 @@ function makeSocialStrategy<T extends Strategy>(provider: string, SocialStrategy passReqToCallback: true, callbackURL: `https://${env.site}/auth/${provider}/callback`, }, - async function (req, token, tokenSecret, profile, done) { + async function (req, _token, _tokenSecret, profile, done) { try { - const currentUser: UserDocument = req.user; - const existingUser = await User.findOne({ [`account.social.${provider}`]: profile.id }); + const currentUser = req.user as User<ObjectId> | undefined; + const existingUser = await collections.users.findOne({ [`account.social.${provider}`]: profile.id }); if (currentUser) { - if (existingUser && existingUser._id === currentUser._id) { - done(null, existingUser); + if (existingUser && existingUser._id.equals(currentUser._id)) { + done(undefined, existingUser); return; } assert(!currentUser.account.social[provider], `You already have a ${provider} account connected`); assert(!existingUser, `Another user is already connected to that ${provider} account`); currentUser.account.social[provider] = profile.id; + await collections.users.updateOne( + { _id: currentUser._id }, + { $set: { [`account.social.${provider}`]: profile.id }, updatedAt: new Date() } + ); - await currentUser.save(); - done(null, currentUser); + done(undefined, currentUser); } else { if (existingUser) { - done(null, existingUser); + done(undefined, existingUser); } else { // Create a new account - done(null, { createSocialAccount: true, provider, id: profile.id }); + done(undefined, { createSocialAccount: true, provider, id: profile.id }); } } } catch (err) { - done(err); + done(err as Error); } } ) ); } +// @ts-expect-error can't fix them all makeSocialStrategy("discord", DiscordStrategy); makeSocialStrategy("google", GoogleStrategy); makeSocialStrategy("facebook", FacebookStrategy); diff --git a/apps/api/app/config/sendmail.ts b/apps/api/src/config/sendmail.ts similarity index 100% rename from apps/api/app/config/sendmail.ts rename to apps/api/src/config/sendmail.ts diff --git a/apps/api/app/engine/elo.spec.ts b/apps/api/src/engine/elo.spec.ts similarity index 95% rename from apps/api/app/engine/elo.spec.ts rename to apps/api/src/engine/elo.spec.ts index 06545799..b8c746b8 100644 --- a/apps/api/app/engine/elo.spec.ts +++ b/apps/api/src/engine/elo.spec.ts @@ -1,5 +1,5 @@ -import { expect } from "chai"; import { eloDiff } from "./elo"; +import { describe, it, expect } from "vitest"; describe("eloDiff", () => { it("should let player win if the opponent dropped", () => { diff --git a/apps/api/app/engine/elo.ts b/apps/api/src/engine/elo.ts similarity index 100% rename from apps/api/app/engine/elo.ts rename to apps/api/src/engine/elo.ts diff --git a/apps/api/src/models/game.ts b/apps/api/src/models/game.ts new file mode 100644 index 00000000..9255b90d --- /dev/null +++ b/apps/api/src/models/game.ts @@ -0,0 +1,32 @@ +import type { Game, GameStatus } from "@bgs/types"; +import type { ObjectId, FindCursor, WithId } from "mongodb"; +import { collections } from "../config/db"; + +export namespace GameUtils { + export function findWithPlayer(playerId: ObjectId): FindCursor<WithId<Game<ObjectId>>> { + return collections.games.find({ "players._id": playerId }).sort({ lastMove: -1 }); + } + + export function findWithPlayersTurn(playerId: ObjectId): FindCursor<WithId<Game<ObjectId>>> { + return collections.games + .find({ status: { $in: ["active", "open"] satisfies GameStatus[] }, "currentPlayers._id": playerId }) + .sort({ status: -1, lastMove: -1 }); + } + + export async function basicProjection(): Promise<string[]> { + return [ + "players", + "currentPlayers", + "options.setup.nbPlayers", + "options.timing", + "game.expansions", + "game.name", + "game.version", + "status", + "creator", + "data.round", + "lastMove", + "createdAt", + ]; + } +} diff --git a/apps/api/src/models/gameinfo.ts b/apps/api/src/models/gameinfo.ts new file mode 100644 index 00000000..e0b75826 --- /dev/null +++ b/apps/api/src/models/gameinfo.ts @@ -0,0 +1,17 @@ +import type { GameInfo } from "@bgs/types"; +import { collections } from "../config/db"; + +export namespace GameInfoUtils { + export async function findWithVersion(game: string, version: number | "latest"): Promise<GameInfo | null> { + if (version === "latest") { + return await collections.gameInfos.findOne({ "_id.game": game }, { sort: { "_id.version": -1 } }); + } + + return await collections.gameInfos.findOne({ + _id: { + game, + version, + }, + }); + } +} diff --git a/apps/api/app/models/gamenotification.spec.ts b/apps/api/src/models/gamenotification.spec.ts similarity index 65% rename from apps/api/app/models/gamenotification.spec.ts rename to apps/api/src/models/gamenotification.spec.ts index 9eb5541e..fcda1bda 100644 --- a/apps/api/app/models/gamenotification.spec.ts +++ b/apps/api/src/models/gamenotification.spec.ts @@ -1,13 +1,14 @@ -import chai, { expect } from "chai"; -import chaiAsPromised from "chai-as-promised"; -import mongoose, { Types } from "mongoose"; -import { defaultKarma, Game, GameNotification, GamePreferences, maxKarma, User } from "./index"; - -const { ObjectId } = Types; - -chai.use(chaiAsPromised); +import { DEFAULT_KARMA, GameNotification, GamePreferences, MAX_KARMA, User } from "./index"; +import { afterEach, beforeEach, describe, expect, it } from "vitest"; +import { TestUtils } from "../services/testutils"; +import { ObjectId } from "mongodb"; +import { collections } from "../config/db"; +import assert from "assert"; describe("GameNotification", () => { + afterEach(async () => { + await TestUtils.deleteDocuments(); + }); const userId = new ObjectId(); const userId2 = new ObjectId(); const userId3 = new ObjectId(); @@ -15,24 +16,11 @@ describe("GameNotification", () => { describe("processGameEnded", () => { describe("karma", () => { - before(async () => { - await mongoose.connection.db.dropDatabase(); - + beforeEach(async () => { await User.create({ _id: userId, account: { username: "test", email: "test@test.com" } }); await User.create({ _id: userId2, account: { username: "test2", email: "test2@test.com" } }); - await Game.create({ - _id: "test", - game: { - name: "gaia-project", - version: 0, - }, - players: [ - { _id: userId, dropped: false }, - { _id: userId2, dropped: true }, - ], - }); + await TestUtils.createGame("test", [userId, userId2]); }); - after(() => mongoose.connection.db.dropDatabase()); it("should add karma to the active player and no karma to the dropped player", async () => { await GameNotification.create({ kind: "gameEnded", game: "test" }); @@ -40,18 +28,18 @@ describe("GameNotification", () => { const user = await User.findById(userId); const user2 = await User.findById(userId2); - expect(user.account.karma).to.equal(defaultKarma + 1); - expect(user2.account.karma).to.equal(defaultKarma); + expect(user.account.karma).to.equal(DEFAULT_KARMA + 1); + expect(user2.account.karma).to.equal(DEFAULT_KARMA); }); it("should not go above 100", async () => { await GameNotification.create({ kind: "gameEnded", game: "test" }); - await User.updateOne({ _id: userId }, { $set: { "account.karma": maxKarma } }); + await User.updateOne({ _id: userId }, { $set: { "account.karma": MAX_KARMA } }); await GameNotification.processGameEnded(); const user = await User.findById(userId); - expect(user.account.karma).to.equal(maxKarma); + expect(user.account.karma).to.equal(MAX_KARMA); }); }); @@ -61,24 +49,16 @@ describe("GameNotification", () => { await User.create({ _id: userId2, account: { username: "test2", email: "test2@test.com" } }); await User.create({ _id: userId3, account: { username: "test3", email: "test3@test.com" } }); await User.create({ _id: userId4, account: { username: "test4", email: "test4@test.com" } }); - await Game.create({ - _id: "test", - game: { - name: "gaia-project", - version: 0, - }, - players: [ - { _id: userId, score: 40, dropped: false }, - { _id: userId2, score: 30, dropped: false }, - { _id: userId3, score: 20, dropped: false }, - { _id: userId4, score: 25, dropped: false }, - ], - }); + const game = await TestUtils.createGame("test", [userId, userId2, userId3, userId4]); + game.players[0].score = 40; + game.players[1].score = 30; + game.players[2].score = 20; + game.players[3].score = 25; + await collections.games.updateOne({ _id: "test" }, { $set: { players: game.players } }); await GamePreferences.create({ game: "gaia-project", user: userId, elo: { value: 120, games: 120 } }); await GamePreferences.create({ game: "gaia-project", user: userId2, elo: { value: 110, games: 110 } }); await GamePreferences.create({ game: "gaia-project", user: userId3, elo: { value: 105, games: 5 } }); }); - afterEach(() => mongoose.connection.db.dropDatabase()); it("should add elo to player and player2, and min elo 100 to player3, set elo 1 to beginner player4 ", async () => { await GameNotification.create({ kind: "gameEnded", game: "test" }); @@ -94,17 +74,18 @@ describe("GameNotification", () => { expect(userPref3.elo.value).to.equal(100); expect(userPref4.elo.value).to.equal(1); expect(userPref4.elo.games).to.equal(1); - const game = await Game.findOne({ _id: "test" }); - expect(game.players[0].elo.initial).to.equal(120); - expect(game.players[0].elo.delta).to.equal(16); - expect(game.players[2].elo.initial).to.equal(105); - expect(game.players[2].elo.delta).to.equal(-58); - expect(game.players[3].elo.initial).to.equal(0); - expect(game.players[3].elo.delta).to.equal(-1); + const game = await collections.games.findOne({ _id: "test" }); + assert(game, "Game should exist"); + expect(game.players[0].elo?.initial).to.equal(120); + expect(game.players[0].elo?.delta).to.equal(16); + expect(game.players[2].elo?.initial).to.equal(105); + expect(game.players[2].elo?.delta).to.equal(-58); + expect(game.players[3].elo?.initial).to.equal(0); + expect(game.players[3].elo?.delta).to.equal(-1); }); it("should work when ranking is set", async () => { - await Game.updateOne( + await collections.games.updateOne( { _id: "test" }, { $set: { @@ -133,45 +114,46 @@ describe("GameNotification", () => { expect(userPref3.elo.value).to.equal(100); expect(userPref4.elo.value).to.equal(1); expect(userPref4.elo.games).to.equal(1); - const game = await Game.findOne({ _id: "test" }); - expect(game.players[0].elo.initial).to.equal(120); - expect(game.players[0].elo.delta).to.equal(16); - expect(game.players[2].elo.initial).to.equal(105); - expect(game.players[2].elo.delta).to.equal(-58); - expect(game.players[3].elo.initial).to.equal(0); - expect(game.players[3].elo.delta).to.equal(-1); + const game = await collections.games.findOne({ _id: "test" }); + assert(game, "Game should exist"); + expect(game.players[0].elo?.initial).to.equal(120); + expect(game.players[0].elo?.delta).to.equal(16); + expect(game.players[2].elo?.initial).to.equal(105); + expect(game.players[2].elo?.delta).to.equal(-58); + expect(game.players[3].elo?.initial).to.equal(0); + expect(game.players[3].elo?.delta).to.equal(-1); }); it("should not cause errors when dealing with a cancelled game", async () => { - await Game.create({ - _id: "testCancelled", - game: { - name: "gaia-project", - version: 0, - }, - players: [ - { _id: userId, score: 40, dropped: false }, - { _id: userId2, score: 30, dropped: true }, - { _id: userId3, score: 20, dropped: false }, - { _id: userId4, score: 25, dropped: false }, - ], - }); + const game = await TestUtils.createGame("testCancelled", [userId, userId2, userId3, userId4]); + game.players[0].score = 40; + game.players[1].score = 30; + game.players[2].score = 20; + game.players[3].score = 25; + game.players[1].dropped = true; + + await collections.games.updateOne( + { _id: "testCancelled" }, + { + $set: { + players: game.players, + }, + } + ); await GameNotification.create({ kind: "gameEnded", game: "testCancelled" }); - await expect(GameNotification.processGameEnded()).to.eventually.be.fulfilled; + await GameNotification.processGameEnded(); }); }); }); describe("processPlayerDrop", () => { - before(async () => { + beforeEach(async () => { await User.create({ _id: userId, account: { username: "test", email: "test@test.com" } }); await User.create({ _id: userId2, account: { username: "test2", email: "test2@test.com" } }); }); - after(() => mongoose.connection.db.dropDatabase()); - it("should drop 10 karma after dropping out", async () => { await GameNotification.create({ user: userId, @@ -182,7 +164,7 @@ describe("GameNotification", () => { const user = await User.findById(userId); - expect(user.account.karma).to.equal(defaultKarma - 10); + expect(user.account.karma).to.equal(DEFAULT_KARMA - 10); expect(await GameNotification.countDocuments({ processed: false })).to.equal( 0, "Game notifications should be cleaned up" @@ -202,7 +184,7 @@ describe("GameNotification", () => { const user = await User.findById(userId); - expect(user.account.karma).to.equal(defaultKarma - 10 - 30); + expect(user.account.karma).to.equal(DEFAULT_KARMA - 10 - 30); }); it("should handle multiple player drops simulatenously", async () => { @@ -225,8 +207,8 @@ describe("GameNotification", () => { const user = await User.findById(userId); const user2 = await User.findById(userId2); - expect(user.account.karma).to.equal(defaultKarma - 10 - 30 - 30); - expect(user2.account.karma).to.equal(defaultKarma - 10); + expect(user.account.karma).to.equal(DEFAULT_KARMA - 10 - 30 - 30); + expect(user2.account.karma).to.equal(DEFAULT_KARMA - 10); }); }); }); diff --git a/apps/api/src/models/gamenotification.ts b/apps/api/src/models/gamenotification.ts new file mode 100644 index 00000000..d26d7384 --- /dev/null +++ b/apps/api/src/models/gamenotification.ts @@ -0,0 +1,126 @@ +import type { Game, GameNotification } from "@bgs/types"; +import EloService from "../services/elo"; +import type { LogItem } from "./log"; +import { Log } from "./log"; +import type { ObjectId } from "mongodb"; +import { MAX_KARMA, User } from "./user"; +import { collections, locks } from "../config/db"; +import type { PickDeep } from "type-fest"; + +export namespace GameNotificationUtils { + export async function processCurrentMove(): Promise<void> { + const notifications = await collections.gameNotifications + .find({ kind: "currentMove", processed: false }) + .project<Pick<GameNotification<ObjectId>, "user" | "_id">>({ + user: 1, + _id: 1, + }) + .toArray(); + + const users = await User.find({ _id: { $in: notifications.map((notification) => notification.user) } }); + + for (const user of users) { + await user.updateGameNotification(); + } + + await collections.gameNotifications.updateMany( + { _id: { $in: notifications.map((x) => x._id) } }, + { $set: { processed: true } } + ); + } + + export async function processGameEnded(): Promise<void> { + await using lock = await locks.lock(["game-notification", "gameEnded"]); + + if (!lock) { + return; + } + + const notifications = await collections.gameNotifications + .find({ kind: "gameEnded", processed: false }) + .project<Pick<GameNotification<ObjectId>, "game" | "_id">>({ + game: 1, + _id: 1, + }) + .toArray(); + + for (const notification of notifications) { + const game = await collections.games.findOne< + PickDeep<Game<ObjectId>, "players" | "game.name" | "cancelled" | "_id"> + >({ _id: notification.game }, { projection: { players: 1, "game.name": 1, cancelled: 1 } }); + + if (!game) { + await collections.gameNotifications.updateOne( + { _id: notification._id }, + { $set: { processed: true, updatedAt: new Date() } } + ); + continue; + } + + // KARMA + if (!game.cancelled) { + await User.updateMany({ _id: { $in: game.players.filter((pl) => !pl.dropped).map((pl) => pl._id) } }, [ + { + $set: { + "account.karma": { + $min: [{ $add: ["$account.karma", 1] }, MAX_KARMA], + }, + }, + }, + ]); + } + + // ELO + await EloService.processGame(game); + + await Promise.all([ + collections.gameNotifications.updateOne( + { _id: notification._id }, + { $set: { processed: true, updatedAt: new Date() } } + ), + Log.create({ kind: "processGameEnded", data: { game: notification.game } }), + ]); + } + } + + export async function processPlayerDrop(): Promise<void> { + await using lock = await locks.lock(["game-notification", "playerDrop"]); + + if (!lock) { + return; + } + + const notifications = await collections.gameNotifications + .find({ kind: "playerDrop", processed: false }) + .project<Pick<GameNotification<ObjectId>, "user" | "_id" | "game">>({ + user: 1, + _id: 1, + game: 1, + }) + .toArray(); + + let userIds = notifications.map((not) => not.user).filter((x) => x !== undefined); + + // The loop is in case a player drops one or more players at a time + do { + const set = new Set(userIds.map((id) => id.toString())); + + await User.updateMany({ _id: { $in: userIds } }, { $inc: { "account.karma": -10 } }); + + userIds = userIds.filter((id) => !set.delete(id.toString())); + } while (userIds.length > 0); + + await Promise.all([ + Log.insertMany( + notifications.map( + (notification) => + ({ kind: "processPlayerDrop", data: { game: notification.game, player: notification.user } }) as LogItem + ) + ), + collections.gameNotifications.updateMany( + { _id: { $in: notifications.map((x) => x._id) } }, + { $set: { processed: true, updatedAt: new Date() } } + ), + ]); + } +} diff --git a/apps/api/app/models/gamepreferences.ts b/apps/api/src/models/gamepreferences.ts similarity index 100% rename from apps/api/app/models/gamepreferences.ts rename to apps/api/src/models/gamepreferences.ts diff --git a/apps/api/app/models/images.ts b/apps/api/src/models/images.ts similarity index 100% rename from apps/api/app/models/images.ts rename to apps/api/src/models/images.ts diff --git a/apps/api/app/models/jwtrefreshtokens.ts b/apps/api/src/models/jwtrefreshtokens.ts similarity index 100% rename from apps/api/app/models/jwtrefreshtokens.ts rename to apps/api/src/models/jwtrefreshtokens.ts diff --git a/apps/api/app/models/log.ts b/apps/api/src/models/log.ts similarity index 100% rename from apps/api/app/models/log.ts rename to apps/api/src/models/log.ts diff --git a/apps/api/app/models/migrations.ts b/apps/api/src/models/migrations.ts similarity index 100% rename from apps/api/app/models/migrations.ts rename to apps/api/src/models/migrations.ts diff --git a/apps/api/app/models/page.ts b/apps/api/src/models/page.ts similarity index 100% rename from apps/api/app/models/page.ts rename to apps/api/src/models/page.ts diff --git a/apps/api/app/models/roommetadata.ts b/apps/api/src/models/roommetadata.ts similarity index 100% rename from apps/api/app/models/roommetadata.ts rename to apps/api/src/models/roommetadata.ts diff --git a/apps/api/app/models/settings.ts b/apps/api/src/models/settings.ts similarity index 100% rename from apps/api/app/models/settings.ts rename to apps/api/src/models/settings.ts diff --git a/apps/api/src/models/user.ts b/apps/api/src/models/user.ts new file mode 100644 index 00000000..c2ad0d6d --- /dev/null +++ b/apps/api/src/models/user.ts @@ -0,0 +1,267 @@ +import type { Game, User } from "@bgs/types"; +import bcrypt from "bcryptjs"; +import crypto from "crypto"; +import type { Db, Collection } from "mongodb"; +import { ObjectId } from "mongodb"; +import { isEmpty, pick } from "lodash"; +import { env, sendmail } from "../config"; +import type { JsonObject, PickDeep } from "type-fest"; +import { collections, db, locks } from "../config/db"; +import { htmlEscape } from "@bgs/utils"; +import { GameUtils } from "./game"; + +export const DEFAULT_KARMA = 75; +export const MAX_KARMA = 100; +export const MIN_USERNAME_LENGTH = 2; +export const MAX_USERNAME_LENGTH = 20; +export const MAX_BIO_LENGTH = 500; +export const MAX_EMAIL_LENGTH = 50; + +const secureId = () => crypto.randomBytes(12).toString("base64").replace(/\+/g, "_").replace(/\//g, "-"); + +export namespace UserUtils { + export function isAdmin(authority: User["authority"]): authority is "admin" { + return authority === "admin"; + } + export function generateHash(password: string): Promise<string> { + return bcrypt.hash(password, 8); + } + export function generateConfirmKey(): string { + return secureId(); + } + + export function validPassword(password: string, hash: string): Promise<boolean> { + return bcrypt.compare(password, hash); + } + + export async function resetPassword(_id: User<ObjectId>["_id"], password: string): Promise<void> { + const hash = await generateHash(password); + await collections.users.updateOne( + { _id }, + { $set: { "account.password": hash, updatedAt: new Date() }, $unset: { "security.reset": "" } } + ); + } + + export const publicFields = Object.freeze([ + "_id", + "account.username", + "account.bio", + "account.karma", + "createdAt", + ] as const); + + export const publicProjection = Object.fromEntries(publicFields.map((field) => [field, 1])); + + export type PublicUser = PickDeep<User, (typeof publicFields)[number]>; + + export function publicInfo(user: User): PublicUser { + return pick(user, publicFields) as PublicUser; + } + + export function generateSlug(username: string): string { + return username.toLowerCase().replace(/\s+/, "-"); + } + + export async function findByUsername(username: string): Promise<User<ObjectId> | null> { + return collections.users.findOne({ "security.slug": generateSlug(username) }); + } + + export async function findByEmail(email: string): Promise<User<ObjectId> | null> { + return collections.users.findOne({ "account.email": email.toLowerCase().trim() }); + } + + export async function findByUrl(urlComponent: string): Promise<User<ObjectId> | null> { + return collections.users.findOne({ _id: new ObjectId(urlComponent) }); + } + + export function sanitize(user: User<ObjectId>): JsonObject { + const json = JSON.parse(JSON.stringify(user)); + delete json.account.password; + delete json.security.confirmKey; + if (json.reset) { + delete json.reset.key; + } + + return json; + } + + export async function sendConfirmationEmail(user: User<ObjectId>): Promise<void> { + if (user.account.email && !user.security.confirmed && user.security.confirmKey) { + await sendmail({ + from: env.noreply, + to: user.account.email, + subject: "Confirm your account", + html: ` + <p>Hello, we're delighted to have a new Gaia Project player among us!</p> + <p>To finish your registration and confirm your account with us at ${env.site}, + click <a href='https://${env.site}/confirm?key=${encodeURIComponent( + user.security.confirmKey + )}&email=${encodeURIComponent(user.account.email)}'>here</a>.</p> + + <p>If you didn't create an account with us, ignore this email.</p>`, + }); + } else { + throw new Error("User is already confirmed."); + } + } + + export async function sendMailChangeEmail(user: User<ObjectId>, newEmail: string): Promise<void> { + if (!user.account.email) { + return; + } + + await sendmail({ + from: env.noreply, + to: user.account.email, + subject: "Mail change", + html: ` + <p>Hello ${user.account.username},</p> + <p>We're here to send you confirmation of your email change to ${htmlEscape(newEmail)}!</p> + <p>If you didn't change your email, please contact us ASAP at ${env.contact}.`, + }); + } + + export async function sendGameNotificationEmail(_user: User<ObjectId>): Promise<void> { + await using lock = await locks.lock(["game-notification", _user._id]); + + // Inside the lock, reload the user + const user = await collections.users.findOne({ _id: _user._id }); + + if (!user) { + return; + } + + if (!user.settings.mailing.game.activated) { + await collections.users.updateOne({ _id: user._id }, { $set: { "meta.nextGameNotification": undefined } }); + return; + } + + if (!user.meta.nextGameNotification) { + return; + } + + if (user.meta.nextGameNotification > new Date()) { + return; + } + + /* check if timer already started was present at the time of the last notification for at least one game*/ + const count = await collections.games.countDocuments( + { + currentPlayers: { $elemMatch: { _id: user._id, timerStart: { $lt: user.meta.lastGameNotification } } }, + status: "active", + }, + { limit: 1 } + ); + + if (count > 0) { + return; + } + + const activeGames = await GameUtils.findWithPlayersTurn(user._id) + .project<PickDeep<Game<ObjectId>, "_id" | "currentPlayers">>({ _id: 1, currentPlayers: 1 }) + .toArray(); + + if (activeGames.length === 0) { + await collections.users.updateOne({ _id: user._id }, { $set: { "meta.nextGameNotification": null } }); + return; + } + + /* Check the oldest game where it's your turn */ + let lastMove: Date = new Date(); + for (const game of activeGames) { + const timerStart = game.currentPlayers?.find((pl) => pl._id.equals(user._id))?.timerStart; + if (timerStart && timerStart < lastMove) { + lastMove = timerStart; + } + } + + /* Test if we're sending the notification too early */ + const notificationDate = new Date(lastMove.getTime() + (user.settings.mailing.game.delay || 30 * 60) * 1000); + + if (notificationDate > new Date()) { + await collections.users.updateOne( + { + _id: user._id, + }, + { + $set: { "meta.nextGameNotification": notificationDate }, + } + ); + return; + } + + const gameString = activeGames.length > 1 ? `${activeGames.length} games` : "one game"; + + // Send email + if (user.account.email && user.security.confirmed) { + sendmail({ + from: env.noreply, + to: user.account.email, + subject: `Your turn`, + html: ` + <p>Hello ${user.account.username}</p> + + <p>It's your turn on ${gameString}, + click <a href='https://${env.site}/user/${encodeURIComponent( + user.account.username + )}'>here</a> to see your active games.</p> + + <p>You can also change your email settings and unsubscribe <a href='http://${ + env.site + }/account'>here</a> with a simple click.</p>`, + }).catch(console.error); + } + + user.meta.nextGameNotification = undefined; + user.meta.lastGameNotification = new Date(Date.now()); + + await collections.users.updateOne( + { _id: user._id }, + { $set: { "meta.lastGameNotification": user.meta.lastGameNotification, "meta.nextGameNotification": null } } + ); + } + + export async function updateGameNotification(user: User<ObjectId>): Promise<void> { + if (!user.settings.mailing.game.activated) { + return; + } + const date = new Date(Date.now() + (user.settings.mailing.game.delay || 30 * 60) * 1000); + if (!user.meta.nextGameNotification || user.meta.nextGameNotification > date) { + user.meta.nextGameNotification = date; + await collections.users.updateOne({ _id: user._id }, { $set: { "meta.nextGameNotification": date } }); + } + } + + export async function recalculateKarma(user: User<ObjectId>, since = new Date(0)): Promise<void> { + const games = await collections.games + .find({ "players._id": user._id, lastMove: { $gte: since } }, { projection: { status: 1, cancelled: 1 } }) + .toArray(); + + let karma = DEFAULT_KARMA; + + for (const game of games) { + if (game.players.find((player) => player._id.equals(user._id))?.dropped) { + karma -= 10; + } else if (!game.cancelled && game.status === "ended") { + karma = Math.min(karma + 1, MAX_KARMA); + } + } + + await collections.users.updateOne({ _id: user._id }, { $set: { "account.karma": karma } }); + } +} + +export async function createUserCollection(db: Db): Promise<Collection<User<ObjectId>>> { + const collection = db.collection<User<ObjectId>>("users"); + + await collection.createIndex({ "account.username": 1 }, { unique: true }); + await collection.createIndex({ "security.slug": 1 }, { unique: true }); + await collection.createIndex({ "security.lastIp": 1 }); + await collection.createIndex({ "account.email": 1 }, { unique: true, sparse: true }); + + await collection.createIndex({ "social.facebook": 1 }, { unique: true, sparse: true }); + await collection.createIndex({ "social.google": 1 }, { unique: true, sparse: true }); + await collection.createIndex({ "social.discord": 1 }, { unique: true, sparse: true }); + + return collection; +} diff --git a/apps/api/app/resources.ts b/apps/api/src/resources.ts similarity index 100% rename from apps/api/app/resources.ts rename to apps/api/src/resources.ts diff --git a/apps/api/app/routes/account/auth.ts b/apps/api/src/routes/account/auth.ts similarity index 100% rename from apps/api/app/routes/account/auth.ts rename to apps/api/src/routes/account/auth.ts diff --git a/apps/api/app/routes/account/index.ts b/apps/api/src/routes/account/index.ts similarity index 54% rename from apps/api/app/routes/account/index.ts rename to apps/api/src/routes/account/index.ts index 5f9b8815..0daa635e 100644 --- a/apps/api/app/routes/account/index.ts +++ b/apps/api/src/routes/account/index.ts @@ -1,24 +1,31 @@ import assert from "assert"; import createError from "http-errors"; import Jimp from "jimp"; -import { Context } from "koa"; +import type { Context } from "koa"; import passport from "koa-passport"; import Router from "koa-router"; -import { merge, pick } from "lodash"; +import { merge } from "lodash"; +import { ObjectId } from "mongodb"; +import type { Image } from "../../models"; import { - Game, - GameInfo, GamePreferences, - Image, + GameUtils, ImageCollection, JwtRefreshToken, Log, - User, - UserDocument, + MAX_BIO_LENGTH, + UserUtils, } from "../../models"; import { loggedIn, loggedOut } from "../utils"; import auth from "./auth"; import { sendAuthInfo } from "./utils"; +import { z } from "zod"; +import type { Game, User } from "@bgs/types"; +import { AVATAR_STYLES } from "@bgs/types"; +import { collections } from "../../config/db"; +import { typedInclude } from "@bgs/utils"; +import { env, sendmail } from "../../config"; +import { differenceInMinutes } from "date-fns"; const router = new Router<Application.DefaultState, Context>(); @@ -26,13 +33,13 @@ router.use("/auth", auth.routes(), auth.allowedMethods()); router.get("/", (ctx) => { if (ctx.state.user) { - ctx.body = ctx.state.user; + ctx.body = UserUtils.sanitize(ctx.state.user); } }); router.get("/avatar", loggedIn, async (ctx) => { const item = await ImageCollection.findOne( - { ref: ctx.state.user._id, refType: "User", key: "avatar" }, + { ref: ctx.state.user!._id, refType: "User", key: "avatar" }, { "images.256x256": 1, mime: 1 } ); if (!item) { @@ -48,23 +55,70 @@ router.get("/active-games", async (ctx) => { if (!ctx.state.user?._id) { ctx.body = []; } else { - ctx.body = await Game.findWithPlayersTurn(ctx.state.user._id) - .select("_id") - .lean(true) - .then((games) => games.map((game) => game._id)); + ctx.body = await GameUtils.findWithPlayersTurn(ctx.state.user._id) + .project<Pick<Game<ObjectId>, "_id">>({ _id: 1 }) + .map((game) => game._id) + .toArray(); } }); router.post("/", loggedIn, async (ctx) => { const body = ctx.request.body; + const user = ctx.state.user!; + + const parsed = z + .object({ + account: z + .object({ + avatar: z.enum([AVATAR_STYLES[0], ...AVATAR_STYLES.slice(1)]).optional(), + bio: z.string().trim().max(MAX_BIO_LENGTH).optional(), + }) + .optional(), + settings: z.object({ + mailing: z + .object({ + newsletter: z.boolean().optional(), + game: z.object({ + /** Delay before sending a mail notification, in seconds */ + delay: z.number().int().min(0).optional(), + /** Are email notifications enabled? */ + activated: z.boolean().optional(), + }), + }) + .optional(), + game: z.object({ + soundNotification: z.boolean().optional(), + }), + home: z.object({ + /** Show my games instead of featured games */ + showMyGames: z.boolean().optional(), + }), + }), + }) + .parse(body); + + merge(user, parsed); + + const updatedUser = await collections.users.findOneAndUpdate( + { _id: user._id }, + { + $set: { + "account.bio": user.account.bio, + "account.avatar": user.account.avatar, + settings: user.settings, + updatedAt: new Date(), + }, + }, + { + returnDocument: "after", + } + ); - // We only allow setting URLs through social media - const avatar: string = body.account?.avatar; - assert(!avatar?.includes("/") && !avatar?.includes("."), "Invalid avatar"); + if (!updatedUser) { + throw createError(404, "User not found"); + } - merge(ctx.state.user, pick(body, ["settings", "account.avatar", "account.bio"])); - await ctx.state.user.save(); - ctx.body = ctx.state.user; + ctx.body = UserUtils.sanitize(updatedUser); }); router.post("/avatar", loggedIn, async (ctx) => { @@ -76,11 +130,11 @@ router.post("/avatar", loggedIn, async (ctx) => { const input = Buffer.concat(parts); const image = await Jimp.read(input); - const mime = [Jimp.MIME_JPEG, Jimp.MIME_PNG].includes(image.getMIME() as any) + const mime = typedInclude([Jimp.MIME_JPEG, Jimp.MIME_PNG], image.getMIME()) ? image.getMIME() - : image.hasAlpha - ? Jimp.MIME_PNG - : Jimp.MIME_JPEG; + : image.hasAlpha() + ? Jimp.MIME_PNG + : Jimp.MIME_JPEG; const images: Image["images"] = new Map(); for (const size of [256, 128, 64]) { @@ -94,7 +148,7 @@ router.post("/avatar", loggedIn, async (ctx) => { } await ImageCollection.updateOne( - { ref: ctx.state.user._id, key: "avatar", refType: "User" }, + { ref: ctx.state.user!._id, key: "avatar", refType: "User" }, { $set: { images, @@ -103,21 +157,31 @@ router.post("/avatar", loggedIn, async (ctx) => { }, { upsert: true } ); - ctx.state.user.account.avatar = "upload"; - await ctx.state.user.save(); + + await collections.users.updateOne( + { + _id: ctx.state.user!._id, + }, + { + $set: { + "account.avatar": "upload", + updatedAt: new Date(), + }, + } + ); ctx.status = 200; }); router.post("/email", loggedIn, async (ctx) => { const { email } = ctx.request.body; - const user: UserDocument = ctx.state.user; + const user = ctx.state.user!; - const foundUser = await User.findByEmail(email); + const foundUser = await UserUtils.findByEmail(email); if (foundUser) { if (foundUser._id.equals(user._id)) { - ctx.body = user; + ctx.body = UserUtils.sanitize(user); return; } @@ -135,14 +199,32 @@ router.post("/email", loggedIn, async (ctx) => { await user.sendConfirmationEmail(); - ctx.body = user; + ctx.body = UserUtils.sanitize(user); }); router.post("/terms-and-conditions", loggedIn, async (ctx) => { - assert(!ctx.state.user.account.termsAndConditions, "You already accepted the Terms and Conditions"); - ctx.state.user.account.termsAndConditions = new Date(); - await ctx.state.user.save(); - ctx.body = ctx.state.user; + assert(!ctx.state.user!.account.termsAndConditions, "You already accepted the Terms and Conditions"); + + const updatedUser = await collections.users.findOneAndUpdate( + { + _id: ctx.state.user!._id, + }, + { + $set: { + "account.termsAndConditions": new Date(), + updatedAt: new Date(), + }, + }, + { + returnDocument: "after", + } + ); + + if (!updatedUser) { + throw createError(404, "User not found"); + } + + ctx.body = UserUtils.sanitize(updatedUser); }); router.get("/games/settings", loggedIn, async (ctx) => { @@ -253,14 +335,41 @@ router.post("/signout", (ctx: Context) => { }); router.post("/confirm", async (ctx: Context) => { - const user = await User.findByEmail(ctx.request.body.email); + const user = await UserUtils.findByEmail(ctx.request.body.email); if (!user) { throw createError(404, "Can't find user: " + ctx.request.body.email); } - await user.confirm(ctx.request.body.key); + const passedKey = z.object({ key: z.string() }).parse(ctx.request.body).key; + + if (user.security.confirmed) { + throw createError(400, "User already confirmed."); + } + + assert(passedKey === user.security.confirmKey, `Wrong confirm link.`); + const updatedUser = await collections.users.findOneAndUpdate( + { + _id: user._id, + }, + { + $set: { + "security.confirmed": true, + "security.confirmKey": null, + updatedAt: new Date(), + }, + }, + { + returnDocument: "after", + } + ); + + if (!updatedUser) { + throw createError(404, "User not found"); + } + + ctx.state.user = updatedUser; await sendAuthInfo(ctx); }); @@ -273,10 +382,17 @@ router.post("/refresh", async (ctx: Context) => { throw createError(404, "Can't find refresh token: " + code); } - const user = await User.findById(rt.user); + const user = await collections.users.findOne<Pick<User<ObjectId>, "authority">>( + { _id: new ObjectId(rt.user) }, + { projection: { authority: 1 } } + ); + + if (!user) { + throw createError(404, "Can't find user: " + rt.user); + } ctx.body = { - code: await rt.createAccessToken(scopes, user.isAdmin()), + code: await rt.createAccessToken(scopes, UserUtils.isAdmin(user.authority)), expiresAt: Date.now() + JwtRefreshToken.accessTokenDuration(), }; }); @@ -285,14 +401,45 @@ router.post("/reset", loggedOut, passport.authenticate("local-reset", { session: router.post("/forget", loggedOut, async (ctx: Context) => { const { email } = ctx.request.body; - const user = await User.findByEmail(email); + const user = await UserUtils.findByEmail(email); if (!user) { - throw createError(404, "Utilisateur introuvable: " + email); + throw createError(404, "User not found: " + email); + } + + if (user.security.reset && differenceInMinutes(new Date(), user.security.reset.issued) < 15) { + throw createError(400, "You can only request a password reset every 5 minutes"); } - await user.generateResetLink(); - await user.sendResetEmail(); + user.security.reset = { + key: UserUtils.generateConfirmKey(), + issued: new Date(), + }; + + await collections.users.updateOne( + { + _id: user._id, + }, + { + $set: { + "security.reset": user.security.reset, + updatedAt: new Date(), + }, + } + ); + + await sendmail({ + from: env.noreply, + to: email, + subject: "Forgotten password", + html: ` + <p>A password reset was asked for your account, + click <a href='http://${env.site}/reset?key=${encodeURIComponent( + user.security.reset.key + )}&email=${encodeURIComponent(email)}'>here</a> to reset your password.</p> + + <p>If this didn't come from you, ignore this email.</p>`, + }); ctx.status = 200; }); diff --git a/apps/api/app/routes/account/utils.ts b/apps/api/src/routes/account/utils.ts similarity index 79% rename from apps/api/app/routes/account/utils.ts rename to apps/api/src/routes/account/utils.ts index 8e603dc4..7bf8b175 100644 --- a/apps/api/app/routes/account/utils.ts +++ b/apps/api/src/routes/account/utils.ts @@ -1,7 +1,7 @@ -import { Context } from "koa"; -import { JwtRefreshToken } from "../../models"; +import type { Context } from "koa"; +import { JwtRefreshToken, UserUtils } from "../../models"; -export async function sendAuthInfo(ctx: Context) { +export async function sendAuthInfo(ctx: Context): Promise<void> { const refreshToken = new JwtRefreshToken({ user: ctx.state.user._id, }); @@ -26,7 +26,7 @@ export async function sendAuthInfo(ctx: Context) { } ctx.body = { - user: ctx.state.user, + user: UserUtils.sanitize(ctx.state.user), refreshToken: json, accessToken: { code: await refreshToken.createAccessToken(["all"], ctx.state.user.isAdmin()), diff --git a/apps/api/app/routes/admin/gameinfo.ts b/apps/api/src/routes/admin/gameinfo.ts similarity index 100% rename from apps/api/app/routes/admin/gameinfo.ts rename to apps/api/src/routes/admin/gameinfo.ts diff --git a/apps/api/app/routes/admin/index.ts b/apps/api/src/routes/admin/index.ts similarity index 100% rename from apps/api/app/routes/admin/index.ts rename to apps/api/src/routes/admin/index.ts diff --git a/apps/api/app/routes/admin/pages.ts b/apps/api/src/routes/admin/pages.ts similarity index 100% rename from apps/api/app/routes/admin/pages.ts rename to apps/api/src/routes/admin/pages.ts diff --git a/apps/api/app/routes/admin/users.ts b/apps/api/src/routes/admin/users.ts similarity index 67% rename from apps/api/app/routes/admin/users.ts rename to apps/api/src/routes/admin/users.ts index ec81fb69..44c3e64f 100644 --- a/apps/api/app/routes/admin/users.ts +++ b/apps/api/src/routes/admin/users.ts @@ -1,8 +1,10 @@ import assert from "assert"; -import { Context } from "koa"; +import type { Context } from "koa"; import Router from "koa-router"; -import { ApiError, GameInfo, GamePreferences, User } from "../../models"; +import { ApiError, GameInfoUtils, GamePreferences, UserUtils } from "../../models"; import { queryCount } from "../utils"; +import { collections } from "../../config/db"; +import { omit } from "lodash"; const router = new Router<Application.DefaultState, Context>(); @@ -18,12 +20,12 @@ router.get("/search", async (ctx) => { ? { "account.email": new RegExp("^" + query.toLowerCase()) } : { "security.slug": new RegExp("^" + query.toLowerCase()) }; - const users = await User.find(conditions, "account").lean(true).limit(queryCount(ctx)); - ctx.body = users; + const users = await collections.users.find(conditions).project({ account: 1 }).limit(queryCount(ctx)).toArray(); + ctx.body = users.map((user) => omit(user, "account.password")); }); router.post("/:userId", async (ctx) => { - await User.updateOne( + await collections.users.updateOne( { _id: ctx.params.userId }, { $set: { "account.karma": ctx.request.body.account.karma }, @@ -46,7 +48,7 @@ router.post("/:userId/access/grant", async (ctx) => { assert(type === "game", "Wrong kind of access"); - const gameInfo = await GameInfo.findWithVersion(ctx.request.body.game, ctx.request.body.version).lean(true); + const gameInfo = await GameInfoUtils.findWithVersion(ctx.request.body.game, ctx.request.body.version); if (!gameInfo) { ctx.status = 404; @@ -58,7 +60,7 @@ router.post("/:userId/access/grant", async (ctx) => { return; } - if (!(await User.count({ _id: ctx.params.userId }))) { + if (!(await collections.users.countDocuments({ _id: ctx.params.userId }, { limit: 1 }))) { ctx.status = 404; return; } @@ -72,11 +74,11 @@ router.post("/:userId/access/grant", async (ctx) => { }); router.post("/:userId/confirm", async (ctx) => { - if (!(await User.count({ _id: ctx.params.userId }))) { + if (!(await collections.users.countDocuments({ _id: ctx.params.userId }, { limit: 1 }))) { return; } - await User.updateOne( + await collections.users.updateOne( { _id: ctx.params.userId }, { $set: { "security.confirmed": true, "security.confirmKey": null } } ); @@ -84,7 +86,7 @@ router.post("/:userId/confirm", async (ctx) => { }); router.get("/:userId/api-errors", async (ctx) => { - if (!(await User.count({ _id: ctx.params.userId }))) { + if (!(await collections.users.countDocuments({ _id: ctx.params.userId }, { limit: 1 }))) { return; } @@ -92,14 +94,14 @@ router.get("/:userId/api-errors", async (ctx) => { }); router.get("/infoByName/:username", async (ctx) => { - const user = await User.findByUsername(ctx.params.username); + const user = await UserUtils.findByUsername(ctx.params.username); if (!user) { ctx.status = 404; return; } - ctx.body = user; + ctx.body = UserUtils.sanitize(user); }); export default router; diff --git a/apps/api/app/routes/boardgame/index.ts b/apps/api/src/routes/boardgame/index.ts similarity index 100% rename from apps/api/app/routes/boardgame/index.ts rename to apps/api/src/routes/boardgame/index.ts diff --git a/apps/api/app/routes/game/index.spec.ts b/apps/api/src/routes/game/index.spec.ts similarity index 65% rename from apps/api/app/routes/game/index.spec.ts rename to apps/api/src/routes/game/index.spec.ts index 48b574f5..707b2572 100644 --- a/apps/api/app/routes/game/index.spec.ts +++ b/apps/api/src/routes/game/index.spec.ts @@ -1,17 +1,14 @@ -import axios, { AxiosError, AxiosRequestConfig } from "axios"; -import chai, { expect } from "chai"; -import chaiAsPromised from "chai-as-promised"; import mongoose, { Types } from "mongoose"; import env from "../../config/env"; import { Game, GameInfo, GamePreferences, JwtRefreshToken, User } from "../../models"; - -chai.use(chaiAsPromised); +import { afterAll, beforeAll, describe, it } from "vitest"; +import { expect } from "chai"; describe("Game API", () => { const userId = new Types.ObjectId(); - let axiosConfig: AxiosRequestConfig = {}; + let headers: Record<string, string>; - before(async () => { + beforeAll(async () => { await User.create({ _id: userId, account: { username: "test", email: "test@test.com" }, @@ -35,33 +32,29 @@ describe("Game API", () => { }); const refresh = await JwtRefreshToken.create({ user: userId }); const token = await refresh.createAccessToken(["all"], false); - axiosConfig = { - headers: { - Authorization: `Bearer ${token}`, - }, - baseURL: `http://localhost:${env.listen.port.api}`, + headers = { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", }; }); it("should not be able to create a game without ownership", async () => { - const createP = axios.post( - "/api/game/new-game", - { + const resp = await fetch(`http://localhost:${env.listen.port.api}/api/game/new-game`, { + body: JSON.stringify({ gameId: "test", game: { game: "test", version: 1 }, timePerMove: 5000, timePerGame: 5000, players: 2, options: { join: true }, - }, - axiosConfig - ); - - const err: AxiosError = await createP.then( - (err) => Promise.reject(err), - (err) => err - ); - expect(err.response.data?.message.includes("own the game")).to.be.true; + }), + + headers, + method: "POST", + }); + + expect(resp.ok).to.be.false; + expect((await resp.json()).message.includes("own the game")).to.be.true; }); it("should be able to create a game with ownership", async () => { @@ -73,41 +66,40 @@ describe("Game API", () => { }, }); - const createP = axios.post( - "/api/game/new-game", - { + const resp = await fetch(`http://localhost:${env.listen.port.api}/api/game/new-game`, { + body: JSON.stringify({ gameId: "test", game: { game: "test", version: 1 }, timePerMove: 5000, timePerGame: 5000, players: 2, options: { join: true }, - }, - axiosConfig - ); + }), + method: "POST", + headers, + }); - await expect(createP).to.be.fulfilled; + expect(resp.ok).to.be.true; }); it("should not be able to create a game with the wrong number of players", async () => { - const createP = axios.post( - "/api/game/new-game", - { + const resp = await fetch(`http://localhost:${env.listen.port.api}/api/game/new-game`, { + body: JSON.stringify({ gameId: "test-fail", game: { game: "test", version: 1 }, timePerMove: 5000, timePerGame: 5000, players: 3, options: { join: true }, - }, - axiosConfig - ); - - const err: AxiosError = await createP.then( - (err) => Promise.reject(err), - (err) => err - ); - expect(err.response.data?.message).to.equal("Wrong number of players"); + }), + method: "POST", + headers, + }); + + expect(resp.ok).to.be.false; + + const err = await resp.json(); + expect(err.message).to.equal("Wrong number of players"); }); // it ("should not be able to create a game without the join option", async () => { @@ -126,12 +118,17 @@ describe("Game API", () => { // }); it("should be able to leave the game", async () => { - const unjoinP = axios.post("/api/game/test/unjoin", {}, axiosConfig); + const resp = await fetch(`http://localhost:${env.listen.port.api}/api/game/test/unjoin`, { + headers, + method: "POST", + }); - await expect(unjoinP).to.be.fulfilled; + expect(resp.ok).to.be.true; expect(await Game.countDocuments({ _id: "test" })).to.equal(0, "Game should be deleted after creator unjoins"); }); - after(() => mongoose.connection.db.dropDatabase()); + afterAll(async () => { + await mongoose.connection.db.dropDatabase(); + }); }); diff --git a/apps/api/app/routes/game/index.ts b/apps/api/src/routes/game/index.ts similarity index 68% rename from apps/api/app/routes/game/index.ts rename to apps/api/src/routes/game/index.ts index d631b466..c87f1980 100644 --- a/apps/api/app/routes/game/index.ts +++ b/apps/api/src/routes/game/index.ts @@ -2,23 +2,17 @@ import { timerDuration } from "@bgs/utils/time"; import assert from "assert"; import { addDays } from "date-fns"; import createError from "http-errors"; -import { Context } from "koa"; +import type { Context } from "koa"; import Router from "koa-router"; import { omit } from "lodash"; -import locks from "mongo-locks"; -import { - ChatMessage, - Game, - GameInfo, - GameNotification, - GamePreferences, - RoomMetaData, - RoomMetaDataDocument, - User, -} from "../../models"; +import type { RoomMetaDataDocument } from "../../models"; +import { GameInfo, GameNotification, GamePreferences, RoomMetaData, User } from "../../models"; import { notifyGameStart } from "../../services/game"; import { isAdmin, isConfirmed, loggedIn } from "../utils"; import listings from "./listings"; +import { ObjectId } from "mongodb"; +import { z } from "zod"; +import { collections, locks } from "../../config/db"; const router = new Router<Application.DefaultState, Context>(); @@ -26,6 +20,7 @@ router.use("/status", listings.routes(), listings.allowedMethods()); router.post("/new-game", loggedIn, isConfirmed, async (ctx) => { const body = ctx.request.body; + const user = ctx.state.user; const { game: gameInfoId, gameId, @@ -37,7 +32,71 @@ router.post("/new-game", loggedIn, isConfirmed, async (ctx) => { timerEnd, minimumKarma, scheduledStart, - } = body; + seed, + join, + unlisted, + playerOrder, + } = z + .object({ + game: z.object({ + game: z + .string() + .regex(/^[A-z0-9-]+$/) + .min(1) + .max(25), + version: z.number().int().min(0), + }), + gameId: z + .string() + .regex(/^[A-z0-9-]+$/) + .min(1) + .max(25), + seed: z + .string() + .regex(/^[A-z0-9-]+$/) + .min(1) + .max(25) + .optional(), + players: z.number().int().min(1), + expansions: z.array(z.string()).optional(), + timePerGame: z + .number() + .int() + .min(60) + .max(15 * 24 * 3600) + .default(15 * 24 * 3600), + timePerMove: z + .number() + .int() + .min(0) + .max(24 * 3600) + .default(15 * 60), + timerStart: z + .number() + .int() + .min(0) + .max(24 * 3600 - 1) + .optional(), + timerEnd: z + .number() + .int() + .min(0) + .max(24 * 3600 - 1) + .optional(), + minimumKarma: z + .number() + .int() + .min(0) + .max(Math.max(user.karma - 5, 0)) + .optional(), + scheduledStart: z.date({ coerce: true }).min(new Date()).max(addDays(new Date(), 10)).optional(), + // Todo: add default values: join: true, unlisted: false, playerOrder: "random" + join: z.boolean(), + unlisted: z.boolean(), + playerOrder: z.enum(["random", "host", "join"]), + }) + .parse(body); + const options: Record<string, string | boolean> = {}; const gameInfo = await GameInfo.findOne({ _id: gameInfoId }); @@ -51,7 +110,7 @@ router.post("/new-game", loggedIn, isConfirmed, async (ctx) => { !gameInfo.meta.public && !(await GamePreferences.findOne({ game: gameInfoId.game, - user: ctx.state.user.id, + user: user._id, "access.maxVersion": { $gte: gameInfoId.version }, })) ) { @@ -61,24 +120,11 @@ router.post("/new-game", loggedIn, isConfirmed, async (ctx) => { if (gameInfo.meta.needOwnership) { assert( - await GamePreferences.findOne({ game: gameInfoId.game, user: ctx.state.user.id, "access.ownership": true }), + await GamePreferences.findOne({ game: gameInfoId.game, user: user._id, "access.ownership": true }), "You need to own the game in order to host a new game. Check your account settings." ); } - const seed = body.seed || gameId; - - assert(timePerMove && !isNaN(timePerMove), "Wrong amount of time per move"); - assert(timePerGame && !isNaN(timePerGame), "Wrong amount of time per game"); - - if (!/^[A-z0-9-]+$/.test(gameId)) { - throw createError(400, "Wrong format for game id"); - } - - if (!/^[A-z0-9-]+$/.test(seed)) { - throw createError(400, "Wrong format for game seed"); - } - if (!gameInfo.players.includes(players)) { throw createError(400, "Wrong number of players"); } @@ -96,105 +142,90 @@ router.post("/new-game", loggedIn, isConfirmed, async (ctx) => { continue; } - if (["join", "unlisted"].includes(key)) { + const item = gameInfo.options.find((opt) => opt.name === key); + if (!item) { + continue; + } + + if (item.type === "checkbox") { assert(typeof val === "boolean", "Invalid value for option: " + key); - } else if (key === "playerOrder") { - // Mongoose will throw if playerOrder is invalid + } else if (item.type === "select") { + assert(typeof val === "string" && item.items?.some((it) => it.name === val), "Invalid value for option: " + key); } else { - const item = gameInfo.options.find((opt) => opt.name === key); - if (!item) { - continue; - } - - if (item.type === "checkbox") { - assert(typeof val === "boolean", "Invalid value for option: " + key); - } else if (item.type === "select") { - assert( - typeof val === "string" && item.items?.some((it) => it.name === val), - "Invalid value for option: " + key - ); - } else { - continue; - } + continue; } options[key] = val; } - const game = new Game(); - - game.creator = ctx.state.user._id; - game.game = { - name: gameInfo._id.game, - version: gameInfo._id.version, - expansions: (expansions ?? []).filter((exp: string) => gameInfo.expansions.some((exp2) => exp2.name === exp)), - - options: omit(options, "join", "playerOrder", "unlisted"), - }; - game.options.setup.seed = seed; - game.options.setup.nbPlayers = players; - game.options.setup.playerOrder = (options.playerOrder ?? "random") as "random" | "host" | "join"; - game.options.meta.unlisted = options.unlisted as boolean; - game.options.timing.timePerMove = timePerMove; - game.options.timing.timePerGame = timePerGame; - - if (scheduledStart) { - assert(scheduledStart > Date.now(), "The scheduled start must not be in the past"); - assert( - scheduledStart < Date.now() + 10 * 24 * 3600 * 1000, - "The scheduled start must not be more than 10 days in the future" - ); - - game.options.timing.scheduledStart = new Date(scheduledStart); - } - - if (minimumKarma !== undefined && minimumKarma !== null) { - assert(+minimumKarma === minimumKarma && Math.floor(minimumKarma) === minimumKarma && minimumKarma >= 0); - assert( - minimumKarma + 5 <= ctx.state.user.account.karma, - "You can't create a game with that high of a karma restriction" - ); - game.options.meta.minimumKarma = minimumKarma; - } - - if ( - timerStart !== timerEnd && - typeof timerStart === "number" && - typeof timerEnd === "number" && - !isNaN(timerStart) && - !isNaN(timerEnd) - ) { + if (timerStart !== timerEnd && typeof timerStart === "number" && typeof timerEnd === "number") { assert( timerDuration({ start: timerStart, end: timerEnd }) >= 3 * 3600, "You need at least have a 3 hour window of play time" ); - - game.options.timing.timer.start = timerStart; - game.options.timing.timer.end = timerEnd; } - game._id = gameId; - - if (options.join) { - game.players.push({ - _id: ctx.state.user._id, - remainingTime: game.options.timing.timePerGame, - dropped: false, - score: 0, - name: ctx.state.user.account.username, - quit: false, - }); - } else { - // assert(false, "You need special authorization to create games without joining them!"); - } - - await game.save(); + await collections.games.insertOne({ + _id: gameId, + creator: user._id, + game: { + name: gameInfo._id.game, + version: gameInfo._id.version, + expansions: (expansions ?? []).filter((exp: string) => gameInfo.expansions.some((exp2) => exp2.name === exp)), + options, + }, + options: { + setup: { + seed: seed ?? gameId, + nbPlayers: players, + playerOrder, + }, + timing: { + timePerGame, + timePerMove, + timer: + timerStart !== undefined && timerEnd !== undefined + ? { + start: timerStart, + end: timerEnd, + } + : undefined, + scheduledStart, + }, + meta: { + unlisted, + minimumKarma, + }, + }, + players: join + ? [ + { + _id: user._id, + remainingTime: timePerGame, + dropped: false, + score: 0, + quit: false, + name: user.account.username, + }, + ] + : [], + createdAt: new Date(), + updatedAt: new Date(), + status: "open", + data: {}, + cancelled: false, + ready: false, + currentPlayers: [], + context: { + round: 0, + }, + }); ctx.status = 200; }); router.param("gameId", async (gameId, ctx, next) => { - ctx.state.game = await Game.findById(gameId); + ctx.state.game = await collections.games.findOne({ _id: gameId }); if (!ctx.state.game) { throw createError(404, "Game not found: " + gameId); @@ -205,7 +236,7 @@ router.param("gameId", async (gameId, ctx, next) => { // Metadata about the game router.get("/:gameId", (ctx) => { - ctx.body = omit(ctx.state.game.toJSON(), "data"); + ctx.body = omit(ctx.state.game, "data"); }); router.get("/:gameId/players", async (ctx) => { @@ -232,23 +263,29 @@ router.post("/:gameId/chat", loggedIn, isConfirmed, async (ctx) => { (ctx.state.user && ctx.state.game.players.some((pl) => pl._id.equals(ctx.state.user._id))), "You must be a player of the game to chat!" ); - assert(ctx.request.body.type === "text" || ctx.request.body.type === "emoji"); - - const text = ctx.request.body?.data?.text?.trim(); - assert(text, "Empty chat message"); - const doc = new ChatMessage({ + const parsed = z + .object({ + type: z.enum(["text", "emoji"]), + data: z.object({ + text: z.string().min(1).max(300).trim(), + }), + }) + .parse(ctx.request.body); + + await collections.chatMessages.insertOne({ + _id: new ObjectId(), room: ctx.state.game._id, author: { _id: ctx.state.user._id, name: ctx.state.user.account.username, }, data: { - text: ctx.request.body.data.text, + text: parsed.data.text, }, - type: ctx.request.body.type, + type: parsed.type, }); - await doc.save(); + ctx.status = 200; }); @@ -446,40 +483,47 @@ router.post("/:gameId/cancel", loggedIn, async (ctx) => { "You must be a player of the game to vote!" ); - const free = await locks.lock("game-cancel", ctx.params.gameId); + await using lock = await locks.lock(["game-cancel", ctx.params.gameId]); - try { - const game = await Game.findOne({ _id: ctx.params.gameId }); + if (!lock) { + throw createError(409, "The game is already being cancelled"); + } - assert(game, createError(404)); - assert(game.status === "active", "The game is not ongoing"); + const game = await Game.findOne({ _id: ctx.params.gameId }); + + assert(game, createError(404)); + assert(game.status === "active", "The game is not ongoing"); + + const player = game.players.find((pl) => pl._id.equals(ctx.state.user._id)); - const player = game.players.find((pl) => pl._id.equals(ctx.state.user._id)); + assert(!player.voteCancel, "You already voted to cancel the game"); - assert(!player.voteCancel, "You already voted to cancel the game"); + player.voteCancel = true; - player.voteCancel = true; - await ChatMessage.create({ + await collections.chatMessages.insertOne({ + _id: new ObjectId(), + room: game._id, + type: "system", + data: { text: `${ctx.state.user.account.username} voted to cancel this game` }, + }); + + if (game.players.every((pl) => pl.voteCancel || pl.dropped)) { + await collections.chatMessages.insertOne({ + _id: new ObjectId(), room: game._id, type: "system", - data: { text: `${player.name} voted to cancel this game` }, + data: { text: `Game cancelled` }, }); + game.status = "ended"; + game.cancelled = true; + game.currentPlayers = null; + } - if (game.players.every((pl) => pl.voteCancel || pl.dropped)) { - await ChatMessage.create({ room: game._id, type: "system", data: { text: `Game cancelled` } }); - game.status = "ended"; - game.cancelled = true; - game.currentPlayers = null; - } - - await game.save(); + await game.save(); - if (game.status === "ended") { - // Possible concurrency issue if game is cancelled at the exact same time as being finished - await GameNotification.create({ kind: "gameEnded", game: game._id }); - } - } finally { - free().catch(console.error); + if (game.status === "ended") { + // Possible concurrency issue if game is cancelled at the exact same time as being finished + await GameNotification.create({ kind: "gameEnded", game: game._id }); } ctx.status = 200; @@ -491,21 +535,21 @@ router.post("/:gameId/quit", loggedIn, async (ctx) => { "You must be a player of the game to quit!" ); - const free = await locks.lock("game-cancel", ctx.params.gameId); + await using lock = await locks.lock(["game-cancel", ctx.params.gameId]); - try { - const game = await Game.findOne({ _id: ctx.params.gameId }).select("players status").lean(true); + if (!lock) { + throw createError(409, "The game is already being cancelled"); + } - assert(game.status === "active", "The game is not ongoing"); + const game = await Game.findOne({ _id: ctx.params.gameId }).select("players status").lean(true); - const player = game.players.find((pl) => pl._id.equals(ctx.state.user._id)); + assert(game.status === "active", "The game is not ongoing"); - assert(!player.quit && !player.dropped, "You already quit the game"); + const player = game.players.find((pl) => pl._id.equals(ctx.state.user._id)); - await GameNotification.create({ kind: "playerQuit", user: ctx.state.user._id, game: game._id }); - } finally { - free().catch(console.error); - } + assert(!player.quit && !player.dropped, "You already quit the game"); + + await GameNotification.create({ kind: "playerQuit", user: ctx.state.user._id, game: game._id }); ctx.status = 200; }); diff --git a/apps/api/app/routes/game/listings.ts b/apps/api/src/routes/game/listings.ts similarity index 95% rename from apps/api/app/routes/game/listings.ts rename to apps/api/src/routes/game/listings.ts index 13e7d36a..b0944e97 100644 --- a/apps/api/app/routes/game/listings.ts +++ b/apps/api/src/routes/game/listings.ts @@ -1,10 +1,10 @@ import type { GameStatus } from "@bgs/types"; -import { joinAnd } from "@bgs/utils/join-and"; +import { joinAnd } from "@bgs/utils/src/join-and"; import { removeFalsy } from "@bgs/utils/remove-falsy"; -import { Game } from "app/models"; -import GameInfoService from "app/services/gameinfo"; +import { Game } from "../../models"; +import GameInfoService from "../../services/gameinfo"; import assert from "assert"; -import { Context } from "koa"; +import type { Context } from "koa"; import Router from "koa-router"; import { queryCount, skipCount } from "../utils"; diff --git a/apps/api/app/routes/index.ts b/apps/api/src/routes/index.ts similarity index 100% rename from apps/api/app/routes/index.ts rename to apps/api/src/routes/index.ts diff --git a/apps/api/app/routes/pages/index.ts b/apps/api/src/routes/pages/index.ts similarity index 100% rename from apps/api/app/routes/pages/index.ts rename to apps/api/src/routes/pages/index.ts diff --git a/apps/api/app/routes/site/index.ts b/apps/api/src/routes/site/index.ts similarity index 100% rename from apps/api/app/routes/site/index.ts rename to apps/api/src/routes/site/index.ts diff --git a/apps/api/app/routes/user/index.ts b/apps/api/src/routes/user/index.ts similarity index 99% rename from apps/api/app/routes/user/index.ts rename to apps/api/src/routes/user/index.ts index b6577436..4f8abc81 100644 --- a/apps/api/app/routes/user/index.ts +++ b/apps/api/src/routes/user/index.ts @@ -3,7 +3,6 @@ import createError from "http-errors"; import { Context } from "koa"; import Router from "koa-router"; import { Types } from "mongoose"; -import fetch from "node-fetch"; import { Game, GamePreferences, ImageCollection, User } from "../../models"; import { queryCount, skipCount } from "../utils"; diff --git a/apps/api/app/routes/utils.ts b/apps/api/src/routes/utils.ts similarity index 100% rename from apps/api/app/routes/utils.ts rename to apps/api/src/routes/utils.ts diff --git a/apps/api/scripts/data/Game.json b/apps/api/src/scripts/data/Game.json similarity index 100% rename from apps/api/scripts/data/Game.json rename to apps/api/src/scripts/data/Game.json diff --git a/apps/api/scripts/data/GameInfo.json b/apps/api/src/scripts/data/GameInfo.json similarity index 100% rename from apps/api/scripts/data/GameInfo.json rename to apps/api/src/scripts/data/GameInfo.json diff --git a/apps/api/scripts/data/GamePreferences.json b/apps/api/src/scripts/data/GamePreferences.json similarity index 100% rename from apps/api/scripts/data/GamePreferences.json rename to apps/api/src/scripts/data/GamePreferences.json diff --git a/apps/api/scripts/data/User.json b/apps/api/src/scripts/data/User.json similarity index 100% rename from apps/api/scripts/data/User.json rename to apps/api/src/scripts/data/User.json diff --git a/apps/api/scripts/data/index.ts b/apps/api/src/scripts/data/index.ts similarity index 100% rename from apps/api/scripts/data/index.ts rename to apps/api/src/scripts/data/index.ts diff --git a/apps/api/scripts/seed.spec.ts b/apps/api/src/scripts/seed.spec.ts similarity index 58% rename from apps/api/scripts/seed.spec.ts rename to apps/api/src/scripts/seed.spec.ts index 2fdd9a06..1e7814dc 100644 --- a/apps/api/scripts/seed.spec.ts +++ b/apps/api/src/scripts/seed.spec.ts @@ -1,8 +1,9 @@ import mongoose from "mongoose"; import { seed } from "./seed"; +import { describe, beforeAll, it } from "vitest"; describe("Seed", () => { - before(() => mongoose.connection.db.dropDatabase()); + beforeAll(() => mongoose.connection.db.dropDatabase().then(() => {})); it("should seed with no problems", async () => { await seed(); diff --git a/apps/api/scripts/seed.ts b/apps/api/src/scripts/seed.ts similarity index 87% rename from apps/api/scripts/seed.ts rename to apps/api/src/scripts/seed.ts index cc15c4ca..c4895435 100644 --- a/apps/api/scripts/seed.ts +++ b/apps/api/src/scripts/seed.ts @@ -1,7 +1,5 @@ -import mongoose, { Collection } from "mongoose"; -import { env } from "../app/config"; -import initDb from "../app/config/db"; -import * as models from "../app/models"; +import { env } from "../config"; +import * as models from "../models"; import * as data from "./data"; if (process.env.NODE_ENV !== "test") { diff --git a/apps/api/server.ts b/apps/api/src/server.ts similarity index 50% rename from apps/api/server.ts rename to apps/api/src/server.ts index 7b217f33..f3f1706f 100644 --- a/apps/api/server.ts +++ b/apps/api/src/server.ts @@ -1,29 +1,24 @@ import cluster from "cluster"; -import "dotenv/config"; -import { listen } from "./app/app"; -import initDb from "./app/config/db"; -import env from "./app/config/env"; -import { listen as listenResources } from "./app/resources"; +import { listen } from "./app"; +import env from "./config/env"; +import { listen as listenResources } from "./resources"; const handleError = (err: Error) => { console.error(err); process.exit(1); }; -initDb().catch(handleError); - // In production, run a process for each CPU -if (cluster.isMaster && env.isProduction && env.threads > 1) { +if (cluster.isPrimary && env.isProduction && env.threads > 1) { for (let i = 0; i < env.threads; i++) { cluster.fork(); } } else { listen().catch(handleError); listenResources().catch(handleError); - // tslint:disable-next-line no-var-requires require("./app/ws"); } -if (cluster.isMaster) { +if (cluster.isPrimary) { require("./app/services/cron"); } diff --git a/apps/api/src/services/cron.ts b/apps/api/src/services/cron.ts new file mode 100644 index 00000000..95e11ae9 --- /dev/null +++ b/apps/api/src/services/cron.ts @@ -0,0 +1,29 @@ +import { collections } from "../config/db"; +import env from "../config/env"; +import { GameNotificationUtils } from "../models/gamenotification"; +import { UserUtils } from "../models/user"; +import { cancelOldOpenGames, processSchedulesGames, processUnreadyGames } from "./game"; + +/* Check move deadlines every 10 seconds - only on one thread of the server */ +if (env.cron) { + setInterval(() => GameNotificationUtils.processCurrentMove().catch(console.error), 10000); + setInterval(() => GameNotificationUtils.processGameEnded().catch(console.error), 10000); + setInterval(() => GameNotificationUtils.processPlayerDrop().catch(console.error), 10000); + setInterval(() => processSchedulesGames().catch(console.error), 1000); + setInterval(() => cancelOldOpenGames().catch(console.error), 5000); + setInterval(() => processUnreadyGames().catch(console.error), 10000); +} + +if (env.automatedEmails) { + setInterval(async () => { + try { + const toEmail = await collections.users.find({ "meta.nextGameNotification": { $lte: new Date() } }).toArray(); + + for (const user of toEmail) { + UserUtils.sendGameNotificationEmail(user).catch((err: any) => console.error(err)); + } + } catch (err) { + console.error(err); + } + }, 60000); +} diff --git a/apps/api/app/services/elo.ts b/apps/api/src/services/elo.ts similarity index 100% rename from apps/api/app/services/elo.ts rename to apps/api/src/services/elo.ts diff --git a/apps/api/src/services/game.ts b/apps/api/src/services/game.ts new file mode 100644 index 00000000..35dd1b32 --- /dev/null +++ b/apps/api/src/services/game.ts @@ -0,0 +1,131 @@ +import { subHours, subWeeks } from "date-fns"; +import { shuffle } from "lodash"; +import { GameNotification } from "../models"; +import { collections, locks } from "../config/db"; +import { ObjectId } from "mongodb"; +import type { Game } from "@bgs/types"; + +export async function notifyGameStart(game: Pick<Game<ObjectId>, "_id" | "options" | "players">): Promise<void> { + if (game.options.setup.playerOrder === "random") { + game.players = shuffle(game.players); + await collections.games.updateOne({ _id: game._id }, { $set: { players: game.players, updatedAt: new Date() } }); + } + + await collections.chatMessages.insertOne({ + _id: new ObjectId(), + room: game._id, + type: "system", + data: { text: "Game started" }, + }); + + await GameNotification.create({ game: game._id, kind: "gameStarted", processed: false }); +} + +export async function cancelOldOpenGames(): Promise<void> { + // Remove live games an hour old + await collections.games.deleteMany({ + status: "open", + "options.timing.scheduledStart": { $exists: false }, + "options.timing.timePerGame": { $lte: 600 }, + createdAt: { $lt: subHours(Date.now(), 1) }, + }); + + // Remove fast games three hours old + await collections.games.deleteMany({ + status: "open", + "options.timing.scheduledStart": { $exists: false }, + "options.timing.timePerGame": { $lte: 3600 }, + createdAt: { $lt: subHours(Date.now(), 3) }, + }); + + // Remove games a week old + await collections.games.deleteMany({ + status: "open", + "options.timing.scheduledStart": { $exists: false }, + createdAt: { $lt: subWeeks(Date.now(), 1) }, + }); +} + +export async function processSchedulesGames(): Promise<void> { + await using lock = await locks.lock(["game", "scheduled-games"]); + + if (!lock) { + return; + } + + for await (const game of collections.games + .find({ + status: "open", + "options.timing.scheduledStart": { $lt: new Date() }, + }) + .project<Pick<Game<ObjectId>, "ready" | "_id" | "options" | "players">>({ ready: 1 })) { + if (!game.ready) { + await collections.chatMessages.insertOne({ + _id: new ObjectId(), + room: game._id, + type: "system", + data: { text: "Game cancelled because host didn't set the final options in time" }, + }); + await collections.games.updateOne( + { _id: game._id }, + { $set: { cancelled: true, status: "ended", updatedAt: new Date() } } + ); + continue; + } + await collections.games.updateOne( + { _id: game._id }, + { + // Do this to avoid being caught in a loop again, before game server starts the game + $unset: { "options.timing.scheduledStart": "" }, + } + ); + await notifyGameStart(game); + } +} + +export async function processUnreadyGames(): Promise<void> { + const games = await collections.games + .find({ + ready: false, + status: "open", + "currentPlayers.0.deadline": { $lt: Date.now() }, + }) + .project<Pick<Game<ObjectId>, "_id">>({ + _id: 1, + }) + .toArray(); + + for (const toFetch of games) { + try { + await using lock = await locks.lock(["game", toFetch._id]); + + if (!lock) { + continue; + } + + const game = await collections.games.findOne<Pick<Game<ObjectId>, "status" | "_id">>( + { _id: toFetch._id }, + { projection: { status: 1, _id: 1 } } + ); + + if (!game) { + continue; + } + + if (game.status === "open") { + await collections.chatMessages.insertOne({ + _id: new ObjectId(), + room: game._id, + type: "system", + data: { text: "Game cancelled because host didn't set the final options in time" }, + }); + await collections.games.updateOne( + { _id: game._id }, + { $set: { cancelled: true, status: "ended", updatedAt: new Date() } } + ); + } + } catch (err) { + console.error(err); + } + } +} diff --git a/apps/api/app/services/gameinfo.spec.ts b/apps/api/src/services/gameinfo.spec.ts similarity index 88% rename from apps/api/app/services/gameinfo.spec.ts rename to apps/api/src/services/gameinfo.spec.ts index 3195d444..105d80e6 100644 --- a/apps/api/app/services/gameinfo.spec.ts +++ b/apps/api/src/services/gameinfo.spec.ts @@ -1,12 +1,12 @@ -import { GameInfo, GamePreferences, User } from "app/models"; -import { expect } from "chai"; +import { GameInfo, GamePreferences, User } from "../models"; import { sortBy } from "lodash"; -import { seed } from "scripts/seed"; +import { seed } from "../scripts/seed"; import GameInfoService from "./gameinfo"; +import { describe, beforeAll, it, expect } from "vitest"; describe("GameInfoService", () => { describe("latestAccessibleGames", () => { - before(async () => { + beforeAll(async () => { await seed(["GameInfo", "User", "GamePreferences"], true); }); diff --git a/apps/api/app/services/gameinfo.ts b/apps/api/src/services/gameinfo.ts similarity index 100% rename from apps/api/app/services/gameinfo.ts rename to apps/api/src/services/gameinfo.ts diff --git a/apps/api/src/services/testutils.ts b/apps/api/src/services/testutils.ts new file mode 100644 index 00000000..5f352cfd --- /dev/null +++ b/apps/api/src/services/testutils.ts @@ -0,0 +1,71 @@ +import type { ObjectId } from "mongodb"; +import { collections, db } from "../config/db"; +import env from "../config/env"; +import type { Game } from "@bgs/types"; + +export namespace TestUtils { + export async function createGame(_id: string, playerIds: ObjectId[]): Promise<Game<ObjectId>> { + const doc: Game<ObjectId> = { + _id: "test", + game: { + name: "gaia-project", + version: 0, + expansions: [], + options: {}, + }, + players: playerIds.map((id, i) => ({ + _id: id, + dropped: false, + remainingTime: 1000, + quit: false, + score: 0, + name: `player${i + 1}`, + })), + creator: playerIds[0], + cancelled: false, + createdAt: new Date(), + updatedAt: new Date(), + data: {}, + options: { + setup: { + nbPlayers: playerIds.length, + playerOrder: "join", + seed: "test", + }, + meta: { + unlisted: false, + minimumKarma: 0, + }, + timing: { + scheduledStart: new Date(), + timePerGame: 1000, + timePerMove: 1000, + timer: { + end: 1000, + start: 0, + }, + }, + }, + context: { + round: 0, + }, + lastMove: new Date(), + ready: true, + status: "active", + currentPlayers: [{ _id: playerIds[0], timerStart: new Date(), deadline: new Date(Date.now() + 100_000) }], + }; + + await collections.games.insertOne(doc); + + return doc; + } + + export async function deleteDocuments(): Promise<void> { + if (!env.isTest) { + throw new Error("Not in test mode"); + } + for (const collection of await db.collections()) { + await collection.deleteMany({}); + } + } +} diff --git a/apps/api/src/types.d.ts b/apps/api/src/types.d.ts new file mode 100644 index 00000000..1b21140d --- /dev/null +++ b/apps/api/src/types.d.ts @@ -0,0 +1,22 @@ +/* eslint-disable */ + +import type { ObjectId } from "mongodb"; +import type { Game, User, GameInfo } from "@bgs/types"; + +declare global { + namespace Application { + export interface DefaultState { + user?: User<ObjectId> | null; + game?: Game<OjbectId> | null; + foundUser?: User<ObjectId> | null; + foundBoardgame?: GameInfo | null; + ip: string; + } + } +} + +// declare module "koa" { +// interface Context { + +// } +// } diff --git a/apps/api/app/ws.ts b/apps/api/src/ws.ts similarity index 63% rename from apps/api/app/ws.ts rename to apps/api/src/ws.ts index 530d90df..5c66fd3d 100644 --- a/apps/api/app/ws.ts +++ b/apps/api/src/ws.ts @@ -1,19 +1,21 @@ import delay from "delay"; import jwt from "jsonwebtoken"; -import { groupBy, keyBy, sortBy, uniq, uniqBy } from "lodash"; -import { Types } from "mongoose"; +import { groupBy, keyBy, sortBy, uniqBy } from "lodash"; import cache from "node-cache"; import WebSocket, { Server } from "ws"; import "./config/db"; import env from "./config/env"; -import { ChatMessage, Game, GameDocument, User } from "./models"; +import { GameUtils, User } from "./models"; +import { ObjectId } from "mongodb"; +import { collections } from "./config/db"; +import type { Game } from "@bgs/types"; const wss = new Server({ port: env.listen.port.ws, host: env.listen.host }); type AugmentedWebSocket = WebSocket & { game?: string; room?: string; - user?: Types.ObjectId; + user?: ObjectId; gameUpdate?: Date; isAlive?: boolean; }; @@ -22,8 +24,8 @@ function clients(): AugmentedWebSocket[] { return [...wss.clients].filter((ws) => ws.readyState === WebSocket.OPEN); } -function catchError(target: (...args: any[]) => any, callback?: () => unknown) { - return async (...args: any[]) => { +function catchError(target: (...args: unknown[]) => unknown, callback?: () => unknown) { + return async (...args: unknown[]) => { try { return await target(...args); } catch (err) { @@ -55,37 +57,11 @@ wss.on("connection", (ws: AugmentedWebSocket) => { ws.room = data.room; // Show only last 100 messages - const roomMessages = await ChatMessage.find({ room: data.room }) - .lean(true) - // Migrate old schema where user contained the author id - // todo: Remove once all the old chat messages expire - .select({ - author: { $cond: [{ $eq: [{ $type: "$author" }, "objectId"] }, { _id: "$author", name: "-" }, "$author"] }, - _id: 1, - data: 1, - type: 1, - }) - .sort("-_id") - .limit(100); - - // todo: Remove once all the old chat messages expire - const userIds = uniq( - roomMessages.filter((msg) => msg.author?.name === "-").map((msg) => msg.author._id.toString()) - ); - if (userIds.length > 0) { - const userNames = Object.fromEntries( - ( - await User.find({ _id: { $in: userIds } }) - .select("account.username") - .lean(true) - ).map((user) => [user._id.toString(), user.account.username]) - ); - for (const message of roomMessages) { - if (message.author?.name === "-") { - message.author.name = userNames[message.author._id.toString()] || "-"; - } - } - } + const roomMessages = await collections.chatMessages + .find({ room: data.room }) + .sort({ _id: -1 }) + .limit(100) + .toArray(); if (ws.readyState !== ws.OPEN) { return; @@ -103,33 +79,35 @@ wss.on("connection", (ws: AugmentedWebSocket) => { ws.game = data.game; ws.gameUpdate = null; } - if ("fetchPlayerStatus" in data && ws.game && gameCache.get(ws.game)) { - const game = gameCache.get<GameDocument>(ws.game); - const users = await User.find( - { _id: { $in: game.players.map((x) => x._id) } }, - "security.lastActive security.lastOnline", - { lean: true } - ); + if ("fetchPlayerStatus" in data && ws.game) { + const game = gameCache.get<Game<ObjectId>>(ws.game); + if (game) { + const users = await User.find( + { _id: { $in: game.players.map((x) => x._id) } }, + "security.lastActive security.lastOnline", + { lean: true } + ); - if (ws.readyState !== ws.OPEN) { - return; - } + if (ws.readyState !== ws.OPEN) { + return; + } - // Send [{_id: player1, status: "online"}, {_id: player2, status: "offline"}, {_id: player3, status: "away"}] - ws.send( - JSON.stringify({ - command: "game:playerStatus", - players: users.map((user) => ({ - _id: user._id, - status: - Date.now() - (user.security.lastOnline ?? new Date(0)).getTime() < 60 * 1000 - ? "online" - : Date.now() - (user.security.lastActive ?? new Date(0)).getTime() < 60 * 1000 - ? "away" - : "offline", - })), - }) - ); + // Send [{_id: player1, status: "online"}, {_id: player2, status: "offline"}, {_id: player3, status: "away"}] + ws.send( + JSON.stringify({ + command: "game:playerStatus", + players: users.map((user) => ({ + _id: user._id, + status: + Date.now() - (user.security.lastOnline ?? new Date(0)).getTime() < 60 * 1000 + ? "online" + : Date.now() - (user.security.lastActive ?? new Date(0)).getTime() < 60 * 1000 + ? "away" + : "offline", + })), + }) + ); + } } if ("jwt" in data) { try { @@ -177,9 +155,9 @@ setInterval(function ping() { function sendActiveGames(ws: AugmentedWebSocket) { if (ws.user) { - Game.findWithPlayersTurn(ws.user) - .select("_id") - .lean(true) + GameUtils.findWithPlayersTurn(ws.user) + .project<Pick<Game<ObjectId>, "_id">>({ _id: 1 }) + .toArray() .then((games) => { ws.send(JSON.stringify({ command: "games:currentTurn", games: games.map((game) => game._id) })); }) @@ -187,7 +165,7 @@ function sendActiveGames(ws: AugmentedWebSocket) { } } -let lastChecked = Types.ObjectId.createFromTime(Math.floor(Date.now() / 1000)); +let lastChecked = ObjectId.createFromTime(Math.floor(Date.now() / 1000)); const gameCache = new cache({ stdTTL: 24 * 3600 }); @@ -197,9 +175,7 @@ const gameCache = new cache({ stdTTL: 24 * 3600 }); async function run() { while (1) { // Find new messages - const messages = await ChatMessage.find() - .where({ _id: { $gt: lastChecked } }) - .lean(); + const messages = await collections.chatMessages.find({ _id: { $gt: lastChecked } }).toArray(); const messagesPerRooms = groupBy(messages, (msg) => msg.room.toString()); for (const msg of messages) { @@ -228,24 +204,32 @@ async function run() { })); if (gameConditions.length > 0) { - const games = await Game.find({ $or: gameConditions }, "updatedAt players._id", { lean: true }); + const games = await collections.games + .find({ $or: gameConditions }) + .project<Pick<Game<ObjectId>, "updatedAt" | "_id"> & { players: Pick<Game<ObjectId>["players"][0], "_id">[] }>({ + updatedAt: 1, + "players._id": 1, + }) + .toArray(); for (const game of games) { gameCache.set(game._id, game); } if (games.length > 0) { - const playerIds = ( - await Game.aggregate() + const playerIds: Game<ObjectId>["_id"][] = ( + await collections.games + .aggregate() .match({ _id: { $in: games.map((game) => game._id) } }) - .project("players._id") + .project({ "players._id": 1 }) .unwind("players") .group({ _id: "$players._id" }) + .toArray() ).map((x) => x._id); const users = await User.find({ _id: { $in: playerIds } }, "security.lastActive security.lastOnline", { lean: true, }); - const usersById = keyBy<typeof users[0]>(users, (user) => user._id.toString()); + const usersById = keyBy<(typeof users)[0]>(users, (user) => user._id.toString()); for (const ws of clients()) { if (ws.readyState !== WebSocket.OPEN) { @@ -253,8 +237,8 @@ async function run() { } if (ws.game) { - const game = gameCache.get<GameDocument>(ws.game); - const localUpdate: Date = game?.updatedAt; + const game = gameCache.get<Game<ObjectId>>(ws.game); + const localUpdate = game?.updatedAt; if (localUpdate && (!ws.gameUpdate || ws.gameUpdate < localUpdate)) { ws.gameUpdate = localUpdate; @@ -271,8 +255,8 @@ async function run() { Date.now() - (user.security.lastOnline ?? new Date(0)).getTime() < 60 * 1000 ? "online" : Date.now() - (user.security.lastActive ?? new Date(0)).getTime() < 60 * 1000 - ? "away" - : "offline", + ? "away" + : "offline", })), }) ); @@ -291,7 +275,7 @@ run().catch((err: Error) => { process.exit(1); }); -async function updateActivity(user: Types.ObjectId, online: boolean) { +async function updateActivity(user: ObjectId, online: boolean) { try { if (online) { await User.updateOne( diff --git a/apps/api/tsconfig.json b/apps/api/tsconfig.json index 2ed9e832..0a384bfc 100644 --- a/apps/api/tsconfig.json +++ b/apps/api/tsconfig.json @@ -1,19 +1,13 @@ { + "extends": "../../tsconfig.json", "compilerOptions": { - "target": "es2020", - "module": "commonjs", - "moduleResolution": "node", - "sourceMap": true, "outDir": "./dist", - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "allowJs": true, - "strict": false, - "strictNullChecks": false, - "resolveJsonModule": true, - "esModuleInterop": true, - "types": ["node", "mocha", "chai", "./app/types"], - "baseUrl": "." + "rootDir": "./src" }, - "include": ["app/**/*.ts", "tests/**/*.ts", "scripts/**/*.ts", "server.ts"] + "include": ["src"], + "references": [ + { "path": "../../packages/utils" }, + { "path": "../../packages/models" }, + { "path": "../../packages/types" } + ] } diff --git a/apps/docs/docs/guide/tictactoe.md b/apps/docs/docs/guide/tictactoe.md index 1e02ec47..564e8354 100644 --- a/apps/docs/docs/guide/tictactoe.md +++ b/apps/docs/docs/guide/tictactoe.md @@ -18,7 +18,7 @@ type Coord = { type Board = [ [Player | null, Player | null, Player | null], [Player | null, Player | null, Player | null], - [Player | null, Player | null, Player | null] + [Player | null, Player | null, Player | null], ]; type GameState = { diff --git a/apps/docs/package.json b/apps/docs/package.json index 068ef061..e741370e 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -1,5 +1,6 @@ { "name": "@bgs/docs", + "packageManager": "pnpm@8.10.5", "version": "0.0.1", "description": "Docs for the boardgamers ecosystem", "main": "index.js", @@ -9,13 +10,13 @@ }, "repository": "boardgamers-docs/boardgamers-doc", "scripts": { - "dev": "vuepress dev docs", - "build": "vuepress build docs" + "dev": "NODE_OPTIONS=--openssl-legacy-provider vuepress dev docs", + "build": "NODE_OPTIONS=--openssl-legacy-provider vuepress build docs" }, "license": "MIT", "devDependencies": { - "@vuepress/plugin-back-to-top": "^1.3.1", - "@vuepress/plugin-medium-zoom": "^1.3.1", - "vuepress": "^1.3.1" + "@vuepress/plugin-back-to-top": "^1.9.10", + "@vuepress/plugin-medium-zoom": "^1.9.10", + "vuepress": "^1.9.10" } } diff --git a/apps/docs/pnpm-lock.yaml b/apps/docs/pnpm-lock.yaml index 923b53d2..e50b9b4a 100644 --- a/apps/docs/pnpm-lock.yaml +++ b/apps/docs/pnpm-lock.yaml @@ -1,28 +1,33 @@ -lockfileVersion: 5.3 +lockfileVersion: '6.0' -specifiers: - '@vuepress/plugin-back-to-top': ^1.3.1 - '@vuepress/plugin-medium-zoom': ^1.3.1 - vuepress: ^1.3.1 +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false devDependencies: - '@vuepress/plugin-back-to-top': 1.8.0 - '@vuepress/plugin-medium-zoom': 1.8.0 - vuepress: 1.8.0 + '@vuepress/plugin-back-to-top': + specifier: ^1.9.10 + version: 1.9.10 + '@vuepress/plugin-medium-zoom': + specifier: ^1.9.10 + version: 1.9.10 + vuepress: + specifier: ^1.9.10 + version: 1.9.10 packages: - /@babel/code-frame/7.12.11: + /@babel/code-frame@7.12.11: resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} dependencies: '@babel/highlight': 7.10.4 dev: true - /@babel/compat-data/7.12.7: + /@babel/compat-data@7.12.7: resolution: {integrity: sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==} dev: true - /@babel/core/7.12.10: + /@babel/core@7.12.10: resolution: {integrity: sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==} engines: {node: '>=6.9.0'} dependencies: @@ -35,7 +40,7 @@ packages: '@babel/traverse': 7.12.12 '@babel/types': 7.12.12 convert-source-map: 1.7.0 - debug: 4.3.1 + debug: 4.3.1(supports-color@6.1.0) gensync: 1.0.0-beta.2 json5: 2.1.3 lodash: 4.17.20 @@ -45,7 +50,7 @@ packages: - supports-color dev: true - /@babel/generator/7.12.11: + /@babel/generator@7.12.11: resolution: {integrity: sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==} dependencies: '@babel/types': 7.12.12 @@ -53,20 +58,20 @@ packages: source-map: 0.5.7 dev: true - /@babel/helper-annotate-as-pure/7.12.10: + /@babel/helper-annotate-as-pure@7.12.10: resolution: {integrity: sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==} dependencies: '@babel/types': 7.12.12 dev: true - /@babel/helper-builder-binary-assignment-operator-visitor/7.10.4: + /@babel/helper-builder-binary-assignment-operator-visitor@7.10.4: resolution: {integrity: sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==} dependencies: '@babel/helper-explode-assignable-expression': 7.12.1 '@babel/types': 7.12.12 dev: true - /@babel/helper-compilation-targets/7.12.5_@babel+core@7.12.10: + /@babel/helper-compilation-targets@7.12.5(@babel/core@7.12.10): resolution: {integrity: sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==} peerDependencies: '@babel/core': ^7.0.0 @@ -78,7 +83,7 @@ packages: semver: 5.7.1 dev: true - /@babel/helper-create-class-features-plugin/7.12.1_@babel+core@7.12.10: + /@babel/helper-create-class-features-plugin@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==} peerDependencies: '@babel/core': ^7.0.0 @@ -93,7 +98,7 @@ packages: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin/7.12.7_@babel+core@7.12.10: + /@babel/helper-create-regexp-features-plugin@7.12.7(@babel/core@7.12.10): resolution: {integrity: sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==} peerDependencies: '@babel/core': ^7.0.0 @@ -103,7 +108,7 @@ packages: regexpu-core: 4.7.1 dev: true - /@babel/helper-define-map/7.10.5: + /@babel/helper-define-map@7.10.5: resolution: {integrity: sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==} dependencies: '@babel/helper-function-name': 7.12.11 @@ -111,13 +116,13 @@ packages: lodash: 4.17.20 dev: true - /@babel/helper-explode-assignable-expression/7.12.1: + /@babel/helper-explode-assignable-expression@7.12.1: resolution: {integrity: sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==} dependencies: '@babel/types': 7.12.12 dev: true - /@babel/helper-function-name/7.12.11: + /@babel/helper-function-name@7.12.11: resolution: {integrity: sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==} dependencies: '@babel/helper-get-function-arity': 7.12.10 @@ -125,31 +130,31 @@ packages: '@babel/types': 7.12.12 dev: true - /@babel/helper-get-function-arity/7.12.10: + /@babel/helper-get-function-arity@7.12.10: resolution: {integrity: sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==} dependencies: '@babel/types': 7.12.12 dev: true - /@babel/helper-hoist-variables/7.10.4: + /@babel/helper-hoist-variables@7.10.4: resolution: {integrity: sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==} dependencies: '@babel/types': 7.12.12 dev: true - /@babel/helper-member-expression-to-functions/7.12.7: + /@babel/helper-member-expression-to-functions@7.12.7: resolution: {integrity: sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==} dependencies: '@babel/types': 7.12.12 dev: true - /@babel/helper-module-imports/7.12.5: + /@babel/helper-module-imports@7.12.5: resolution: {integrity: sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==} dependencies: '@babel/types': 7.12.12 dev: true - /@babel/helper-module-transforms/7.12.1: + /@babel/helper-module-transforms@7.12.1: resolution: {integrity: sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==} dependencies: '@babel/helper-module-imports': 7.12.5 @@ -165,17 +170,17 @@ packages: - supports-color dev: true - /@babel/helper-optimise-call-expression/7.12.10: + /@babel/helper-optimise-call-expression@7.12.10: resolution: {integrity: sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==} dependencies: '@babel/types': 7.12.12 dev: true - /@babel/helper-plugin-utils/7.10.4: + /@babel/helper-plugin-utils@7.10.4: resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==} dev: true - /@babel/helper-remap-async-to-generator/7.12.1: + /@babel/helper-remap-async-to-generator@7.12.1: resolution: {integrity: sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==} dependencies: '@babel/helper-annotate-as-pure': 7.12.10 @@ -185,7 +190,7 @@ packages: - supports-color dev: true - /@babel/helper-replace-supers/7.12.11: + /@babel/helper-replace-supers@7.12.11: resolution: {integrity: sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==} dependencies: '@babel/helper-member-expression-to-functions': 7.12.7 @@ -196,33 +201,33 @@ packages: - supports-color dev: true - /@babel/helper-simple-access/7.12.1: + /@babel/helper-simple-access@7.12.1: resolution: {integrity: sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==} dependencies: '@babel/types': 7.12.12 dev: true - /@babel/helper-skip-transparent-expression-wrappers/7.12.1: + /@babel/helper-skip-transparent-expression-wrappers@7.12.1: resolution: {integrity: sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==} dependencies: '@babel/types': 7.12.12 dev: true - /@babel/helper-split-export-declaration/7.12.11: + /@babel/helper-split-export-declaration@7.12.11: resolution: {integrity: sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==} dependencies: '@babel/types': 7.12.12 dev: true - /@babel/helper-validator-identifier/7.12.11: + /@babel/helper-validator-identifier@7.12.11: resolution: {integrity: sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==} dev: true - /@babel/helper-validator-option/7.12.11: + /@babel/helper-validator-option@7.12.11: resolution: {integrity: sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==} dev: true - /@babel/helper-wrap-function/7.12.3: + /@babel/helper-wrap-function@7.12.3: resolution: {integrity: sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==} dependencies: '@babel/helper-function-name': 7.12.11 @@ -233,7 +238,7 @@ packages: - supports-color dev: true - /@babel/helpers/7.12.5: + /@babel/helpers@7.12.5: resolution: {integrity: sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==} dependencies: '@babel/template': 7.12.7 @@ -243,7 +248,7 @@ packages: - supports-color dev: true - /@babel/highlight/7.10.4: + /@babel/highlight@7.10.4: resolution: {integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==} dependencies: '@babel/helper-validator-identifier': 7.12.11 @@ -251,166 +256,181 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.12.11: + /@babel/parser@7.12.11: resolution: {integrity: sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==} engines: {node: '>=6.0.0'} hasBin: true + dependencies: + '@babel/types': 7.12.12 dev: true - /@babel/plugin-proposal-async-generator-functions/7.12.12_@babel+core@7.12.10: + /@babel/plugin-proposal-async-generator-functions@7.12.12(@babel/core@7.12.10): resolution: {integrity: sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 '@babel/helper-remap-async-to-generator': 7.12.1 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.12.10 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.12.10) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-properties/7.12.1_@babel+core@7.12.10: + /@babel/plugin-proposal-class-properties@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.10 + '@babel/helper-create-class-features-plugin': 7.12.1(@babel/core@7.12.10) '@babel/helper-plugin-utils': 7.10.4 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-decorators/7.12.12_@babel+core@7.12.10: + /@babel/plugin-proposal-decorators@7.12.12(@babel/core@7.12.10): resolution: {integrity: sha512-fhkE9lJYpw2mjHelBpM2zCbaA11aov2GJs7q4cFaXNrWx0H3bW58H9Esy2rdtYOghFBEYUDRIpvlgi+ZD+AvvQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.10 + '@babel/helper-create-class-features-plugin': 7.12.1(@babel/core@7.12.10) '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-syntax-decorators': 7.12.1_@babel+core@7.12.10 + '@babel/plugin-syntax-decorators': 7.12.1(@babel/core@7.12.10) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-dynamic-import/7.12.1_@babel+core@7.12.10: + /@babel/plugin-proposal-dynamic-import@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.12.10 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.12.10) dev: true - /@babel/plugin-proposal-export-namespace-from/7.12.1_@babel+core@7.12.10: + /@babel/plugin-proposal-export-namespace-from@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.12.10 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.12.10) dev: true - /@babel/plugin-proposal-json-strings/7.12.1_@babel+core@7.12.10: + /@babel/plugin-proposal-json-strings@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.12.10 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.12.10) dev: true - /@babel/plugin-proposal-logical-assignment-operators/7.12.1_@babel+core@7.12.10: + /@babel/plugin-proposal-logical-assignment-operators@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.12.10 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.12.10) dev: true - /@babel/plugin-proposal-nullish-coalescing-operator/7.12.1_@babel+core@7.12.10: + /@babel/plugin-proposal-nullish-coalescing-operator@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.12.10 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.12.10) dev: true - /@babel/plugin-proposal-numeric-separator/7.12.7_@babel+core@7.12.10: + /@babel/plugin-proposal-numeric-separator@7.12.7(@babel/core@7.12.10): resolution: {integrity: sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.12.10 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.12.10) dev: true - /@babel/plugin-proposal-object-rest-spread/7.12.1_@babel+core@7.12.10: + /@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-transform-parameters': 7.12.1_@babel+core@7.12.10 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-transform-parameters': 7.12.1(@babel/core@7.12.10) dev: true - /@babel/plugin-proposal-optional-catch-binding/7.12.1_@babel+core@7.12.10: + /@babel/plugin-proposal-optional-catch-binding@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.12.10 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.12.10) dev: true - /@babel/plugin-proposal-optional-chaining/7.12.7_@babel+core@7.12.10: + /@babel/plugin-proposal-optional-chaining@7.12.7(@babel/core@7.12.10): resolution: {integrity: sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 '@babel/helper-skip-transparent-expression-wrappers': 7.12.1 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.12.10 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.12.10) dev: true - /@babel/plugin-proposal-private-methods/7.12.1_@babel+core@7.12.10: + /@babel/plugin-proposal-private-methods@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.10 + '@babel/helper-create-class-features-plugin': 7.12.1(@babel/core@7.12.10) '@babel/helper-plugin-utils': 7.10.4 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-unicode-property-regex/7.12.1_@babel+core@7.12.10: + /@babel/plugin-proposal-unicode-property-regex@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==} engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/helper-create-regexp-features-plugin': 7.12.7_@babel+core@7.12.10 + '@babel/helper-create-regexp-features-plugin': 7.12.7(@babel/core@7.12.10) '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.12.10: + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.12.10): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -419,7 +439,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-class-properties/7.12.1_@babel+core@7.12.10: + /@babel/plugin-syntax-class-properties@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -428,7 +448,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-decorators/7.12.1_@babel+core@7.12.10: + /@babel/plugin-syntax-decorators@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -437,7 +457,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.12.10: + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.12.10): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -446,7 +466,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.12.10: + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.12.10): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -455,7 +475,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.12.10: + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.12.10): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -464,7 +484,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-jsx/7.12.1_@babel+core@7.12.10: + /@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -473,7 +493,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.12.10: + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.12.10): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -482,7 +502,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.12.10: + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.12.10): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -491,7 +511,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.12.10: + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.12.10): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -500,7 +520,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.12.10: + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.10): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -509,7 +529,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.12.10: + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.12.10): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -518,7 +538,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.12.10: + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.12.10): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -527,7 +547,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-syntax-top-level-await/7.12.1_@babel+core@7.12.10: + /@babel/plugin-syntax-top-level-await@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -536,7 +556,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-arrow-functions/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-arrow-functions@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -545,7 +565,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-async-to-generator/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-async-to-generator@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -558,7 +578,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-block-scoped-functions/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-block-scoped-functions@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -567,7 +587,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-block-scoping/7.12.12_@babel+core@7.12.10: + /@babel/plugin-transform-block-scoping@7.12.12(@babel/core@7.12.10): resolution: {integrity: sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -576,7 +596,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-classes/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-classes@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -594,7 +614,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-computed-properties/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-computed-properties@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -603,7 +623,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-destructuring/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-destructuring@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -612,17 +632,17 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-dotall-regex/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-dotall-regex@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/helper-create-regexp-features-plugin': 7.12.7_@babel+core@7.12.10 + '@babel/helper-create-regexp-features-plugin': 7.12.7(@babel/core@7.12.10) '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-duplicate-keys/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-duplicate-keys@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -631,7 +651,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-exponentiation-operator/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-exponentiation-operator@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -641,7 +661,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-for-of/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-for-of@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -650,7 +670,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-function-name/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-function-name@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -660,7 +680,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-literals/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-literals@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -669,7 +689,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-member-expression-literals/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-member-expression-literals@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -678,7 +698,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-modules-amd/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-modules-amd@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -691,7 +711,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-modules-commonjs@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -705,7 +725,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-systemjs/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-modules-systemjs@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -720,7 +740,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-umd/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-modules-umd@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -732,16 +752,16 @@ packages: - supports-color dev: true - /@babel/plugin-transform-named-capturing-groups-regex/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-named-capturing-groups-regex@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.12.10 - '@babel/helper-create-regexp-features-plugin': 7.12.7_@babel+core@7.12.10 + '@babel/helper-create-regexp-features-plugin': 7.12.7(@babel/core@7.12.10) dev: true - /@babel/plugin-transform-new-target/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-new-target@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -750,7 +770,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-object-super/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-object-super@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -762,7 +782,7 @@ packages: - supports-color dev: true - /@babel/plugin-transform-parameters/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-parameters@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -771,7 +791,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-property-literals/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-property-literals@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -780,7 +800,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-regenerator/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-regenerator@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -789,7 +809,7 @@ packages: regenerator-transform: 0.14.5 dev: true - /@babel/plugin-transform-reserved-words/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-reserved-words@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -798,7 +818,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-runtime/7.12.10_@babel+core@7.12.10: + /@babel/plugin-transform-runtime@7.12.10(@babel/core@7.12.10): resolution: {integrity: sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -809,7 +829,7 @@ packages: semver: 5.7.1 dev: true - /@babel/plugin-transform-shorthand-properties/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-shorthand-properties@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -818,7 +838,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-spread/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-spread@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -828,7 +848,7 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.12.1 dev: true - /@babel/plugin-transform-sticky-regex/7.12.7_@babel+core@7.12.10: + /@babel/plugin-transform-sticky-regex@7.12.7(@babel/core@7.12.10): resolution: {integrity: sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -837,7 +857,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-template-literals/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-template-literals@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -846,7 +866,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-typeof-symbol/7.12.10_@babel+core@7.12.10: + /@babel/plugin-transform-typeof-symbol@7.12.10(@babel/core@7.12.10): resolution: {integrity: sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -855,7 +875,7 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-unicode-escapes/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-unicode-escapes@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -864,85 +884,85 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/plugin-transform-unicode-regex/7.12.1_@babel+core@7.12.10: + /@babel/plugin-transform-unicode-regex@7.12.1(@babel/core@7.12.10): resolution: {integrity: sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/helper-create-regexp-features-plugin': 7.12.7_@babel+core@7.12.10 + '@babel/helper-create-regexp-features-plugin': 7.12.7(@babel/core@7.12.10) '@babel/helper-plugin-utils': 7.10.4 dev: true - /@babel/preset-env/7.12.11_@babel+core@7.12.10: + /@babel/preset-env@7.12.11(@babel/core@7.12.10): resolution: {integrity: sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.12.7 '@babel/core': 7.12.10 - '@babel/helper-compilation-targets': 7.12.5_@babel+core@7.12.10 + '@babel/helper-compilation-targets': 7.12.5(@babel/core@7.12.10) '@babel/helper-module-imports': 7.12.5 '@babel/helper-plugin-utils': 7.10.4 '@babel/helper-validator-option': 7.12.11 - '@babel/plugin-proposal-async-generator-functions': 7.12.12_@babel+core@7.12.10 - '@babel/plugin-proposal-class-properties': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-proposal-dynamic-import': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-proposal-export-namespace-from': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-proposal-json-strings': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-proposal-logical-assignment-operators': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-proposal-numeric-separator': 7.12.7_@babel+core@7.12.10 - '@babel/plugin-proposal-object-rest-spread': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-proposal-optional-catch-binding': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-proposal-optional-chaining': 7.12.7_@babel+core@7.12.10 - '@babel/plugin-proposal-private-methods': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-proposal-unicode-property-regex': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.12.10 - '@babel/plugin-syntax-class-properties': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.12.10 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.12.10 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-top-level-await': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-arrow-functions': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-async-to-generator': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-block-scoped-functions': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-block-scoping': 7.12.12_@babel+core@7.12.10 - '@babel/plugin-transform-classes': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-computed-properties': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-destructuring': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-dotall-regex': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-duplicate-keys': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-exponentiation-operator': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-for-of': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-function-name': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-literals': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-member-expression-literals': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-modules-amd': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-modules-commonjs': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-modules-systemjs': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-modules-umd': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-named-capturing-groups-regex': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-new-target': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-object-super': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-parameters': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-property-literals': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-regenerator': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-reserved-words': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-shorthand-properties': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-spread': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-sticky-regex': 7.12.7_@babel+core@7.12.10 - '@babel/plugin-transform-template-literals': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-typeof-symbol': 7.12.10_@babel+core@7.12.10 - '@babel/plugin-transform-unicode-escapes': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-unicode-regex': 7.12.1_@babel+core@7.12.10 - '@babel/preset-modules': 0.1.4_@babel+core@7.12.10 + '@babel/plugin-proposal-async-generator-functions': 7.12.12(@babel/core@7.12.10) + '@babel/plugin-proposal-class-properties': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-dynamic-import': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-export-namespace-from': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-json-strings': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-logical-assignment-operators': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-numeric-separator': 7.12.7(@babel/core@7.12.10) + '@babel/plugin-proposal-object-rest-spread': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-optional-catch-binding': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-optional-chaining': 7.12.7(@babel/core@7.12.10) + '@babel/plugin-proposal-private-methods': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-unicode-property-regex': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.12.10) + '@babel/plugin-syntax-class-properties': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.12.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.12.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-top-level-await': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-arrow-functions': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-async-to-generator': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-block-scoped-functions': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-block-scoping': 7.12.12(@babel/core@7.12.10) + '@babel/plugin-transform-classes': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-computed-properties': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-destructuring': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-dotall-regex': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-duplicate-keys': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-exponentiation-operator': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-for-of': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-function-name': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-literals': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-member-expression-literals': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-modules-amd': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-modules-commonjs': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-modules-systemjs': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-modules-umd': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-named-capturing-groups-regex': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-new-target': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-object-super': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-parameters': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-property-literals': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-regenerator': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-reserved-words': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-shorthand-properties': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-spread': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-sticky-regex': 7.12.7(@babel/core@7.12.10) + '@babel/plugin-transform-template-literals': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-typeof-symbol': 7.12.10(@babel/core@7.12.10) + '@babel/plugin-transform-unicode-escapes': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-unicode-regex': 7.12.1(@babel/core@7.12.10) + '@babel/preset-modules': 0.1.4(@babel/core@7.12.10) '@babel/types': 7.12.12 core-js-compat: 3.8.3 semver: 5.7.1 @@ -950,26 +970,26 @@ packages: - supports-color dev: true - /@babel/preset-modules/0.1.4_@babel+core@7.12.10: + /@babel/preset-modules@0.1.4(@babel/core@7.12.10): resolution: {integrity: sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-proposal-unicode-property-regex': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-dotall-regex': 7.12.1_@babel+core@7.12.10 + '@babel/plugin-proposal-unicode-property-regex': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-dotall-regex': 7.12.1(@babel/core@7.12.10) '@babel/types': 7.12.12 esutils: 2.0.3 dev: true - /@babel/runtime/7.12.5: + /@babel/runtime@7.12.5: resolution: {integrity: sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==} dependencies: regenerator-runtime: 0.13.7 dev: true - /@babel/template/7.12.7: + /@babel/template@7.12.7: resolution: {integrity: sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==} dependencies: '@babel/code-frame': 7.12.11 @@ -977,7 +997,7 @@ packages: '@babel/types': 7.12.12 dev: true - /@babel/traverse/7.12.12: + /@babel/traverse@7.12.12: resolution: {integrity: sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==} dependencies: '@babel/code-frame': 7.12.11 @@ -986,14 +1006,14 @@ packages: '@babel/helper-split-export-declaration': 7.12.11 '@babel/parser': 7.12.11 '@babel/types': 7.12.12 - debug: 4.3.1 + debug: 4.3.1(supports-color@6.1.0) globals: 11.12.0 lodash: 4.17.20 transitivePeerDependencies: - supports-color dev: true - /@babel/types/7.12.12: + /@babel/types@7.12.12: resolution: {integrity: sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==} dependencies: '@babel/helper-validator-identifier': 7.12.11 @@ -1001,7 +1021,7 @@ packages: to-fast-properties: 2.0.0 dev: true - /@mrmlnc/readdir-enhanced/2.2.1: + /@mrmlnc/readdir-enhanced@2.2.1: resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} engines: {node: '>=4'} dependencies: @@ -1009,59 +1029,216 @@ packages: glob-to-regexp: 0.3.0 dev: true - /@nodelib/fs.stat/1.1.3: + /@nodelib/fs.stat@1.1.3: resolution: {integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==} engines: {node: '>= 6'} dev: true - /@sindresorhus/is/0.14.0: + /@sindresorhus/is@0.14.0: resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} engines: {node: '>=6'} dev: true - /@szmarczak/http-timer/1.1.2: + /@szmarczak/http-timer@1.1.2: resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} engines: {node: '>=6'} dependencies: defer-to-connect: 1.1.3 dev: true - /@types/glob/7.1.3: + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + dependencies: + '@types/connect': 3.4.38 + '@types/node': 14.14.22 + dev: true + + /@types/connect-history-api-fallback@1.5.4: + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + dependencies: + '@types/express-serve-static-core': 4.17.41 + '@types/node': 14.14.22 + dev: true + + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 14.14.22 + dev: true + + /@types/express-serve-static-core@4.17.41: + resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} + dependencies: + '@types/node': 14.14.22 + '@types/qs': 6.9.10 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + dev: true + + /@types/express@4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.17.41 + '@types/qs': 6.9.10 + '@types/serve-static': 1.15.5 + dev: true + + /@types/glob@7.1.3: resolution: {integrity: sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==} dependencies: '@types/minimatch': 3.0.3 '@types/node': 14.14.22 dev: true - /@types/json-schema/7.0.7: + /@types/highlight.js@9.12.4: + resolution: {integrity: sha512-t2szdkwmg2JJyuCM20e8kR2X59WCE5Zkl4bzm1u1Oukjm79zpbiAv+QjnwLnuuV0WHEcX2NgUItu0pAMKuOPww==} + dev: true + + /@types/http-errors@2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + dev: true + + /@types/http-proxy@1.17.14: + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + dependencies: + '@types/node': 14.14.22 + dev: true + + /@types/json-schema@7.0.7: resolution: {integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==} dev: true - /@types/minimatch/3.0.3: + /@types/keyv@3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 14.14.22 + dev: true + + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + dev: true + + /@types/markdown-it@10.0.3: + resolution: {integrity: sha512-daHJk22isOUvNssVGF2zDnnSyxHhFYhtjeX4oQaKD6QzL3ZR1QSgiD1g+Q6/WSWYVogNXYDXODtbgW/WiFCtyw==} + dependencies: + '@types/highlight.js': 9.12.4 + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + highlight.js: 9.18.5 + dev: true + + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + dev: true + + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: true + + /@types/mime@3.0.4: + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + dev: true + + /@types/minimatch@3.0.3: resolution: {integrity: sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==} dev: true - /@types/node/14.14.22: + /@types/node@14.14.22: resolution: {integrity: sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==} dev: true - /@types/q/1.5.4: + /@types/q@1.5.4: resolution: {integrity: sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==} dev: true - /@vue/babel-helper-vue-jsx-merge-props/1.2.1: + /@types/qs@6.9.10: + resolution: {integrity: sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==} + dev: true + + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + dev: true + + /@types/responselike@1.0.3: + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + dependencies: + '@types/node': 14.14.22 + dev: true + + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 14.14.22 + dev: true + + /@types/serve-static@1.15.5: + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + dependencies: + '@types/http-errors': 2.0.4 + '@types/mime': 3.0.4 + '@types/node': 14.14.22 + dev: true + + /@types/source-list-map@0.1.6: + resolution: {integrity: sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==} + dev: true + + /@types/tapable@1.0.12: + resolution: {integrity: sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==} + dev: true + + /@types/uglify-js@3.17.4: + resolution: {integrity: sha512-Hm/T0kV3ywpJyMGNbsItdivRhYNCQQf1IIsYsXnoVPES4t+FMLyDe0/K+Ea7ahWtMtSNb22ZdY7MIyoD9rqARg==} + dependencies: + source-map: 0.6.1 + dev: true + + /@types/webpack-dev-server@3.11.6: + resolution: {integrity: sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==} + dependencies: + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/serve-static': 1.15.5 + '@types/webpack': 4.41.38 + http-proxy-middleware: 1.3.1 + transitivePeerDependencies: + - debug + dev: true + + /@types/webpack-sources@3.2.3: + resolution: {integrity: sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==} + dependencies: + '@types/node': 14.14.22 + '@types/source-list-map': 0.1.6 + source-map: 0.7.3 + dev: true + + /@types/webpack@4.41.38: + resolution: {integrity: sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==} + dependencies: + '@types/node': 14.14.22 + '@types/tapable': 1.0.12 + '@types/uglify-js': 3.17.4 + '@types/webpack-sources': 3.2.3 + anymatch: 3.1.1 + source-map: 0.6.1 + dev: true + + /@vue/babel-helper-vue-jsx-merge-props@1.2.1: resolution: {integrity: sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==} dev: true - /@vue/babel-helper-vue-transform-on/1.0.2: + /@vue/babel-helper-vue-transform-on@1.0.2: resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} dev: true - /@vue/babel-plugin-jsx/1.0.2_@babel+core@7.12.10: + /@vue/babel-plugin-jsx@1.0.2(@babel/core@7.12.10): resolution: {integrity: sha512-1uZlQCLCeuqJgDYLCmg3qfsvTVtOQiXh278ES4bvPTYYbv2Bi/rElLETK6AdjI9xxzyTUf5n1QEiH8Xxz0eZrg==} dependencies: '@babel/helper-module-imports': 7.12.5 - '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10 + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.10) '@babel/template': 7.12.7 '@babel/traverse': 7.12.12 '@babel/types': 7.12.12 @@ -1074,23 +1251,25 @@ packages: - supports-color dev: true - /@vue/babel-plugin-transform-vue-jsx/1.2.1_@babel+core@7.12.10: + /@vue/babel-plugin-transform-vue-jsx@1.2.1(@babel/core@7.12.10): resolution: {integrity: sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@babel/helper-module-imports': 7.12.5 - '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10 + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.10) '@vue/babel-helper-vue-jsx-merge-props': 1.2.1 html-tags: 2.0.0 lodash.kebabcase: 4.1.1 svg-tags: 1.0.0 dev: true - /@vue/babel-preset-app/4.5.11_vue@2.6.12: + /@vue/babel-preset-app@4.5.11(@babel/core@7.12.10)(core-js@3.8.3)(vue@2.6.12): resolution: {integrity: sha512-9VoFlm/9vhynKNGM+HA7qBsoQSUEnuG5i5kcFI9vTLLrh8A0fxrwUyVLLppO6T1sAZ6vrKdQFnEkjL+RkRAwWQ==} peerDependencies: + '@babel/core': '*' + core-js: ^3 vue: ^2 || ^3.0.0-0 peerDependenciesMeta: core-js: @@ -1099,17 +1278,17 @@ packages: optional: true dependencies: '@babel/core': 7.12.10 - '@babel/helper-compilation-targets': 7.12.5_@babel+core@7.12.10 + '@babel/helper-compilation-targets': 7.12.5(@babel/core@7.12.10) '@babel/helper-module-imports': 7.12.5 - '@babel/plugin-proposal-class-properties': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-proposal-decorators': 7.12.12_@babel+core@7.12.10 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.12.10 - '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10 - '@babel/plugin-transform-runtime': 7.12.10_@babel+core@7.12.10 - '@babel/preset-env': 7.12.11_@babel+core@7.12.10 + '@babel/plugin-proposal-class-properties': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-decorators': 7.12.12(@babel/core@7.12.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-transform-runtime': 7.12.10(@babel/core@7.12.10) + '@babel/preset-env': 7.12.11(@babel/core@7.12.10) '@babel/runtime': 7.12.5 - '@vue/babel-plugin-jsx': 1.0.2_@babel+core@7.12.10 - '@vue/babel-preset-jsx': 1.2.4_@babel+core@7.12.10 + '@vue/babel-plugin-jsx': 1.0.2(@babel/core@7.12.10) + '@vue/babel-preset-jsx': 1.2.4(@babel/core@7.12.10) babel-plugin-dynamic-import-node: 2.3.3 core-js: 3.8.3 core-js-compat: 3.8.3 @@ -1119,84 +1298,84 @@ packages: - supports-color dev: true - /@vue/babel-preset-jsx/1.2.4_@babel+core@7.12.10: + /@vue/babel-preset-jsx@1.2.4(@babel/core@7.12.10): resolution: {integrity: sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 '@vue/babel-helper-vue-jsx-merge-props': 1.2.1 - '@vue/babel-plugin-transform-vue-jsx': 1.2.1_@babel+core@7.12.10 - '@vue/babel-sugar-composition-api-inject-h': 1.2.1_@babel+core@7.12.10 - '@vue/babel-sugar-composition-api-render-instance': 1.2.4_@babel+core@7.12.10 - '@vue/babel-sugar-functional-vue': 1.2.2_@babel+core@7.12.10 - '@vue/babel-sugar-inject-h': 1.2.2_@babel+core@7.12.10 - '@vue/babel-sugar-v-model': 1.2.3_@babel+core@7.12.10 - '@vue/babel-sugar-v-on': 1.2.3_@babel+core@7.12.10 + '@vue/babel-plugin-transform-vue-jsx': 1.2.1(@babel/core@7.12.10) + '@vue/babel-sugar-composition-api-inject-h': 1.2.1(@babel/core@7.12.10) + '@vue/babel-sugar-composition-api-render-instance': 1.2.4(@babel/core@7.12.10) + '@vue/babel-sugar-functional-vue': 1.2.2(@babel/core@7.12.10) + '@vue/babel-sugar-inject-h': 1.2.2(@babel/core@7.12.10) + '@vue/babel-sugar-v-model': 1.2.3(@babel/core@7.12.10) + '@vue/babel-sugar-v-on': 1.2.3(@babel/core@7.12.10) dev: true - /@vue/babel-sugar-composition-api-inject-h/1.2.1_@babel+core@7.12.10: + /@vue/babel-sugar-composition-api-inject-h@1.2.1(@babel/core@7.12.10): resolution: {integrity: sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10 + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.10) dev: true - /@vue/babel-sugar-composition-api-render-instance/1.2.4_@babel+core@7.12.10: + /@vue/babel-sugar-composition-api-render-instance@1.2.4(@babel/core@7.12.10): resolution: {integrity: sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10 + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.10) dev: true - /@vue/babel-sugar-functional-vue/1.2.2_@babel+core@7.12.10: + /@vue/babel-sugar-functional-vue@1.2.2(@babel/core@7.12.10): resolution: {integrity: sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10 + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.10) dev: true - /@vue/babel-sugar-inject-h/1.2.2_@babel+core@7.12.10: + /@vue/babel-sugar-inject-h@1.2.2(@babel/core@7.12.10): resolution: {integrity: sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10 + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.10) dev: true - /@vue/babel-sugar-v-model/1.2.3_@babel+core@7.12.10: + /@vue/babel-sugar-v-model@1.2.3(@babel/core@7.12.10): resolution: {integrity: sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10 + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.10) '@vue/babel-helper-vue-jsx-merge-props': 1.2.1 - '@vue/babel-plugin-transform-vue-jsx': 1.2.1_@babel+core@7.12.10 + '@vue/babel-plugin-transform-vue-jsx': 1.2.1(@babel/core@7.12.10) camelcase: 5.3.1 html-tags: 2.0.0 svg-tags: 1.0.0 dev: true - /@vue/babel-sugar-v-on/1.2.3_@babel+core@7.12.10: + /@vue/babel-sugar-v-on@1.2.3(@babel/core@7.12.10): resolution: {integrity: sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.10 - '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.10 - '@vue/babel-plugin-transform-vue-jsx': 1.2.1_@babel+core@7.12.10 + '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.10) + '@vue/babel-plugin-transform-vue-jsx': 1.2.1(@babel/core@7.12.10) camelcase: 5.3.1 dev: true - /@vue/component-compiler-utils/3.2.0: + /@vue/component-compiler-utils@3.2.0: resolution: {integrity: sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==} dependencies: consolidate: 0.15.1 @@ -1209,118 +1388,259 @@ packages: vue-template-es2015-compiler: 1.9.1 optionalDependencies: prettier: 1.19.1 - dev: true - - /@vuepress/core/1.8.0: - resolution: {integrity: sha512-DrHx3gXa5rUDdvjcUHhmZg1DccMwc3kiYpgtbKCuJpHksz9eAVuOxbcy/b6TGRbbY4Q5EA2Fs3kI9hvPjYdCrQ==} + transitivePeerDependencies: + - arc-templates + - atpl + - babel-core + - bracket-template + - coffee-script + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - vash + - velocityjs + - walrus + - whiskers + dev: true + + /@vuepress/core@1.9.10: + resolution: {integrity: sha512-H9ddo5fSinPb8QYl8OJFbZikMpOW84bm/U3Drzz8CnCXNtpda7CU2wX/XzOhe98G8jp45xhtZRkxOrqzBBAShA==} engines: {node: '>=8.6'} dependencies: '@babel/core': 7.12.10 - '@vue/babel-preset-app': 4.5.11_vue@2.6.12 - '@vuepress/markdown': 1.8.0 - '@vuepress/markdown-loader': 1.8.0 - '@vuepress/plugin-last-updated': 1.8.0 - '@vuepress/plugin-register-components': 1.8.0 - '@vuepress/shared-utils': 1.8.0 + '@vue/babel-preset-app': 4.5.11(@babel/core@7.12.10)(core-js@3.8.3)(vue@2.6.12) + '@vuepress/markdown': 1.9.10 + '@vuepress/markdown-loader': 1.9.10 + '@vuepress/plugin-last-updated': 1.9.10 + '@vuepress/plugin-register-components': 1.9.10 + '@vuepress/shared-utils': 1.9.10 + '@vuepress/types': 1.9.10 autoprefixer: 9.8.6 - babel-loader: 8.2.2_80cd7b8149d93293e480a9a7c4e34482 - cache-loader: 3.0.1_webpack@4.46.0 - chokidar: 2.1.8 + babel-loader: 8.2.2(@babel/core@7.12.10)(webpack@4.46.0) + bundle-require: 2.1.8(esbuild@0.14.7) + cache-loader: 3.0.1(webpack@4.46.0) + chokidar: 2.1.8(supports-color@6.1.0) connect-history-api-fallback: 1.6.0 - copy-webpack-plugin: 5.1.2_webpack@4.46.0 + copy-webpack-plugin: 5.1.2(webpack@4.46.0) core-js: 3.8.3 cross-spawn: 6.0.5 - css-loader: 2.1.1_webpack@4.46.0 - file-loader: 3.0.1_webpack@4.46.0 + css-loader: 2.1.1(webpack@4.46.0) + esbuild: 0.14.7 + file-loader: 3.0.1(webpack@4.46.0) js-yaml: 3.14.1 lru-cache: 5.1.1 - mini-css-extract-plugin: 0.6.0_webpack@4.46.0 - optimize-css-assets-webpack-plugin: 5.0.4_webpack@4.46.0 - portfinder: 1.0.28 + mini-css-extract-plugin: 0.6.0(webpack@4.46.0) + optimize-css-assets-webpack-plugin: 5.0.4(webpack@4.46.0) + portfinder: 1.0.28(supports-color@6.1.0) postcss-loader: 3.0.0 postcss-safe-parser: 4.0.2 toml: 3.0.0 - url-loader: 1.1.2_webpack@4.46.0 + url-loader: 1.1.2(webpack@4.46.0) vue: 2.6.12 - vue-loader: 15.9.6_cdfaccc535dd293eec52a3fbf989b5e0 - vue-router: 3.4.9 + vue-loader: 15.9.6(cache-loader@3.0.1)(css-loader@2.1.1)(vue-template-compiler@2.6.12)(webpack@4.46.0) + vue-router: 3.4.9(vue@2.6.12) vue-server-renderer: 2.6.12 vue-template-compiler: 2.6.12 - vuepress-html-webpack-plugin: 3.2.0_webpack@4.46.0 + vuepress-html-webpack-plugin: 3.2.0(webpack@4.46.0) vuepress-plugin-container: 2.1.5 webpack: 4.46.0 webpack-chain: 6.5.1 - webpack-dev-server: 3.11.2_webpack@4.46.0 + webpack-dev-server: 3.11.2(webpack@4.46.0) webpack-merge: 4.2.2 - webpackbar: 3.2.0_webpack@4.46.0 + webpackbar: 3.2.0(webpack@4.46.0) transitivePeerDependencies: + - '@vue/compiler-sfc' + - arc-templates + - atpl + - babel-core + - bracket-template + - bufferutil + - coffee-script + - debug + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly - supports-color + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - utf-8-validate + - vash + - velocityjs + - walrus - webpack-cli - webpack-command + - whiskers dev: true - /@vuepress/markdown-loader/1.8.0: - resolution: {integrity: sha512-ykYTNe4mC/0CxyEfyM9+oYJqFvOMZWw5qiNZVfg2t+Ip8nVR2pFhQ6fJe07Pbtc59eT4awKSEd8/kcjhTpfeZA==} + /@vuepress/markdown-loader@1.9.10: + resolution: {integrity: sha512-94BlwKc+lOaN/A5DkyA9KWHvMlMC1sWunAXE3Tv0WYzgYLDs9QqCsx7L5kLkpcOOVVm/8kBJumnXvVBwhqJddw==} dependencies: - '@vuepress/markdown': 1.8.0 + '@vuepress/markdown': 1.9.10 loader-utils: 1.4.0 lru-cache: 5.1.1 + transitivePeerDependencies: + - supports-color dev: true - /@vuepress/markdown/1.8.0: - resolution: {integrity: sha512-f2yhoIHTD6gaPeLLidkxuytKGQCT6Gopm0fpyKZwfFZaWWz5+RPPGevq5UTmTb+5vvO2Li44HJc1EV7QONOw9Q==} + /@vuepress/markdown@1.9.10: + resolution: {integrity: sha512-sXTLjeZzH8SQuAL5AEH0hhsMljjNJbzWbBvzaj5yQCCdf+3sp/dJ0kwnBSnQjFPPnzPg5t3tLKGUYHyW0KiKzA==} dependencies: - '@vuepress/shared-utils': 1.8.0 + '@vuepress/shared-utils': 1.9.10 markdown-it: 8.4.2 - markdown-it-anchor: 5.3.0_markdown-it@8.4.2 - markdown-it-chain: 1.3.0_markdown-it@8.4.2 + markdown-it-anchor: 5.3.0(markdown-it@8.4.2) + markdown-it-chain: 1.3.0(markdown-it@8.4.2) markdown-it-emoji: 1.4.0 markdown-it-table-of-contents: 0.4.4 prismjs: 1.23.0 + transitivePeerDependencies: + - supports-color dev: true - /@vuepress/plugin-active-header-links/1.8.0: - resolution: {integrity: sha512-0SqdkJLJSQqhPTgGccu/ev5zRCfeKKMkyPnUMJYsQe4zGhSosmwLcfB7LDo/VLqLhRipipzBnONESr12OgI4SQ==} + /@vuepress/plugin-active-header-links@1.9.10: + resolution: {integrity: sha512-2dRr3DE2UBFXhyMtLR3sGTdRyDM8YStuY6AOoQmoSgwy1IHt7PO7ypOuf1akF+1Nv8Q2aISU06q6TExZouu3Mw==} dependencies: + '@vuepress/types': 1.9.10 lodash.debounce: 4.0.8 + transitivePeerDependencies: + - debug dev: true - /@vuepress/plugin-back-to-top/1.8.0: - resolution: {integrity: sha512-myyC4ZLT887IAaKcBBles8OHYeAfYMFSvC0CqjCBOyoBExNt6E+Xg3ksYksxrew/mNCTiwxXJvu+0o2a/8WIYA==} + /@vuepress/plugin-back-to-top@1.9.10: + resolution: {integrity: sha512-iInIp66wu717CAnT2pyd9Bs/vAgrUBOBIQ7WMnfJo07cW/ZIothpyrSHnpCRSsfJ/jLivMPqW0pviqppt64BzQ==} dependencies: + '@vuepress/types': 1.9.10 lodash.debounce: 4.0.8 + transitivePeerDependencies: + - debug dev: true - /@vuepress/plugin-last-updated/1.8.0: - resolution: {integrity: sha512-fBwtlffAabpTTalUMPSaJy/5fp3WpIA1FdWOfFcQ12X6179tupZB8fnueNsVJGBvGcdw8fbyzh5C9yKAq9lR/w==} + /@vuepress/plugin-last-updated@1.9.10: + resolution: {integrity: sha512-YxzWGF/OfU6WsHSynZFn74NGGp7dY27Bjy9JyyFo8wF5+2V1gpyDjveHKHGKugS/pMXlxfjzhv9E2Wmy9R7Iog==} dependencies: + '@vuepress/types': 1.9.10 cross-spawn: 6.0.5 + transitivePeerDependencies: + - debug dev: true - /@vuepress/plugin-medium-zoom/1.8.0: - resolution: {integrity: sha512-mx+abkOVm/+hBFsE26xzcfHSB1EknUr7UJx1UKgHm2368odFhz5HMB68gFfslMKjwfKjfgNgP/Bm/zwWcbQXmw==} + /@vuepress/plugin-medium-zoom@1.9.10: + resolution: {integrity: sha512-/MsICWZ/mUTs+ZdqqA1AVtWAtNL5ksgnnGR2X24LnXaPJp+M1IB2ETcyNKh264YVODSrmVsS/Y+kbCRK0qKkdg==} dependencies: + '@vuepress/types': 1.9.10 medium-zoom: 1.0.6 + transitivePeerDependencies: + - debug dev: true - /@vuepress/plugin-nprogress/1.8.0: - resolution: {integrity: sha512-JmjeJKKWhbF/8z+EnY8BCWHoHKhUWfqXjXOfV+xifITl6BJlf53I/jLFpX7Sij8Whe+SKjH7kNvc+hioUdwJQw==} + /@vuepress/plugin-nprogress@1.9.10: + resolution: {integrity: sha512-I1kkm6yWUQd7vwiV3lEDVpVP0Lr04K0zlczU502lDUa1RufSZ7vt+mlF5fOM28GqT+pKTEToWmm+VNT/R3qvMQ==} dependencies: + '@vuepress/types': 1.9.10 nprogress: 0.2.0 + transitivePeerDependencies: + - debug dev: true - /@vuepress/plugin-register-components/1.8.0: - resolution: {integrity: sha512-ztafaAxn7XFS4F8z51d+QQB6DNAUG54wBSdfKydfnHbAYgtxoALzPlJW7FKQdxvZKxqGrJa9e4rkoZsat13KRQ==} + /@vuepress/plugin-register-components@1.9.10: + resolution: {integrity: sha512-sgdJ5OydTPZAoTkselpvVP3Xsd6bfZ0FpaxOTinal0gJ99h49lvLu9bvzMx13rdGRFO/kRXn0qQQpwKTAfTPqA==} dependencies: - '@vuepress/shared-utils': 1.8.0 + '@vuepress/shared-utils': 1.9.10 + '@vuepress/types': 1.9.10 + transitivePeerDependencies: + - debug + - supports-color dev: true - /@vuepress/plugin-search/1.8.0: - resolution: {integrity: sha512-LlOCPg7JJ3I9WEpiBU8vCEFp6I5sa3OBu6SFHk+uK9iyKHwJYdRs4VK9x+igG40Rt/OIDRDo3c9SbLX/E/kqeA==} + /@vuepress/plugin-search@1.9.10: + resolution: {integrity: sha512-bn2XJikaRgQZXvu8upCjOWrxbLHIRTqnJ3w7G0mo6jCYWGVsHNo6XhVpqylpLR2PWnHT/ImO2bGo38/5Bag/tQ==} + dependencies: + '@vuepress/types': 1.9.10 + transitivePeerDependencies: + - debug dev: true - /@vuepress/shared-utils/1.8.0: - resolution: {integrity: sha512-CVNMiYBntQyb4CuyS4KzmglDqsuBpj8V4QMzL9gCSoMv0VmwKx05fZedu+r0G5OcxYN4qjnu99yl9G6zWhOU9w==} + /@vuepress/shared-utils@1.9.10: + resolution: {integrity: sha512-M9A3DocPih+V8dKK2Zg9FJQ/f3JZrYsdaM/vQ9F48l8bPlzxw5NvqXIYMK4kKcGEyerQNTWCudoCpLL5uiU0hg==} dependencies: chalk: 2.4.2 escape-html: 1.0.3 @@ -1331,23 +1651,39 @@ packages: semver: 6.3.0 toml: 3.0.0 upath: 1.2.0 + transitivePeerDependencies: + - supports-color dev: true - /@vuepress/theme-default/1.8.0: - resolution: {integrity: sha512-CueCaANfICFbLnEL78YxSjgCHXL7mkgQI/cfyEHBgxlr247cYJQ+9IFDQIS0fJNuzHdLRy9UFUvVrCu6go8PUg==} + /@vuepress/theme-default@1.9.10: + resolution: {integrity: sha512-XnXn9t+pYCIhWi3cZXJlighuy93FFm5yXdISAAlFlcNkshuGtqamkjacHV8q/QZMfOhSIs6wX7Hj88u2IsT5mw==} dependencies: - '@vuepress/plugin-active-header-links': 1.8.0 - '@vuepress/plugin-nprogress': 1.8.0 - '@vuepress/plugin-search': 1.8.0 + '@vuepress/plugin-active-header-links': 1.9.10 + '@vuepress/plugin-nprogress': 1.9.10 + '@vuepress/plugin-search': 1.9.10 + '@vuepress/types': 1.9.10 docsearch.js: 2.6.3 lodash: 4.17.20 stylus: 0.54.8 - stylus-loader: 3.0.2_stylus@0.54.8 + stylus-loader: 3.0.2(stylus@0.54.8) vuepress-plugin-container: 2.1.5 vuepress-plugin-smooth-scroll: 0.0.3 + transitivePeerDependencies: + - debug + - supports-color + dev: true + + /@vuepress/types@1.9.10: + resolution: {integrity: sha512-TDNQn4og85onmBpLTTXXmncW3rUnYGr2MkuI8OIFJZetDNM49t1WbjNVlrT+kx7C6qXi6okDQgrHGYXajHZWfg==} + dependencies: + '@types/markdown-it': 10.0.3 + '@types/webpack-dev-server': 3.11.6 + webpack-chain: 6.5.1 + transitivePeerDependencies: + - debug dev: true - /@webassemblyjs/ast/1.9.0: + /@webassemblyjs/ast@1.9.0: resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} dependencies: '@webassemblyjs/helper-module-context': 1.9.0 @@ -1355,39 +1691,39 @@ packages: '@webassemblyjs/wast-parser': 1.9.0 dev: true - /@webassemblyjs/floating-point-hex-parser/1.9.0: + /@webassemblyjs/floating-point-hex-parser@1.9.0: resolution: {integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==} dev: true - /@webassemblyjs/helper-api-error/1.9.0: + /@webassemblyjs/helper-api-error@1.9.0: resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==} dev: true - /@webassemblyjs/helper-buffer/1.9.0: + /@webassemblyjs/helper-buffer@1.9.0: resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==} dev: true - /@webassemblyjs/helper-code-frame/1.9.0: + /@webassemblyjs/helper-code-frame@1.9.0: resolution: {integrity: sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==} dependencies: '@webassemblyjs/wast-printer': 1.9.0 dev: true - /@webassemblyjs/helper-fsm/1.9.0: + /@webassemblyjs/helper-fsm@1.9.0: resolution: {integrity: sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==} dev: true - /@webassemblyjs/helper-module-context/1.9.0: + /@webassemblyjs/helper-module-context@1.9.0: resolution: {integrity: sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==} dependencies: '@webassemblyjs/ast': 1.9.0 dev: true - /@webassemblyjs/helper-wasm-bytecode/1.9.0: + /@webassemblyjs/helper-wasm-bytecode@1.9.0: resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==} dev: true - /@webassemblyjs/helper-wasm-section/1.9.0: + /@webassemblyjs/helper-wasm-section@1.9.0: resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -1396,23 +1732,23 @@ packages: '@webassemblyjs/wasm-gen': 1.9.0 dev: true - /@webassemblyjs/ieee754/1.9.0: + /@webassemblyjs/ieee754@1.9.0: resolution: {integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==} dependencies: '@xtuc/ieee754': 1.2.0 dev: true - /@webassemblyjs/leb128/1.9.0: + /@webassemblyjs/leb128@1.9.0: resolution: {integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==} dependencies: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/utf8/1.9.0: + /@webassemblyjs/utf8@1.9.0: resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==} dev: true - /@webassemblyjs/wasm-edit/1.9.0: + /@webassemblyjs/wasm-edit@1.9.0: resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -1425,7 +1761,7 @@ packages: '@webassemblyjs/wast-printer': 1.9.0 dev: true - /@webassemblyjs/wasm-gen/1.9.0: + /@webassemblyjs/wasm-gen@1.9.0: resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -1435,7 +1771,7 @@ packages: '@webassemblyjs/utf8': 1.9.0 dev: true - /@webassemblyjs/wasm-opt/1.9.0: + /@webassemblyjs/wasm-opt@1.9.0: resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -1444,7 +1780,7 @@ packages: '@webassemblyjs/wasm-parser': 1.9.0 dev: true - /@webassemblyjs/wasm-parser/1.9.0: + /@webassemblyjs/wasm-parser@1.9.0: resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -1455,7 +1791,7 @@ packages: '@webassemblyjs/utf8': 1.9.0 dev: true - /@webassemblyjs/wast-parser/1.9.0: + /@webassemblyjs/wast-parser@1.9.0: resolution: {integrity: sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -1466,7 +1802,7 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/wast-printer/1.9.0: + /@webassemblyjs/wast-printer@1.9.0: resolution: {integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==} dependencies: '@webassemblyjs/ast': 1.9.0 @@ -1474,19 +1810,19 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@xtuc/ieee754/1.2.0: + /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} dev: true - /@xtuc/long/4.2.2: + /@xtuc/long@4.2.2: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: true - /abbrev/1.1.1: + /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true - /accepts/1.3.7: + /accepts@1.3.7: resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} engines: {node: '>= 0.6'} dependencies: @@ -1494,18 +1830,24 @@ packages: negotiator: 0.6.2 dev: true - /acorn/6.4.2: + /acorn@6.4.2: resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /agentkeepalive/2.2.0: - resolution: {integrity: sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=} + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /agentkeepalive@2.2.0: + resolution: {integrity: sha512-TnB6ziK363p7lR8QpeLC8aMr8EGYBKZTpgzQLfqTs3bR0Oo5VbKdwKf8h0dSzsYrB7lSCgfJnMZKqShvlq5Oyg==} engines: {node: '>= 0.10.0'} dev: true - /ajv-errors/1.0.1_ajv@6.12.6: + /ajv-errors@1.0.1(ajv@6.12.6): resolution: {integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==} peerDependencies: ajv: '>=5.0.0' @@ -1513,7 +1855,7 @@ packages: ajv: 6.12.6 dev: true - /ajv-keywords/3.5.2_ajv@6.12.6: + /ajv-keywords@3.5.2(ajv@6.12.6): resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: ajv: ^6.9.1 @@ -1521,7 +1863,7 @@ packages: ajv: 6.12.6 dev: true - /ajv/6.12.6: + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 @@ -1530,12 +1872,12 @@ packages: uri-js: 4.4.1 dev: true - /algoliasearch/3.35.1: + /algoliasearch@3.35.1: resolution: {integrity: sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==} engines: {node: '>=0.8'} dependencies: agentkeepalive: 2.2.0 - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) envify: 4.1.0 es6-promise: 4.2.8 events: 1.1.1 @@ -1549,137 +1891,141 @@ packages: reduce: 1.0.2 semver: 5.7.1 tunnel-agent: 0.6.0 + transitivePeerDependencies: + - supports-color dev: true - /alphanum-sort/1.0.2: - resolution: {integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=} + /alphanum-sort@1.0.2: + resolution: {integrity: sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==} dev: true - /ansi-align/3.0.0: + /ansi-align@3.0.0: resolution: {integrity: sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==} dependencies: string-width: 3.1.0 dev: true - /ansi-colors/3.2.4: + /ansi-colors@3.2.4: resolution: {integrity: sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==} engines: {node: '>=6'} dev: true - /ansi-escapes/4.3.1: + /ansi-escapes@4.3.1: resolution: {integrity: sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==} engines: {node: '>=8'} dependencies: type-fest: 0.11.0 dev: true - /ansi-html/0.0.7: - resolution: {integrity: sha1-gTWEAhliqenm/QOflA0S9WynhZ4=} + /ansi-html@0.0.7: + resolution: {integrity: sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==} engines: {'0': node >= 0.8.0} hasBin: true dev: true - /ansi-regex/2.1.1: - resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=} + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} dev: true - /ansi-regex/4.1.0: + /ansi-regex@4.1.0: resolution: {integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==} engines: {node: '>=6'} dev: true - /ansi-regex/5.0.0: + /ansi-regex@5.0.0: resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==} engines: {node: '>=8'} dev: true - /ansi-styles/2.2.1: - resolution: {integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=} + /ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} engines: {node: '>=0.10.0'} dev: true - /ansi-styles/3.2.1: + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 dev: true - /ansi-styles/4.3.0: + /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 dev: true - /anymatch/2.0.0: + /anymatch@2.0.0(supports-color@6.1.0): resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} dependencies: - micromatch: 3.1.10 + micromatch: 3.1.10(supports-color@6.1.0) normalize-path: 2.1.1 + transitivePeerDependencies: + - supports-color dev: true - /anymatch/3.1.1: + /anymatch@3.1.1: resolution: {integrity: sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==} engines: {node: '>= 8'} + requiresBuild: true dependencies: normalize-path: 3.0.0 picomatch: 2.2.2 dev: true - optional: true - /aproba/1.2.0: + /aproba@1.2.0: resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} dev: true - /argparse/1.0.10: + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 dev: true - /arr-diff/4.0.0: - resolution: {integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=} + /arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} engines: {node: '>=0.10.0'} dev: true - /arr-flatten/1.1.0: + /arr-flatten@1.1.0: resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} engines: {node: '>=0.10.0'} dev: true - /arr-union/3.1.0: - resolution: {integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=} + /arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} engines: {node: '>=0.10.0'} dev: true - /array-flatten/1.1.1: - resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true - /array-flatten/2.1.2: + /array-flatten@2.1.2: resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} dev: true - /array-union/1.0.2: - resolution: {integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=} + /array-union@1.0.2: + resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} engines: {node: '>=0.10.0'} dependencies: array-uniq: 1.0.3 dev: true - /array-uniq/1.0.3: - resolution: {integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=} + /array-uniq@1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} engines: {node: '>=0.10.0'} dev: true - /array-unique/0.3.2: - resolution: {integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=} + /array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} engines: {node: '>=0.10.0'} dev: true - /asn1.js/5.4.1: + /asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: bn.js: 4.11.9 @@ -1688,60 +2034,60 @@ packages: safer-buffer: 2.1.2 dev: true - /asn1/0.2.4: + /asn1@0.2.4: resolution: {integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==} dependencies: safer-buffer: 2.1.2 dev: true - /assert-plus/1.0.0: - resolution: {integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=} + /assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} dev: true - /assert/1.5.0: + /assert@1.5.0: resolution: {integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==} dependencies: object-assign: 4.1.1 util: 0.10.3 dev: true - /assign-symbols/1.0.0: - resolution: {integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=} + /assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} engines: {node: '>=0.10.0'} dev: true - /async-each/1.0.3: + /async-each@1.0.3: resolution: {integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==} dev: true - /async-limiter/1.0.1: + /async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} dev: true - /async/2.6.3: + /async@2.6.3: resolution: {integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==} dependencies: lodash: 4.17.20 dev: true - /asynckit/0.4.0: - resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true - /atob/2.1.2: + /atob@2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} hasBin: true dev: true - /autocomplete.js/0.36.0: + /autocomplete.js@0.36.0: resolution: {integrity: sha512-jEwUXnVMeCHHutUt10i/8ZiRaCb0Wo+ZyKxeGsYwBDtw6EJHqEeDrq4UwZRD8YBSvp3g6klP678il2eeiVXN2Q==} dependencies: immediate: 3.3.0 dev: true - /autoprefixer/9.8.6: + /autoprefixer@9.8.6: resolution: {integrity: sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==} hasBin: true dependencies: @@ -1754,15 +2100,15 @@ packages: postcss-value-parser: 4.1.0 dev: true - /aws-sign2/0.7.0: - resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=} + /aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} dev: true - /aws4/1.11.0: + /aws4@1.11.0: resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} dev: true - /babel-loader/8.2.2_80cd7b8149d93293e480a9a7c4e34482: + /babel-loader@8.2.2(@babel/core@7.12.10)(webpack@4.46.0): resolution: {integrity: sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==} engines: {node: '>= 8.9'} peerDependencies: @@ -1777,17 +2123,21 @@ packages: webpack: 4.46.0 dev: true - /babel-plugin-dynamic-import-node/2.3.3: + /babel-plugin-dynamic-import-node@2.3.3: resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} dependencies: object.assign: 4.1.2 dev: true - /balanced-match/1.0.0: - resolution: {integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c=} + /balanced-match@1.0.0: + resolution: {integrity: sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true - /base/0.11.2: + /base@0.11.2: resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} engines: {node: '>=0.10.0'} dependencies: @@ -1800,65 +2150,63 @@ packages: pascalcase: 0.1.1 dev: true - /base64-js/1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true - - /batch/0.6.1: - resolution: {integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=} + /batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} dev: true - /bcrypt-pbkdf/1.0.2: - resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=} + /bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} dependencies: tweetnacl: 0.14.5 dev: true - /big.js/3.2.0: + /big.js@3.2.0: resolution: {integrity: sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==} dev: true - /big.js/5.2.2: + /big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true - /binary-extensions/1.13.1: + /binary-extensions@1.13.1: resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} engines: {node: '>=0.10.0'} dev: true - /binary-extensions/2.2.0: + /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} + requiresBuild: true dev: true optional: true - /bindings/1.5.0: + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + requiresBuild: true dependencies: file-uri-to-path: 1.0.0 dev: true optional: true - /bluebird/3.7.2: + /bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} dev: true - /bn.js/4.11.9: + /bn.js@4.11.9: resolution: {integrity: sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==} dev: true - /bn.js/5.1.3: + /bn.js@5.1.3: resolution: {integrity: sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==} dev: true - /body-parser/1.19.0: + /body-parser@1.19.0(supports-color@6.1.0): resolution: {integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==} engines: {node: '>= 0.8'} dependencies: bytes: 3.1.0 content-type: 1.0.4 - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) depd: 1.1.2 http-errors: 1.7.2 iconv-lite: 0.4.24 @@ -1866,10 +2214,12 @@ packages: qs: 6.7.0 raw-body: 2.4.0 type-is: 1.6.18 + transitivePeerDependencies: + - supports-color dev: true - /bonjour/3.5.0: - resolution: {integrity: sha1-jokKGD2O6aI5OzhExpGkK897yfU=} + /bonjour@3.5.0: + resolution: {integrity: sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==} dependencies: array-flatten: 2.1.2 deep-equal: 1.1.1 @@ -1879,11 +2229,11 @@ packages: multicast-dns-service-types: 1.1.0 dev: true - /boolbase/1.0.0: - resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true - /boxen/4.2.0: + /boxen@4.2.0: resolution: {integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==} engines: {node: '>=8'} dependencies: @@ -1897,14 +2247,14 @@ packages: widest-line: 3.1.0 dev: true - /brace-expansion/1.1.11: + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.0 concat-map: 0.0.1 dev: true - /braces/2.3.2: + /braces@2.3.2(supports-color@6.1.0): resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} engines: {node: '>=0.10.0'} dependencies: @@ -1914,25 +2264,27 @@ packages: fill-range: 4.0.0 isobject: 3.0.1 repeat-element: 1.1.3 - snapdragon: 0.8.2 + snapdragon: 0.8.2(supports-color@6.1.0) snapdragon-node: 2.1.1 split-string: 3.1.0 to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color dev: true - /braces/3.0.2: + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} + requiresBuild: true dependencies: fill-range: 7.0.1 dev: true - optional: true - /brorand/1.1.0: - resolution: {integrity: sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=} + /brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} dev: true - /browserify-aes/1.2.0: + /browserify-aes@1.2.0: resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: buffer-xor: 1.0.3 @@ -1943,7 +2295,7 @@ packages: safe-buffer: 5.2.1 dev: true - /browserify-cipher/1.0.1: + /browserify-cipher@1.0.1: resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} dependencies: browserify-aes: 1.2.0 @@ -1951,7 +2303,7 @@ packages: evp_bytestokey: 1.0.3 dev: true - /browserify-des/1.0.2: + /browserify-des@1.0.2: resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} dependencies: cipher-base: 1.0.4 @@ -1960,14 +2312,14 @@ packages: safe-buffer: 5.2.1 dev: true - /browserify-rsa/4.1.0: + /browserify-rsa@4.1.0: resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} dependencies: bn.js: 5.1.3 randombytes: 2.1.0 dev: true - /browserify-sign/4.2.1: + /browserify-sign@4.2.1: resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} dependencies: bn.js: 5.1.3 @@ -1981,13 +2333,13 @@ packages: safe-buffer: 5.2.1 dev: true - /browserify-zlib/0.2.0: + /browserify-zlib@0.2.0: resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} dependencies: pako: 1.0.11 dev: true - /browserslist/4.16.1: + /browserslist@4.16.1: resolution: {integrity: sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1999,23 +2351,23 @@ packages: node-releases: 1.1.70 dev: true - /buffer-from/1.1.1: + /buffer-from@1.1.1: resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==} dev: true - /buffer-indexof/1.1.1: + /buffer-indexof@1.1.1: resolution: {integrity: sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==} dev: true - /buffer-json/2.0.0: + /buffer-json@2.0.0: resolution: {integrity: sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==} dev: true - /buffer-xor/1.0.3: - resolution: {integrity: sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=} + /buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} dev: true - /buffer/4.9.2: + /buffer@4.9.2: resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} dependencies: base64-js: 1.5.1 @@ -2023,26 +2375,34 @@ packages: isarray: 1.0.0 dev: true - /builtin-status-codes/3.0.0: - resolution: {integrity: sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=} + /builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + dev: true + + /bundle-require@2.1.8(esbuild@0.14.7): + resolution: {integrity: sha512-oOEg3A0hy/YzvNWNowtKD0pmhZKseOFweCbgyMqTIih4gRY1nJWsvrOCT27L9NbIyL5jMjTFrAUpGxxpW68Puw==} + peerDependencies: + esbuild: '>=0.13' + dependencies: + esbuild: 0.14.7 dev: true - /bytes/3.0.0: - resolution: {integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=} + /bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} dev: true - /bytes/3.1.0: + /bytes@3.1.0: resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} engines: {node: '>= 0.8'} dev: true - /cac/6.7.1: + /cac@6.7.1: resolution: {integrity: sha512-LfGt47+ugCY65W4yUEyxnZKd/tJSBJD/gUAxQGiQjH7yqdhbaX2XN0Rli4+0W0DJiDONmYeh0TlJxMtXGZspIg==} engines: {node: '>=8'} dev: true - /cacache/12.0.4: + /cacache@12.0.4: resolution: {integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==} dependencies: bluebird: 3.7.2 @@ -2055,14 +2415,14 @@ packages: mississippi: 3.0.0 mkdirp: 0.5.5 move-concurrently: 1.0.1 - promise-inflight: 1.0.1 + promise-inflight: 1.0.1(bluebird@3.7.2) rimraf: 2.7.1 ssri: 6.0.1 unique-filename: 1.1.1 y18n: 4.0.1 dev: true - /cache-base/1.0.1: + /cache-base@1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} engines: {node: '>=0.10.0'} dependencies: @@ -2077,7 +2437,7 @@ packages: unset-value: 1.0.0 dev: true - /cache-loader/3.0.1_webpack@4.46.0: + /cache-loader@3.0.1(webpack@4.46.0): resolution: {integrity: sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -2092,7 +2452,7 @@ packages: webpack: 4.46.0 dev: true - /cacheable-request/6.1.0: + /cacheable-request@6.1.0: resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} engines: {node: '>=8'} dependencies: @@ -2105,54 +2465,54 @@ packages: responselike: 1.0.2 dev: true - /call-bind/1.0.2: + /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.0.2 dev: true - /call-me-maybe/1.0.1: - resolution: {integrity: sha1-JtII6onje1y95gJQoV8DHBak1ms=} + /call-me-maybe@1.0.1: + resolution: {integrity: sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==} dev: true - /caller-callsite/2.0.0: - resolution: {integrity: sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=} + /caller-callsite@2.0.0: + resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} engines: {node: '>=4'} dependencies: callsites: 2.0.0 dev: true - /caller-path/2.0.0: - resolution: {integrity: sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=} + /caller-path@2.0.0: + resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} engines: {node: '>=4'} dependencies: caller-callsite: 2.0.0 dev: true - /callsites/2.0.0: - resolution: {integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=} + /callsites@2.0.0: + resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} engines: {node: '>=4'} dev: true - /camel-case/3.0.0: - resolution: {integrity: sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=} + /camel-case@3.0.0: + resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} dependencies: no-case: 2.3.2 upper-case: 1.1.3 dev: true - /camelcase/5.3.1: + /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} dev: true - /camelcase/6.2.0: + /camelcase@6.2.0: resolution: {integrity: sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==} engines: {node: '>=10'} dev: true - /caniuse-api/3.0.0: + /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.16.1 @@ -2161,16 +2521,16 @@ packages: lodash.uniq: 4.5.0 dev: true - /caniuse-lite/1.0.30001179: + /caniuse-lite@1.0.30001179: resolution: {integrity: sha512-blMmO0QQujuUWZKyVrD1msR4WNDAqb/UPO1Sw2WWsQ7deoM5bJiicKnWJ1Y0NS/aGINSnKPIWBMw5luX+NDUCA==} dev: true - /caseless/0.12.0: - resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=} + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} dev: true - /chalk/1.1.3: - resolution: {integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=} + /chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} dependencies: ansi-styles: 2.2.1 @@ -2180,7 +2540,7 @@ packages: supports-color: 2.0.0 dev: true - /chalk/2.4.2: + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} dependencies: @@ -2189,7 +2549,7 @@ packages: supports-color: 5.5.0 dev: true - /chalk/3.0.0: + /chalk@3.0.0: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} engines: {node: '>=8'} dependencies: @@ -2197,28 +2557,31 @@ packages: supports-color: 7.2.0 dev: true - /chokidar/2.1.8: + /chokidar@2.1.8(supports-color@6.1.0): resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} - deprecated: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. + deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies dependencies: - anymatch: 2.0.0 + anymatch: 2.0.0(supports-color@6.1.0) async-each: 1.0.3 - braces: 2.3.2 + braces: 2.3.2(supports-color@6.1.0) glob-parent: 3.1.0 inherits: 2.0.4 is-binary-path: 1.0.1 is-glob: 4.0.1 normalize-path: 3.0.0 path-is-absolute: 1.0.1 - readdirp: 2.2.1 + readdirp: 2.2.1(supports-color@6.1.0) upath: 1.2.0 optionalDependencies: fsevents: 1.2.13 + transitivePeerDependencies: + - supports-color dev: true - /chokidar/3.5.1: + /chokidar@3.5.1: resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==} engines: {node: '>= 8.10.0'} + requiresBuild: true dependencies: anymatch: 3.1.1 braces: 3.0.2 @@ -2232,33 +2595,33 @@ packages: dev: true optional: true - /chownr/1.1.4: + /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: true - /chrome-trace-event/1.0.2: + /chrome-trace-event@1.0.2: resolution: {integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==} engines: {node: '>=6.0'} dependencies: tslib: 1.14.1 dev: true - /ci-info/1.6.0: + /ci-info@1.6.0: resolution: {integrity: sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==} dev: true - /ci-info/2.0.0: + /ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true - /cipher-base/1.0.4: + /cipher-base@1.0.4: resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true - /class-utils/0.3.6: + /class-utils@0.3.6: resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} engines: {node: '>=0.10.0'} dependencies: @@ -2268,20 +2631,21 @@ packages: static-extend: 0.1.2 dev: true - /clean-css/4.2.3: + /clean-css@4.2.3: resolution: {integrity: sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==} engines: {node: '>= 4.0'} dependencies: source-map: 0.6.1 dev: true - /cli-boxes/2.2.1: + /cli-boxes@2.2.1: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} engines: {node: '>=6'} dev: true - /clipboard/2.0.6: + /clipboard@2.0.6: resolution: {integrity: sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==} + requiresBuild: true dependencies: good-listener: 1.2.2 select: 1.1.2 @@ -2289,7 +2653,7 @@ packages: dev: true optional: true - /cliui/5.0.0: + /cliui@5.0.0: resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==} dependencies: string-width: 3.1.0 @@ -2297,13 +2661,13 @@ packages: wrap-ansi: 5.1.0 dev: true - /clone-response/1.0.2: - resolution: {integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=} + /clone-response@1.0.2: + resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} dependencies: mimic-response: 1.0.1 dev: true - /coa/2.0.2: + /coa@2.0.2: resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} engines: {node: '>= 4.0'} dependencies: @@ -2312,105 +2676,107 @@ packages: q: 1.5.1 dev: true - /collection-visit/1.0.0: - resolution: {integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=} + /collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} engines: {node: '>=0.10.0'} dependencies: map-visit: 1.0.0 object-visit: 1.0.1 dev: true - /color-convert/1.9.3: + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 dev: true - /color-convert/2.0.1: + /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 dev: true - /color-name/1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} dev: true - /color-name/1.1.4: + /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /color-string/1.5.4: + /color-string@1.5.4: resolution: {integrity: sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 dev: true - /color/3.1.3: + /color@3.1.3: resolution: {integrity: sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==} dependencies: color-convert: 1.9.3 color-string: 1.5.4 dev: true - /colorette/1.2.1: + /colorette@1.2.1: resolution: {integrity: sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==} dev: true - /combined-stream/1.0.8: + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: true - /commander/2.17.1: + /commander@2.17.1: resolution: {integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==} dev: true - /commander/2.19.0: + /commander@2.19.0: resolution: {integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==} dev: true - /commander/2.20.3: + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true - /commondir/1.0.1: - resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true - /component-emitter/1.3.0: + /component-emitter@1.3.0: resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} dev: true - /compressible/2.0.18: + /compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.45.0 dev: true - /compression/1.7.4: + /compression@1.7.4(supports-color@6.1.0): resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} engines: {node: '>= 0.8.0'} dependencies: accepts: 1.3.7 bytes: 3.0.0 compressible: 2.0.18 - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) on-headers: 1.0.2 safe-buffer: 5.1.2 vary: 1.1.2 + transitivePeerDependencies: + - supports-color dev: true - /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /concat-stream/1.6.2: + /concat-stream@1.6.2: resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} engines: {'0': node >= 0.8} dependencies: @@ -2420,7 +2786,7 @@ packages: typedarray: 0.0.6 dev: true - /configstore/5.0.1: + /configstore@5.0.1: resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} engines: {node: '>=8'} dependencies: @@ -2432,58 +2798,220 @@ packages: xdg-basedir: 4.0.0 dev: true - /connect-history-api-fallback/1.6.0: + /connect-history-api-fallback@1.6.0: resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==} engines: {node: '>=0.8'} dev: true - /consola/2.15.0: + /consola@2.15.0: resolution: {integrity: sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ==} dev: true - /console-browserify/1.2.0: + /console-browserify@1.2.0: resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} dev: true - /consolidate/0.15.1: + /consolidate@0.15.1: resolution: {integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==} engines: {node: '>= 0.10.0'} + deprecated: Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog + peerDependencies: + arc-templates: ^0.5.3 + atpl: '>=0.7.6' + babel-core: ^6.26.3 + bracket-template: ^1.1.5 + coffee-script: ^1.12.7 + dot: ^1.1.3 + dust: ^0.3.0 + dustjs-helpers: ^1.7.4 + dustjs-linkedin: ^2.7.5 + eco: ^1.1.0-rc-3 + ect: ^0.5.9 + ejs: ^3.1.5 + haml-coffee: ^1.14.1 + hamlet: ^0.3.3 + hamljs: ^0.6.2 + handlebars: ^4.7.6 + hogan.js: ^3.0.2 + htmling: ^0.0.8 + jade: ^1.11.0 + jazz: ^0.0.18 + jqtpl: ~1.1.0 + just: ^0.1.8 + liquid-node: ^3.0.1 + liquor: ^0.0.5 + lodash: ^4.17.20 + marko: ^3.14.4 + mote: ^0.2.0 + mustache: ^3.0.0 + nunjucks: ^3.2.2 + plates: ~0.4.11 + pug: ^3.0.0 + qejs: ^3.0.5 + ractive: ^1.3.12 + razor-tmpl: ^1.3.1 + react: ^16.13.1 + react-dom: ^16.13.1 + slm: ^2.0.0 + squirrelly: ^5.1.0 + swig: ^1.4.2 + swig-templates: ^2.0.3 + teacup: ^2.0.0 + templayed: '>=0.2.3' + then-jade: '*' + then-pug: '*' + tinyliquid: ^0.2.34 + toffee: ^0.3.6 + twig: ^1.15.2 + twing: ^5.0.2 + underscore: ^1.11.0 + vash: ^0.13.0 + velocityjs: ^2.0.1 + walrus: ^0.10.1 + whiskers: ^0.4.0 + peerDependenciesMeta: + arc-templates: + optional: true + atpl: + optional: true + babel-core: + optional: true + bracket-template: + optional: true + coffee-script: + optional: true + dot: + optional: true + dust: + optional: true + dustjs-helpers: + optional: true + dustjs-linkedin: + optional: true + eco: + optional: true + ect: + optional: true + ejs: + optional: true + haml-coffee: + optional: true + hamlet: + optional: true + hamljs: + optional: true + handlebars: + optional: true + hogan.js: + optional: true + htmling: + optional: true + jade: + optional: true + jazz: + optional: true + jqtpl: + optional: true + just: + optional: true + liquid-node: + optional: true + liquor: + optional: true + lodash: + optional: true + marko: + optional: true + mote: + optional: true + mustache: + optional: true + nunjucks: + optional: true + plates: + optional: true + pug: + optional: true + qejs: + optional: true + ractive: + optional: true + razor-tmpl: + optional: true + react: + optional: true + react-dom: + optional: true + slm: + optional: true + squirrelly: + optional: true + swig: + optional: true + swig-templates: + optional: true + teacup: + optional: true + templayed: + optional: true + then-jade: + optional: true + then-pug: + optional: true + tinyliquid: + optional: true + toffee: + optional: true + twig: + optional: true + twing: + optional: true + underscore: + optional: true + vash: + optional: true + velocityjs: + optional: true + walrus: + optional: true + whiskers: + optional: true dependencies: bluebird: 3.7.2 dev: true - /constants-browserify/1.0.0: - resolution: {integrity: sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=} + /constants-browserify@1.0.0: + resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} dev: true - /content-disposition/0.5.3: + /content-disposition@0.5.3: resolution: {integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==} engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.1.2 dev: true - /content-type/1.0.4: + /content-type@1.0.4: resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} engines: {node: '>= 0.6'} dev: true - /convert-source-map/1.7.0: + /convert-source-map@1.7.0: resolution: {integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==} dependencies: safe-buffer: 5.1.2 dev: true - /cookie-signature/1.0.6: - resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: true - /cookie/0.4.0: + /cookie@0.4.0: resolution: {integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==} engines: {node: '>= 0.6'} dev: true - /copy-concurrently/1.0.5: + /copy-concurrently@1.0.5: resolution: {integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==} dependencies: aproba: 1.2.0 @@ -2494,12 +3022,12 @@ packages: run-queue: 1.0.3 dev: true - /copy-descriptor/0.1.1: - resolution: {integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=} + /copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} engines: {node: '>=0.10.0'} dev: true - /copy-webpack-plugin/5.1.2_webpack@4.46.0: + /copy-webpack-plugin@5.1.2(webpack@4.46.0): resolution: {integrity: sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -2520,23 +3048,24 @@ packages: webpack-log: 2.0.0 dev: true - /core-js-compat/3.8.3: + /core-js-compat@3.8.3: resolution: {integrity: sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==} dependencies: browserslist: 4.16.1 semver: 7.0.0 dev: true - /core-js/3.8.3: + /core-js@3.8.3: resolution: {integrity: sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==} + deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. requiresBuild: true dev: true - /core-util-is/1.0.2: - resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} + /core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} dev: true - /cosmiconfig/5.2.1: + /cosmiconfig@5.2.1: resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} engines: {node: '>=4'} dependencies: @@ -2546,14 +3075,14 @@ packages: parse-json: 4.0.0 dev: true - /create-ecdh/4.0.4: + /create-ecdh@4.0.4: resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} dependencies: bn.js: 4.11.9 elliptic: 6.5.3 dev: true - /create-hash/1.2.0: + /create-hash@1.2.0: resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} dependencies: cipher-base: 1.0.4 @@ -2563,7 +3092,7 @@ packages: sha.js: 2.4.11 dev: true - /create-hmac/1.1.7: + /create-hmac@1.1.7: resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} dependencies: cipher-base: 1.0.4 @@ -2574,7 +3103,7 @@ packages: sha.js: 2.4.11 dev: true - /cross-spawn/6.0.5: + /cross-spawn@6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} dependencies: @@ -2585,7 +3114,7 @@ packages: which: 1.3.1 dev: true - /crypto-browserify/3.12.0: + /crypto-browserify@3.12.0: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} dependencies: browserify-cipher: 1.0.1 @@ -2601,16 +3130,16 @@ packages: randomfill: 1.0.4 dev: true - /crypto-random-string/2.0.0: + /crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} dev: true - /css-color-names/0.0.4: - resolution: {integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=} + /css-color-names@0.0.4: + resolution: {integrity: sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==} dev: true - /css-declaration-sorter/4.0.1: + /css-declaration-sorter@4.0.1: resolution: {integrity: sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==} engines: {node: '>4'} dependencies: @@ -2618,7 +3147,7 @@ packages: timsort: 0.3.0 dev: true - /css-loader/2.1.1_webpack@4.46.0: + /css-loader@2.1.1(webpack@4.46.0): resolution: {integrity: sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -2638,17 +3167,17 @@ packages: webpack: 4.46.0 dev: true - /css-parse/2.0.0: - resolution: {integrity: sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=} + /css-parse@2.0.0: + resolution: {integrity: sha512-UNIFik2RgSbiTwIW1IsFwXWn6vs+bYdq83LKTSOsx7NJR7WII9dxewkHLltfTLVppoUApHV0118a4RZRI9FLwA==} dependencies: css: 2.2.4 dev: true - /css-select-base-adapter/0.1.1: + /css-select-base-adapter@0.1.1: resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} dev: true - /css-select/2.1.0: + /css-select@2.1.0: resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} dependencies: boolbase: 1.0.0 @@ -2657,7 +3186,7 @@ packages: nth-check: 1.0.2 dev: true - /css-tree/1.0.0-alpha.37: + /css-tree@1.0.0-alpha.37: resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} engines: {node: '>=8.0.0'} dependencies: @@ -2665,7 +3194,7 @@ packages: source-map: 0.6.1 dev: true - /css-tree/1.1.2: + /css-tree@1.1.2: resolution: {integrity: sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==} engines: {node: '>=8.0.0'} dependencies: @@ -2673,12 +3202,12 @@ packages: source-map: 0.6.1 dev: true - /css-what/3.4.2: + /css-what@3.4.2: resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} engines: {node: '>= 6'} dev: true - /css/2.2.4: + /css@2.2.4: resolution: {integrity: sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==} dependencies: inherits: 2.0.4 @@ -2687,13 +3216,13 @@ packages: urix: 0.1.0 dev: true - /cssesc/3.0.0: + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true dev: true - /cssnano-preset-default/4.0.7: + /cssnano-preset-default@4.0.7: resolution: {integrity: sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==} engines: {node: '>=6.9.0'} dependencies: @@ -2729,29 +3258,29 @@ packages: postcss-unique-selectors: 4.0.1 dev: true - /cssnano-util-get-arguments/4.0.0: - resolution: {integrity: sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=} + /cssnano-util-get-arguments@4.0.0: + resolution: {integrity: sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==} engines: {node: '>=6.9.0'} dev: true - /cssnano-util-get-match/4.0.0: - resolution: {integrity: sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=} + /cssnano-util-get-match@4.0.0: + resolution: {integrity: sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==} engines: {node: '>=6.9.0'} dev: true - /cssnano-util-raw-cache/4.0.1: + /cssnano-util-raw-cache@4.0.1: resolution: {integrity: sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.35 dev: true - /cssnano-util-same-parent/4.0.1: + /cssnano-util-same-parent@4.0.1: resolution: {integrity: sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==} engines: {node: '>=6.9.0'} dev: true - /cssnano/4.1.10: + /cssnano@4.1.10: resolution: {integrity: sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==} engines: {node: '>=6.9.0'} dependencies: @@ -2761,59 +3290,64 @@ packages: postcss: 7.0.35 dev: true - /csso/4.2.0: + /csso@4.2.0: resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} engines: {node: '>=8.0.0'} dependencies: css-tree: 1.1.2 dev: true - /cyclist/1.0.1: - resolution: {integrity: sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=} + /cyclist@1.0.1: + resolution: {integrity: sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==} dev: true - /dashdash/1.14.1: - resolution: {integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=} + /dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} dependencies: assert-plus: 1.0.0 dev: true - /de-indent/1.0.2: - resolution: {integrity: sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=} + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} dev: true - /debug/2.6.9: + /debug@2.6.9(supports-color@6.1.0): resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 + supports-color: 6.1.0 dev: true - /debug/3.1.0: + /debug@3.1.0: resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 dev: true - /debug/3.2.7: + /debug@3.2.7(supports-color@6.1.0): resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - dependencies: - ms: 2.1.3 - dev: true - - /debug/4.3.1: - resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} - engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 + supports-color: 6.1.0 dev: true - /debug/4.3.1_supports-color@6.1.0: + /debug@4.3.1(supports-color@6.1.0): resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} engines: {node: '>=6.0'} peerDependencies: @@ -2826,24 +3360,24 @@ packages: supports-color: 6.1.0 dev: true - /decamelize/1.2.0: - resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} dev: true - /decode-uri-component/0.2.0: - resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} + /decode-uri-component@0.2.0: + resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} engines: {node: '>=0.10'} dev: true - /decompress-response/3.3.0: - resolution: {integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=} + /decompress-response@3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} engines: {node: '>=4'} dependencies: mimic-response: 1.0.1 dev: true - /deep-equal/1.1.1: + /deep-equal@1.1.1: resolution: {integrity: sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==} dependencies: is-arguments: 1.1.0 @@ -2854,17 +3388,17 @@ packages: regexp.prototype.flags: 1.3.1 dev: true - /deep-extend/0.6.0: + /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} dev: true - /deepmerge/1.5.2: + /deepmerge@1.5.2: resolution: {integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==} engines: {node: '>=0.10.0'} dev: true - /default-gateway/4.2.0: + /default-gateway@4.2.0: resolution: {integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==} engines: {node: '>=6'} dependencies: @@ -2872,32 +3406,32 @@ packages: ip-regex: 2.1.0 dev: true - /defer-to-connect/1.1.3: + /defer-to-connect@1.1.3: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} dev: true - /define-properties/1.1.3: + /define-properties@1.1.3: resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} engines: {node: '>= 0.4'} dependencies: object-keys: 1.1.1 dev: true - /define-property/0.2.5: - resolution: {integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=} + /define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} engines: {node: '>=0.10.0'} dependencies: is-descriptor: 0.1.6 dev: true - /define-property/1.0.0: - resolution: {integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY=} + /define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} engines: {node: '>=0.10.0'} dependencies: is-descriptor: 1.0.2 dev: true - /define-property/2.0.2: + /define-property@2.0.2: resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} engines: {node: '>=0.10.0'} dependencies: @@ -2905,7 +3439,7 @@ packages: isobject: 3.0.1 dev: true - /del/4.1.1: + /del@4.1.1: resolution: {integrity: sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==} engines: {node: '>=6'} dependencies: @@ -2918,37 +3452,38 @@ packages: rimraf: 2.7.1 dev: true - /delayed-stream/1.0.0: - resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: true - /delegate/3.2.0: + /delegate@3.2.0: resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==} + requiresBuild: true dev: true optional: true - /depd/1.1.2: - resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} dev: true - /des.js/1.0.1: + /des.js@1.0.1: resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true - /destroy/1.0.4: - resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} + /destroy@1.0.4: + resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} dev: true - /detect-node/2.0.4: + /detect-node@2.0.4: resolution: {integrity: sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==} dev: true - /diffie-hellman/5.0.3: + /diffie-hellman@5.0.3: resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} dependencies: bn.js: 4.11.9 @@ -2956,32 +3491,33 @@ packages: randombytes: 2.1.0 dev: true - /dir-glob/2.2.2: + /dir-glob@2.2.2: resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==} engines: {node: '>=4'} dependencies: path-type: 3.0.0 dev: true - /dns-equal/1.0.0: - resolution: {integrity: sha1-s55/HabrCnW6nBcySzR1PEfgZU0=} + /dns-equal@1.0.0: + resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} dev: true - /dns-packet/1.3.1: + /dns-packet@1.3.1: resolution: {integrity: sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==} dependencies: ip: 1.1.5 safe-buffer: 5.2.1 dev: true - /dns-txt/2.0.2: - resolution: {integrity: sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=} + /dns-txt@2.0.2: + resolution: {integrity: sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==} dependencies: buffer-indexof: 1.1.1 dev: true - /docsearch.js/2.6.3: + /docsearch.js@2.6.3: resolution: {integrity: sha512-GN+MBozuyz664ycpZY0ecdQE0ND/LSgJKhTLA0/v3arIS3S1Rpf2OJz6A35ReMsm91V5apcmzr5/kM84cvUg+A==} + deprecated: This package has been deprecated and is no longer maintained. Please use @docsearch/js. dependencies: algoliasearch: 3.35.1 autocomplete.js: 0.36.0 @@ -2990,63 +3526,65 @@ packages: stack-utils: 1.0.4 to-factory: 1.0.0 zepto: 1.2.0 + transitivePeerDependencies: + - supports-color dev: true - /dom-converter/0.2.0: + /dom-converter@0.2.0: resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} dependencies: utila: 0.4.0 dev: true - /dom-serializer/0.2.2: + /dom-serializer@0.2.2: resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} dependencies: domelementtype: 2.1.0 entities: 2.1.0 dev: true - /dom-walk/0.1.2: + /dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} dev: true - /domain-browser/1.2.0: + /domain-browser@1.2.0: resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} engines: {node: '>=0.4', npm: '>=1.2'} dev: true - /domelementtype/1.3.1: + /domelementtype@1.3.1: resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} dev: true - /domelementtype/2.1.0: + /domelementtype@2.1.0: resolution: {integrity: sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==} dev: true - /domhandler/2.4.2: + /domhandler@2.4.2: resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} dependencies: domelementtype: 1.3.1 dev: true - /domutils/1.7.0: + /domutils@1.7.0: resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} dependencies: dom-serializer: 0.2.2 domelementtype: 1.3.1 dev: true - /dot-prop/5.3.0: + /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} dependencies: is-obj: 2.0.0 dev: true - /duplexer3/0.1.4: - resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} + /duplexer3@0.1.4: + resolution: {integrity: sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==} dev: true - /duplexify/3.7.1: + /duplexify@3.7.1: resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} dependencies: end-of-stream: 1.4.4 @@ -3055,22 +3593,22 @@ packages: stream-shift: 1.0.1 dev: true - /ecc-jsbn/0.1.2: - resolution: {integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=} + /ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: jsbn: 0.1.1 safer-buffer: 2.1.2 dev: true - /ee-first/1.1.1: - resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium/1.3.644: + /electron-to-chromium@1.3.644: resolution: {integrity: sha512-N7FLvjDPADxad+OXXBuYfcvDvCBG0aW8ZZGr7G91sZMviYbnQJFxdSvUus4SJ0K7Q8dzMxE+Wx1d/CrJIIJ0sw==} dev: true - /elliptic/6.5.3: + /elliptic@6.5.3: resolution: {integrity: sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==} dependencies: bn.js: 4.11.9 @@ -3082,36 +3620,36 @@ packages: minimalistic-crypto-utils: 1.0.1 dev: true - /emoji-regex/7.0.3: + /emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} dev: true - /emoji-regex/8.0.0: + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /emojis-list/2.1.0: - resolution: {integrity: sha1-TapNnbAPmBmIDHn6RXrlsJof04k=} + /emojis-list@2.1.0: + resolution: {integrity: sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==} engines: {node: '>= 0.10'} dev: true - /emojis-list/3.0.0: + /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} dev: true - /encodeurl/1.0.2: - resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} dev: true - /end-of-stream/1.4.4: + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: true - /enhanced-resolve/4.5.0: + /enhanced-resolve@4.5.0: resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} engines: {node: '>=6.9.0'} dependencies: @@ -3120,15 +3658,15 @@ packages: tapable: 1.1.3 dev: true - /entities/1.1.2: + /entities@1.1.2: resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} dev: true - /entities/2.1.0: + /entities@2.1.0: resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} dev: true - /envify/4.1.0: + /envify@4.1.0: resolution: {integrity: sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==} hasBin: true dependencies: @@ -3136,26 +3674,26 @@ packages: through: 2.3.8 dev: true - /envinfo/7.7.3: + /envinfo@7.7.3: resolution: {integrity: sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==} engines: {node: '>=4'} hasBin: true dev: true - /errno/0.1.8: + /errno@0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true dependencies: prr: 1.0.1 dev: true - /error-ex/1.3.2: + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true - /es-abstract/1.17.7: + /es-abstract@1.17.7: resolution: {integrity: sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==} engines: {node: '>= 0.4'} dependencies: @@ -3172,7 +3710,7 @@ packages: string.prototype.trimstart: 1.0.3 dev: true - /es-abstract/1.18.0-next.2: + /es-abstract@1.18.0-next.2: resolution: {integrity: sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==} engines: {node: '>= 0.4'} dependencies: @@ -3192,7 +3730,7 @@ packages: string.prototype.trimstart: 1.0.3 dev: true - /es-to-primitive/1.2.1: + /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} dependencies: @@ -3201,35 +3739,195 @@ packages: is-symbol: 1.0.3 dev: true - /es6-promise/4.2.8: + /es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} dev: true - /escalade/3.1.1: + /esbuild-android-arm64@0.14.7: + resolution: {integrity: sha512-9/Q1NC4JErvsXzJKti0NHt+vzKjZOgPIjX/e6kkuCzgfT/GcO3FVBcGIv4HeJG7oMznE6KyKhvLrFgt7CdU2/w==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64@0.14.7: + resolution: {integrity: sha512-Z9X+3TT/Xj+JiZTVlwHj2P+8GoiSmUnGVz0YZTSt8WTbW3UKw5Pw2ucuJ8VzbD2FPy0jbIKJkko/6CMTQchShQ==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64@0.14.7: + resolution: {integrity: sha512-68e7COhmwIiLXBEyxUxZSSU0akgv8t3e50e2QOtKdBUE0F6KIRISzFntLe2rYlNqSsjGWsIO6CCc9tQxijjSkw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64@0.14.7: + resolution: {integrity: sha512-76zy5jAjPiXX/S3UvRgG85Bb0wy0zv/J2lel3KtHi4V7GUTBfhNUPt0E5bpSXJ6yMT7iThhnA5rOn+IJiUcslQ==} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64@0.14.7: + resolution: {integrity: sha512-lSlYNLiqyzd7qCN5CEOmLxn7MhnGHPcu5KuUYOG1i+t5A6q7LgBmfYC9ZHJBoYyow3u4CNu79AWHbvVLpE/VQQ==} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32@0.14.7: + resolution: {integrity: sha512-Vk28u409wVOXqTaT6ek0TnfQG4Ty1aWWfiysIaIRERkNLhzLhUf4i+qJBN8mMuGTYOkE40F0Wkbp6m+IidOp2A==} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64@0.14.7: + resolution: {integrity: sha512-+Lvz6x+8OkRk3K2RtZwO+0a92jy9si9cUea5Zoru4yJ/6EQm9ENX5seZE0X9DTwk1dxJbjmLsJsd3IoowyzgVg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64@0.14.7: + resolution: {integrity: sha512-kJd5beWSqteSAW086qzCEsH6uwpi7QRIpzYWHzEYwKKu9DiG1TwIBegQJmLpPsLp4v5RAFjea0JAmAtpGtRpqg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm@0.14.7: + resolution: {integrity: sha512-OzpXEBogbYdcBqE4uKynuSn5YSetCvK03Qv1HcOY1VN6HmReuatjJ21dCH+YPHSpMEF0afVCnNfffvsGEkxGJQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le@0.14.7: + resolution: {integrity: sha512-mFWpnDhZJmj/h7pxqn1GGDsKwRfqtV7fx6kTF5pr4PfXe8pIaTERpwcKkoCwZUkWAOmUEjMIUAvFM72A6hMZnA==} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le@0.14.7: + resolution: {integrity: sha512-wM7f4M0bsQXfDL4JbbYD0wsr8cC8KaQ3RPWc/fV27KdErPW7YsqshZZSjDV0kbhzwpNNdhLItfbaRT8OE8OaKA==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64@0.14.7: + resolution: {integrity: sha512-J/afS7woKyzGgAL5FlgvMyqgt5wQ597lgsT+xc2yJ9/7BIyezeXutXqfh05vszy2k3kSvhLesugsxIA71WsqBw==} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64@0.14.7: + resolution: {integrity: sha512-7CcxgdlCD+zAPyveKoznbgr3i0Wnh0L8BDGRCjE/5UGkm5P/NQko51tuIDaYof8zbmXjjl0OIt9lSo4W7I8mrw==} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64@0.14.7: + resolution: {integrity: sha512-GKCafP2j/KUljVC3nesw1wLFSZktb2FGCmoT1+730zIF5O6hNroo0bSEofm6ZK5mNPnLiSaiLyRB9YFgtkd5Xg==} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32@0.14.7: + resolution: {integrity: sha512-5I1GeL/gZoUUdTPA0ws54bpYdtyeA2t6MNISalsHpY269zK8Jia/AXB3ta/KcDHv2SvNwabpImeIPXC/k0YW6A==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64@0.14.7: + resolution: {integrity: sha512-CIGKCFpQOSlYsLMbxt8JjxxvVw9MlF1Rz2ABLVfFyHUF5OeqHD5fPhGrCVNaVrhO8Xrm+yFmtjcZudUGr5/WYQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64@0.14.7: + resolution: {integrity: sha512-eOs1eSivOqN7cFiRIukEruWhaCf75V0N8P0zP7dh44LIhLl8y6/z++vv9qQVbkBm5/D7M7LfCfCTmt1f1wHOCw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild@0.14.7: + resolution: {integrity: sha512-+u/msd6iu+HvfysUPkZ9VHm83LImmSNnecYPfFI01pQ7TTcsFR+V0BkybZX7mPtIaI7LCrse6YRj+v3eraJSgw==} + hasBin: true + requiresBuild: true + optionalDependencies: + esbuild-android-arm64: 0.14.7 + esbuild-darwin-64: 0.14.7 + esbuild-darwin-arm64: 0.14.7 + esbuild-freebsd-64: 0.14.7 + esbuild-freebsd-arm64: 0.14.7 + esbuild-linux-32: 0.14.7 + esbuild-linux-64: 0.14.7 + esbuild-linux-arm: 0.14.7 + esbuild-linux-arm64: 0.14.7 + esbuild-linux-mips64le: 0.14.7 + esbuild-linux-ppc64le: 0.14.7 + esbuild-netbsd-64: 0.14.7 + esbuild-openbsd-64: 0.14.7 + esbuild-sunos-64: 0.14.7 + esbuild-windows-32: 0.14.7 + esbuild-windows-64: 0.14.7 + esbuild-windows-arm64: 0.14.7 + dev: true + + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} dev: true - /escape-goat/2.1.1: + /escape-goat@2.1.1: resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} engines: {node: '>=8'} dev: true - /escape-html/1.0.3: - resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} dev: true - /escape-string-regexp/1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} dev: true - /escape-string-regexp/2.0.0: + /escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} dev: true - /eslint-scope/4.0.3: + /eslint-scope@4.0.3: resolution: {integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==} engines: {node: '>=4.0.0'} dependencies: @@ -3237,68 +3935,68 @@ packages: estraverse: 4.3.0 dev: true - /esprima/4.0.1: + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true dev: true - /esrecurse/4.3.0: + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.2.0 dev: true - /estraverse/4.3.0: + /estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} dev: true - /estraverse/5.2.0: + /estraverse@5.2.0: resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} engines: {node: '>=4.0'} dev: true - /esutils/2.0.3: + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} dev: true - /etag/1.8.1: - resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} dev: true - /eventemitter3/4.0.7: + /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: true - /events/1.1.1: - resolution: {integrity: sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=} + /events@1.1.1: + resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==} engines: {node: '>=0.4.x'} dev: true - /events/3.2.0: + /events@3.2.0: resolution: {integrity: sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==} engines: {node: '>=0.8.x'} dev: true - /eventsource/1.0.7: + /eventsource@1.0.7: resolution: {integrity: sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==} engines: {node: '>=0.12.0'} dependencies: original: 1.0.2 dev: true - /evp_bytestokey/1.0.3: + /evp_bytestokey@1.0.3: resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true - /execa/1.0.0: + /execa@1.0.0: resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} engines: {node: '>=6'} dependencies: @@ -3311,36 +4009,38 @@ packages: strip-eof: 1.0.0 dev: true - /expand-brackets/2.1.4: - resolution: {integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=} + /expand-brackets@2.1.4(supports-color@6.1.0): + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) define-property: 0.2.5 extend-shallow: 2.0.1 posix-character-classes: 0.1.1 regex-not: 1.0.2 - snapdragon: 0.8.2 + snapdragon: 0.8.2(supports-color@6.1.0) to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color dev: true - /express/4.17.1: + /express@4.17.1(supports-color@6.1.0): resolution: {integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.7 array-flatten: 1.1.1 - body-parser: 1.19.0 + body-parser: 1.19.0(supports-color@6.1.0) content-disposition: 0.5.3 content-type: 1.0.4 cookie: 0.4.0 cookie-signature: 1.0.6 - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) depd: 1.1.2 encodeurl: 1.0.2 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.1.2 + finalhandler: 1.1.2(supports-color@6.1.0) fresh: 0.5.2 merge-descriptors: 1.0.1 methods: 1.1.2 @@ -3351,58 +4051,62 @@ packages: qs: 6.7.0 range-parser: 1.2.1 safe-buffer: 5.1.2 - send: 0.17.1 - serve-static: 1.14.1 + send: 0.17.1(supports-color@6.1.0) + serve-static: 1.14.1(supports-color@6.1.0) setprototypeof: 1.1.1 statuses: 1.5.0 type-is: 1.6.18 utils-merge: 1.0.1 vary: 1.1.2 + transitivePeerDependencies: + - supports-color dev: true - /extend-shallow/2.0.1: - resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=} + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} dependencies: is-extendable: 0.1.1 dev: true - /extend-shallow/3.0.2: - resolution: {integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=} + /extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} engines: {node: '>=0.10.0'} dependencies: assign-symbols: 1.0.0 is-extendable: 1.0.1 dev: true - /extend/3.0.2: + /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true - /extglob/2.0.4: + /extglob@2.0.4(supports-color@6.1.0): resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} engines: {node: '>=0.10.0'} dependencies: array-unique: 0.3.2 define-property: 1.0.0 - expand-brackets: 2.1.4 + expand-brackets: 2.1.4(supports-color@6.1.0) extend-shallow: 2.0.1 fragment-cache: 0.2.1 regex-not: 1.0.2 - snapdragon: 0.8.2 + snapdragon: 0.8.2(supports-color@6.1.0) to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color dev: true - /extsprintf/1.3.0: - resolution: {integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=} + /extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} dev: true - /fast-deep-equal/3.1.3: + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true - /fast-glob/2.2.7: + /fast-glob@2.2.7: resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==} engines: {node: '>=4.0.0'} dependencies: @@ -3411,32 +4115,34 @@ packages: glob-parent: 3.1.0 is-glob: 4.0.1 merge2: 1.4.1 - micromatch: 3.1.10 + micromatch: 3.1.10(supports-color@6.1.0) + transitivePeerDependencies: + - supports-color dev: true - /fast-json-stable-stringify/2.1.0: + /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true - /faye-websocket/0.11.3: + /faye-websocket@0.11.3: resolution: {integrity: sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==} engines: {node: '>=0.8.0'} dependencies: websocket-driver: 0.7.4 dev: true - /figgy-pudding/3.5.2: + /figgy-pudding@3.5.2: resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} dev: true - /figures/3.2.0: + /figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 dev: true - /file-loader/3.0.1_webpack@4.46.0: + /file-loader@3.0.1(webpack@4.46.0): resolution: {integrity: sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -3447,13 +4153,14 @@ packages: webpack: 4.46.0 dev: true - /file-uri-to-path/1.0.0: + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + requiresBuild: true dev: true optional: true - /fill-range/4.0.0: - resolution: {integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=} + /fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} engines: {node: '>=0.10.0'} dependencies: extend-shallow: 2.0.1 @@ -3462,28 +4169,30 @@ packages: to-regex-range: 2.1.1 dev: true - /fill-range/7.0.1: + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} + requiresBuild: true dependencies: to-regex-range: 5.0.1 dev: true - optional: true - /finalhandler/1.1.2: + /finalhandler@1.1.2(supports-color@6.1.0): resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} engines: {node: '>= 0.8'} dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) encodeurl: 1.0.2 escape-html: 1.0.3 on-finished: 2.3.0 parseurl: 1.3.3 statuses: 1.5.0 unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color dev: true - /find-cache-dir/2.1.0: + /find-cache-dir@2.1.0: resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} engines: {node: '>=6'} dependencies: @@ -3492,7 +4201,7 @@ packages: pkg-dir: 3.0.0 dev: true - /find-cache-dir/3.3.1: + /find-cache-dir@3.3.1: resolution: {integrity: sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==} engines: {node: '>=8'} dependencies: @@ -3501,14 +4210,14 @@ packages: pkg-dir: 4.2.0 dev: true - /find-up/3.0.0: + /find-up@3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} dependencies: locate-path: 3.0.0 dev: true - /find-up/4.1.0: + /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} dependencies: @@ -3516,14 +4225,14 @@ packages: path-exists: 4.0.0 dev: true - /flush-write-stream/1.1.1: + /flush-write-stream@1.1.1: resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} dependencies: inherits: 2.0.4 readable-stream: 2.3.7 dev: true - /follow-redirects/1.13.1_debug@4.3.1: + /follow-redirects@1.13.1(debug@4.3.1): resolution: {integrity: sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==} engines: {node: '>=4.0'} peerDependencies: @@ -3532,23 +4241,23 @@ packages: debug: optional: true dependencies: - debug: 4.3.1_supports-color@6.1.0 + debug: 4.3.1(supports-color@6.1.0) dev: true - /for-in/1.0.2: - resolution: {integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=} + /for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} engines: {node: '>=0.10.0'} dev: true - /foreach/2.0.5: - resolution: {integrity: sha1-C+4AUBiusmDQo6865ljdATbsG5k=} + /foreach@2.0.5: + resolution: {integrity: sha512-ZBbtRiapkZYLsqoPyZOR+uPfto0GRMNQN1GwzZtZt7iZvPPbDDQV0JF5Hx4o/QFQ5c0vyuoZ98T8RSBbopzWtA==} dev: true - /forever-agent/0.6.1: - resolution: {integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=} + /forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} dev: true - /form-data/2.3.3: + /form-data@2.3.3: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} engines: {node: '>= 0.12'} dependencies: @@ -3557,31 +4266,31 @@ packages: mime-types: 2.1.28 dev: true - /forwarded/0.1.2: - resolution: {integrity: sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=} + /forwarded@0.1.2: + resolution: {integrity: sha512-Ua9xNhH0b8pwE3yRbFfXJvfdWF0UHNCdeyb2sbi9Ul/M+r3PTdrz7Cv4SCfZRMjmzEM9PhraqfZFbGTIg3OMyA==} engines: {node: '>= 0.6'} dev: true - /fragment-cache/0.2.1: - resolution: {integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=} + /fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} engines: {node: '>=0.10.0'} dependencies: map-cache: 0.2.2 dev: true - /fresh/0.5.2: - resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} dev: true - /from2/2.3.0: - resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=} + /from2@2.3.0: + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} dependencies: inherits: 2.0.4 readable-stream: 2.3.7 dev: true - /fs-extra/7.0.1: + /fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} dependencies: @@ -3590,8 +4299,8 @@ packages: universalify: 0.1.2 dev: true - /fs-write-stream-atomic/1.0.10: - resolution: {integrity: sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=} + /fs-write-stream-atomic@1.0.10: + resolution: {integrity: sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==} dependencies: graceful-fs: 4.2.4 iferr: 0.1.5 @@ -3599,15 +4308,15 @@ packages: readable-stream: 2.3.7 dev: true - /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents/1.2.13: + /fsevents@1.2.13: resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} engines: {node: '>= 4.0'} os: [darwin] - deprecated: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. + deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2 requiresBuild: true dependencies: bindings: 1.5.0 @@ -3615,28 +4324,29 @@ packages: dev: true optional: true - /fsevents/2.3.1: + /fsevents@2.3.1: resolution: {integrity: sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + requiresBuild: true dev: true optional: true - /function-bind/1.1.1: + /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true - /gensync/1.0.0-beta.2: + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} dev: true - /get-caller-file/2.0.5: + /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-intrinsic/1.0.2: + /get-intrinsic@1.0.2: resolution: {integrity: sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==} dependencies: function-bind: 1.1.1 @@ -3644,51 +4354,52 @@ packages: has-symbols: 1.0.1 dev: true - /get-stream/4.1.0: + /get-stream@4.1.0: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} engines: {node: '>=6'} dependencies: pump: 3.0.0 dev: true - /get-stream/5.2.0: + /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} dependencies: pump: 3.0.0 dev: true - /get-value/2.0.6: - resolution: {integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=} + /get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} engines: {node: '>=0.10.0'} dev: true - /getpass/0.1.7: - resolution: {integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=} + /getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} dependencies: assert-plus: 1.0.0 dev: true - /glob-parent/3.1.0: - resolution: {integrity: sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=} + /glob-parent@3.1.0: + resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} dependencies: is-glob: 3.1.0 path-dirname: 1.0.2 dev: true - /glob-parent/5.1.1: + /glob-parent@5.1.1: resolution: {integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==} engines: {node: '>= 6'} + requiresBuild: true dependencies: is-glob: 4.0.1 dev: true optional: true - /glob-to-regexp/0.3.0: - resolution: {integrity: sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=} + /glob-to-regexp@0.3.0: + resolution: {integrity: sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==} dev: true - /glob/7.1.6: + /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} dependencies: fs.realpath: 1.0.0 @@ -3699,27 +4410,27 @@ packages: path-is-absolute: 1.0.1 dev: true - /global-dirs/2.1.0: + /global-dirs@2.1.0: resolution: {integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==} engines: {node: '>=8'} dependencies: ini: 1.3.7 dev: true - /global/4.4.0: + /global@4.4.0: resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} dependencies: min-document: 2.19.0 process: 0.11.10 dev: true - /globals/11.12.0: + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} dev: true - /globby/6.1.0: - resolution: {integrity: sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=} + /globby@6.1.0: + resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} engines: {node: '>=0.10.0'} dependencies: array-union: 1.0.2 @@ -3729,8 +4440,8 @@ packages: pinkie-promise: 2.0.1 dev: true - /globby/7.1.1: - resolution: {integrity: sha1-+yzP+UAfhgCUXfral0QMypcrhoA=} + /globby@7.1.1: + resolution: {integrity: sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==} engines: {node: '>=4'} dependencies: array-union: 1.0.2 @@ -3741,7 +4452,7 @@ packages: slash: 1.0.0 dev: true - /globby/9.2.0: + /globby@9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} engines: {node: '>=6'} dependencies: @@ -3753,21 +4464,26 @@ packages: ignore: 4.0.6 pify: 4.0.1 slash: 2.0.0 + transitivePeerDependencies: + - supports-color dev: true - /good-listener/1.2.2: - resolution: {integrity: sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=} + /good-listener@1.2.2: + resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==} + requiresBuild: true dependencies: delegate: 3.2.0 dev: true optional: true - /got/9.6.0: + /got@9.6.0: resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} engines: {node: '>=8.6'} dependencies: '@sindresorhus/is': 0.14.0 '@szmarczak/http-timer': 1.1.2 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.3 cacheable-request: 6.1.0 decompress-response: 3.3.0 duplexer3: 0.1.4 @@ -3779,11 +4495,11 @@ packages: url-parse-lax: 3.0.0 dev: true - /graceful-fs/4.2.4: + /graceful-fs@4.2.4: resolution: {integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==} dev: true - /gray-matter/4.0.2: + /gray-matter@4.0.2: resolution: {integrity: sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==} engines: {node: '>=6.0'} dependencies: @@ -3793,16 +4509,16 @@ packages: strip-bom-string: 1.0.0 dev: true - /handle-thing/2.0.1: + /handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: true - /har-schema/2.0.0: - resolution: {integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=} + /har-schema@2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} engines: {node: '>=4'} dev: true - /har-validator/5.1.5: + /har-validator@5.1.5: resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} engines: {node: '>=6'} deprecated: this library is no longer supported @@ -3811,30 +4527,30 @@ packages: har-schema: 2.0.0 dev: true - /has-ansi/2.0.0: - resolution: {integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=} + /has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 dev: true - /has-flag/3.0.0: - resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} dev: true - /has-flag/4.0.0: + /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} dev: true - /has-symbols/1.0.1: + /has-symbols@1.0.1: resolution: {integrity: sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==} engines: {node: '>= 0.4'} dev: true - /has-value/0.3.1: - resolution: {integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=} + /has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} engines: {node: '>=0.10.0'} dependencies: get-value: 2.0.6 @@ -3842,8 +4558,8 @@ packages: isobject: 2.1.0 dev: true - /has-value/1.0.0: - resolution: {integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=} + /has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} engines: {node: '>=0.10.0'} dependencies: get-value: 2.0.6 @@ -3851,32 +4567,32 @@ packages: isobject: 3.0.1 dev: true - /has-values/0.1.4: - resolution: {integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E=} + /has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} engines: {node: '>=0.10.0'} dev: true - /has-values/1.0.0: - resolution: {integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=} + /has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} engines: {node: '>=0.10.0'} dependencies: is-number: 3.0.0 kind-of: 4.0.0 dev: true - /has-yarn/2.1.0: + /has-yarn@2.1.0: resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} engines: {node: '>=8'} dev: true - /has/1.0.3: + /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 dev: true - /hash-base/3.1.0: + /hash-base@3.1.0: resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} engines: {node: '>=4'} dependencies: @@ -3885,44 +4601,50 @@ packages: safe-buffer: 5.2.1 dev: true - /hash-sum/1.0.2: - resolution: {integrity: sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=} + /hash-sum@1.0.2: + resolution: {integrity: sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==} dev: true - /hash.js/1.1.7: + /hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 dev: true - /he/1.2.0: + /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true dev: true - /hex-color-regex/1.1.0: + /hex-color-regex@1.1.0: resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} dev: true - /hmac-drbg/1.0.1: - resolution: {integrity: sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=} + /highlight.js@9.18.5: + resolution: {integrity: sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==} + deprecated: Support has ended for 9.x series. Upgrade to @latest + requiresBuild: true + dev: true + + /hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 dev: true - /hogan.js/3.0.2: - resolution: {integrity: sha1-TNnhq9QpQUbnZ55B14mHMrAse/0=} + /hogan.js@3.0.2: + resolution: {integrity: sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==} hasBin: true dependencies: mkdirp: 0.3.0 nopt: 1.0.10 dev: true - /hpack.js/2.1.6: - resolution: {integrity: sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=} + /hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} dependencies: inherits: 2.0.4 obuf: 1.1.2 @@ -3930,23 +4652,23 @@ packages: wbuf: 1.7.3 dev: true - /hsl-regex/1.0.0: - resolution: {integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=} + /hsl-regex@1.0.0: + resolution: {integrity: sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==} dev: true - /hsla-regex/1.0.0: - resolution: {integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg=} + /hsla-regex@1.0.0: + resolution: {integrity: sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==} dev: true - /html-comment-regex/1.1.2: + /html-comment-regex@1.1.2: resolution: {integrity: sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==} dev: true - /html-entities/1.4.0: + /html-entities@1.4.0: resolution: {integrity: sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==} dev: true - /html-minifier/3.5.21: + /html-minifier@3.5.21: resolution: {integrity: sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==} engines: {node: '>=4'} hasBin: true @@ -3960,17 +4682,17 @@ packages: uglify-js: 3.4.10 dev: true - /html-tags/2.0.0: - resolution: {integrity: sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=} + /html-tags@2.0.0: + resolution: {integrity: sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==} engines: {node: '>=4'} dev: true - /html-tags/3.1.0: + /html-tags@3.1.0: resolution: {integrity: sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==} engines: {node: '>=8'} dev: true - /htmlparser2/3.10.1: + /htmlparser2@3.10.1: resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} dependencies: domelementtype: 1.3.1 @@ -3981,16 +4703,16 @@ packages: readable-stream: 3.6.0 dev: true - /http-cache-semantics/4.1.0: + /http-cache-semantics@4.1.0: resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} dev: true - /http-deceiver/1.2.7: - resolution: {integrity: sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=} + /http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} dev: true - /http-errors/1.6.3: - resolution: {integrity: sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=} + /http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} engines: {node: '>= 0.6'} dependencies: depd: 1.1.2 @@ -3999,7 +4721,7 @@ packages: statuses: 1.5.0 dev: true - /http-errors/1.7.2: + /http-errors@1.7.2: resolution: {integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==} engines: {node: '>= 0.6'} dependencies: @@ -4010,7 +4732,7 @@ packages: toidentifier: 1.0.0 dev: true - /http-errors/1.7.3: + /http-errors@1.7.3: resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} engines: {node: '>= 0.6'} dependencies: @@ -4021,35 +4743,49 @@ packages: toidentifier: 1.0.0 dev: true - /http-parser-js/0.5.3: + /http-parser-js@0.5.3: resolution: {integrity: sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==} dev: true - /http-proxy-middleware/0.19.1_debug@4.3.1: + /http-proxy-middleware@0.19.1(debug@4.3.1)(supports-color@6.1.0): resolution: {integrity: sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==} engines: {node: '>=4.0.0'} dependencies: - http-proxy: 1.18.1_debug@4.3.1 + http-proxy: 1.18.1(debug@4.3.1) is-glob: 4.0.1 lodash: 4.17.20 - micromatch: 3.1.10 + micromatch: 3.1.10(supports-color@6.1.0) transitivePeerDependencies: - debug + - supports-color dev: true - /http-proxy/1.18.1_debug@4.3.1: + /http-proxy-middleware@1.3.1: + resolution: {integrity: sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/http-proxy': 1.17.14 + http-proxy: 1.18.1(debug@4.3.1) + is-glob: 4.0.1 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - debug + dev: true + + /http-proxy@1.18.1(debug@4.3.1): resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.13.1_debug@4.3.1 + follow-redirects: 1.13.1(debug@4.3.1) requires-port: 1.0.0 transitivePeerDependencies: - debug dev: true - /http-signature/1.2.0: - resolution: {integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=} + /http-signature@1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} engines: {node: '>=0.8', npm: '>=1.3.7'} dependencies: assert-plus: 1.0.0 @@ -4057,77 +4793,77 @@ packages: sshpk: 1.16.1 dev: true - /https-browserify/1.0.0: - resolution: {integrity: sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=} + /https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} dev: true - /iconv-lite/0.4.24: + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true - /icss-replace-symbols/1.1.0: - resolution: {integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=} + /icss-replace-symbols@1.1.0: + resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} dev: true - /icss-utils/4.1.1: + /icss-utils@4.1.1: resolution: {integrity: sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==} engines: {node: '>= 6'} dependencies: postcss: 7.0.35 dev: true - /ieee754/1.2.1: + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true - /iferr/0.1.5: - resolution: {integrity: sha1-xg7taebY/bazEEofy8ocGS3FtQE=} + /iferr@0.1.5: + resolution: {integrity: sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==} dev: true - /ignore/3.3.10: + /ignore@3.3.10: resolution: {integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==} dev: true - /ignore/4.0.6: + /ignore@4.0.6: resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} engines: {node: '>= 4'} dev: true - /immediate/3.3.0: + /immediate@3.3.0: resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} dev: true - /import-cwd/2.1.0: - resolution: {integrity: sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=} + /import-cwd@2.1.0: + resolution: {integrity: sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==} engines: {node: '>=4'} dependencies: import-from: 2.1.0 dev: true - /import-fresh/2.0.0: - resolution: {integrity: sha1-2BNVwVYS04bGH53dOSLUMEgipUY=} + /import-fresh@2.0.0: + resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} engines: {node: '>=4'} dependencies: caller-path: 2.0.0 resolve-from: 3.0.0 dev: true - /import-from/2.1.0: - resolution: {integrity: sha1-M1238qev/VOqpHHUuAId7ja387E=} + /import-from@2.1.0: + resolution: {integrity: sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==} engines: {node: '>=4'} dependencies: resolve-from: 3.0.0 dev: true - /import-lazy/2.1.0: - resolution: {integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=} + /import-lazy@2.1.0: + resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} engines: {node: '>=4'} dev: true - /import-local/2.0.0: + /import-local@2.0.0: resolution: {integrity: sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==} engines: {node: '>=6'} hasBin: true @@ -4136,47 +4872,47 @@ packages: resolve-cwd: 2.0.0 dev: true - /imurmurhash/0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} dev: true - /indexes-of/1.0.1: - resolution: {integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc=} + /indexes-of@1.0.1: + resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==} dev: true - /infer-owner/1.0.4: + /infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} dev: true - /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 dev: true - /inherits/2.0.1: - resolution: {integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=} + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} dev: true - /inherits/2.0.3: - resolution: {integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=} + /inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} dev: true - /inherits/2.0.4: + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /ini/1.3.7: + /ini@1.3.7: resolution: {integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==} dev: true - /ini/1.3.8: + /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /internal-ip/4.3.0: + /internal-ip@4.3.0: resolution: {integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==} engines: {node: '>=6'} dependencies: @@ -4184,92 +4920,93 @@ packages: ipaddr.js: 1.9.1 dev: true - /ip-regex/2.1.0: - resolution: {integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=} + /ip-regex@2.1.0: + resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} engines: {node: '>=4'} dev: true - /ip/1.1.5: - resolution: {integrity: sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=} + /ip@1.1.5: + resolution: {integrity: sha512-rBtCAQAJm8A110nbwn6YdveUnuZH3WrC36IwkRXxDnq53JvXA2NVQvB7IHyKomxK1MJ4VDNw3UtFDdXQ+AvLYA==} dev: true - /ipaddr.js/1.9.1: + /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} dev: true - /is-absolute-url/2.1.0: - resolution: {integrity: sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=} + /is-absolute-url@2.1.0: + resolution: {integrity: sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==} engines: {node: '>=0.10.0'} dev: true - /is-absolute-url/3.0.3: + /is-absolute-url@3.0.3: resolution: {integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==} engines: {node: '>=8'} dev: true - /is-accessor-descriptor/0.1.6: - resolution: {integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=} + /is-accessor-descriptor@0.1.6: + resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true - /is-accessor-descriptor/1.0.0: + /is-accessor-descriptor@1.0.0: resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} engines: {node: '>=0.10.0'} dependencies: kind-of: 6.0.3 dev: true - /is-arguments/1.1.0: + /is-arguments@1.1.0: resolution: {integrity: sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 dev: true - /is-arrayish/0.2.1: - resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true - /is-arrayish/0.3.2: + /is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} dev: true - /is-binary-path/1.0.1: - resolution: {integrity: sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=} + /is-binary-path@1.0.1: + resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} engines: {node: '>=0.10.0'} dependencies: binary-extensions: 1.13.1 dev: true - /is-binary-path/2.1.0: + /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} + requiresBuild: true dependencies: binary-extensions: 2.2.0 dev: true optional: true - /is-buffer/1.1.6: + /is-buffer@1.1.6: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} dev: true - /is-callable/1.2.2: + /is-callable@1.2.2: resolution: {integrity: sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==} engines: {node: '>= 0.4'} dev: true - /is-ci/2.0.0: + /is-ci@2.0.0: resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true dependencies: ci-info: 2.0.0 dev: true - /is-color-stop/1.1.0: - resolution: {integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=} + /is-color-stop@1.1.0: + resolution: {integrity: sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==} dependencies: css-color-names: 0.0.4 hex-color-regex: 1.1.0 @@ -4279,32 +5016,32 @@ packages: rgba-regex: 1.0.0 dev: true - /is-core-module/2.2.0: + /is-core-module@2.2.0: resolution: {integrity: sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==} dependencies: has: 1.0.3 dev: true - /is-data-descriptor/0.1.4: - resolution: {integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=} + /is-data-descriptor@0.1.4: + resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true - /is-data-descriptor/1.0.0: + /is-data-descriptor@1.0.0: resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} engines: {node: '>=0.10.0'} dependencies: kind-of: 6.0.3 dev: true - /is-date-object/1.0.2: + /is-date-object@1.0.2: resolution: {integrity: sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==} engines: {node: '>= 0.4'} dev: true - /is-descriptor/0.1.6: + /is-descriptor@0.1.6: resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} engines: {node: '>=0.10.0'} dependencies: @@ -4313,7 +5050,7 @@ packages: kind-of: 5.1.0 dev: true - /is-descriptor/1.0.2: + /is-descriptor@1.0.2: resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} engines: {node: '>=0.10.0'} dependencies: @@ -4322,53 +5059,53 @@ packages: kind-of: 6.0.3 dev: true - /is-directory/0.3.1: - resolution: {integrity: sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=} + /is-directory@0.3.1: + resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} engines: {node: '>=0.10.0'} dev: true - /is-extendable/0.1.1: - resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=} + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} dev: true - /is-extendable/1.0.1: + /is-extendable@1.0.1: resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} engines: {node: '>=0.10.0'} dependencies: is-plain-object: 2.0.4 dev: true - /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true - /is-fullwidth-code-point/2.0.0: - resolution: {integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=} + /is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} engines: {node: '>=4'} dev: true - /is-fullwidth-code-point/3.0.0: + /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} dev: true - /is-glob/3.1.0: - resolution: {integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=} + /is-glob@3.1.0: + resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: true - /is-glob/4.0.1: + /is-glob@4.0.1: resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: true - /is-installed-globally/0.3.2: + /is-installed-globally@0.3.2: resolution: {integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==} engines: {node: '>=8'} dependencies: @@ -4376,159 +5113,164 @@ packages: is-path-inside: 3.0.2 dev: true - /is-negative-zero/2.0.1: + /is-negative-zero@2.0.1: resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} engines: {node: '>= 0.4'} dev: true - /is-npm/4.0.0: + /is-npm@4.0.0: resolution: {integrity: sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==} engines: {node: '>=8'} dev: true - /is-number/3.0.0: - resolution: {integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=} + /is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true - /is-number/7.0.0: + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + requiresBuild: true dev: true - optional: true - /is-obj/2.0.0: + /is-obj@2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} dev: true - /is-path-cwd/2.2.0: + /is-path-cwd@2.2.0: resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} engines: {node: '>=6'} dev: true - /is-path-in-cwd/2.1.0: + /is-path-in-cwd@2.1.0: resolution: {integrity: sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==} engines: {node: '>=6'} dependencies: is-path-inside: 2.1.0 dev: true - /is-path-inside/2.1.0: + /is-path-inside@2.1.0: resolution: {integrity: sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==} engines: {node: '>=6'} dependencies: path-is-inside: 1.0.2 dev: true - /is-path-inside/3.0.2: + /is-path-inside@3.0.2: resolution: {integrity: sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==} engines: {node: '>=8'} dev: true - /is-plain-obj/1.1.0: - resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} dev: true - /is-plain-object/2.0.4: + /is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + dev: true + + /is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 dev: true - /is-regex/1.1.1: + /is-regex@1.1.1: resolution: {integrity: sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.1 dev: true - /is-resolvable/1.1.0: + /is-resolvable@1.1.0: resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} dev: true - /is-stream/1.1.0: - resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=} + /is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} dev: true - /is-svg/3.0.0: + /is-svg@3.0.0: resolution: {integrity: sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==} engines: {node: '>=4'} dependencies: html-comment-regex: 1.1.2 dev: true - /is-symbol/1.0.3: + /is-symbol@1.0.3: resolution: {integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.1 dev: true - /is-typedarray/1.0.0: - resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} + /is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: true - /is-windows/1.0.2: + /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} dev: true - /is-wsl/1.1.0: - resolution: {integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=} + /is-wsl@1.1.0: + resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} engines: {node: '>=4'} dev: true - /is-yarn-global/0.3.0: + /is-yarn-global@0.3.0: resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} dev: true - /isarray/1.0.0: - resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true - /isarray/2.0.5: + /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true - /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /isobject/2.1.0: - resolution: {integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=} + /isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} engines: {node: '>=0.10.0'} dependencies: isarray: 1.0.0 dev: true - /isobject/3.0.1: - resolution: {integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=} + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} dev: true - /isstream/0.1.2: - resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=} + /isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} dev: true - /javascript-stringify/1.6.0: - resolution: {integrity: sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=} + /javascript-stringify@1.6.0: + resolution: {integrity: sha512-fnjC0up+0SjEJtgmmG+teeel68kutkvzfctO/KxE3qJlbunkJYAshgH3boU++gSBHP8z5/r0ts0qRIrHf0RTQQ==} dev: true - /javascript-stringify/2.0.1: + /javascript-stringify@2.0.1: resolution: {integrity: sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==} dev: true - /js-tokens/4.0.0: + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true - /js-yaml/3.14.1: + /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: @@ -4536,58 +5278,58 @@ packages: esprima: 4.0.1 dev: true - /jsbn/0.1.1: - resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=} + /jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} dev: true - /jsesc/0.5.0: - resolution: {integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=} + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true - /jsesc/2.5.2: + /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true dev: true - /json-buffer/3.0.0: - resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} + /json-buffer@3.0.0: + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} dev: true - /json-parse-better-errors/1.0.2: + /json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true - /json-schema-traverse/0.4.1: + /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true - /json-schema/0.2.3: - resolution: {integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=} + /json-schema@0.2.3: + resolution: {integrity: sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ==} dev: true - /json-stringify-safe/5.0.1: - resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} dev: true - /json3/3.3.3: + /json3@3.3.3: resolution: {integrity: sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==} dev: true - /json5/0.5.1: - resolution: {integrity: sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=} + /json5@0.5.1: + resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==} hasBin: true dev: true - /json5/1.0.1: + /json5@1.0.1: resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} hasBin: true dependencies: minimist: 1.2.5 dev: true - /json5/2.1.3: + /json5@2.1.3: resolution: {integrity: sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==} engines: {node: '>=6'} hasBin: true @@ -4595,14 +5337,14 @@ packages: minimist: 1.2.5 dev: true - /jsonfile/4.0.0: - resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.4 dev: true - /jsprim/1.4.1: - resolution: {integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=} + /jsprim@1.4.1: + resolution: {integrity: sha512-4Dj8Rf+fQ+/Pn7C5qeEX02op1WfOss3PKTE9Nsop3Dx+6UPxlm1dr/og7o2cRa5hNN07CACr4NFzRLtj/rjWog==} engines: {'0': node >=0.6.0} dependencies: assert-plus: 1.0.0 @@ -4611,71 +5353,71 @@ packages: verror: 1.10.0 dev: true - /keyv/3.1.0: + /keyv@3.1.0: resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} dependencies: json-buffer: 3.0.0 dev: true - /killable/1.0.1: + /killable@1.0.1: resolution: {integrity: sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==} dev: true - /kind-of/3.2.2: - resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=} + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} engines: {node: '>=0.10.0'} dependencies: is-buffer: 1.1.6 dev: true - /kind-of/4.0.0: - resolution: {integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc=} + /kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} engines: {node: '>=0.10.0'} dependencies: is-buffer: 1.1.6 dev: true - /kind-of/5.1.0: + /kind-of@5.1.0: resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} engines: {node: '>=0.10.0'} dev: true - /kind-of/6.0.3: + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} dev: true - /last-call-webpack-plugin/3.0.0: + /last-call-webpack-plugin@3.0.0: resolution: {integrity: sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==} dependencies: lodash: 4.17.20 webpack-sources: 1.4.3 dev: true - /latest-version/5.1.0: + /latest-version@5.1.0: resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} engines: {node: '>=8'} dependencies: package-json: 6.5.0 dev: true - /linkify-it/2.2.0: + /linkify-it@2.2.0: resolution: {integrity: sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==} dependencies: uc.micro: 1.0.6 dev: true - /load-script/1.0.0: - resolution: {integrity: sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=} + /load-script@1.0.0: + resolution: {integrity: sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==} dev: true - /loader-runner/2.4.0: + /loader-runner@2.4.0: resolution: {integrity: sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==} engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} dev: true - /loader-utils/0.2.17: - resolution: {integrity: sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=} + /loader-utils@0.2.17: + resolution: {integrity: sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==} dependencies: big.js: 3.2.0 emojis-list: 2.1.0 @@ -4683,7 +5425,7 @@ packages: object-assign: 4.1.1 dev: true - /loader-utils/1.4.0: + /loader-utils@1.4.0: resolution: {integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==} engines: {node: '>=4.0.0'} dependencies: @@ -4692,7 +5434,7 @@ packages: json5: 1.0.1 dev: true - /locate-path/3.0.0: + /locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} dependencies: @@ -4700,87 +5442,87 @@ packages: path-exists: 3.0.0 dev: true - /locate-path/5.0.0: + /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true - /lodash._reinterpolate/3.0.0: - resolution: {integrity: sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=} + /lodash._reinterpolate@3.0.0: + resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} dev: true - /lodash.clonedeep/4.5.0: - resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} + /lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} dev: true - /lodash.debounce/4.0.8: - resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=} + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true - /lodash.kebabcase/4.1.1: - resolution: {integrity: sha1-hImxyw0p/4gZXM7KRI/21swpXDY=} + /lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} dev: true - /lodash.memoize/4.1.2: - resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=} + /lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: true - /lodash.template/4.5.0: + /lodash.template@4.5.0: resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 dev: true - /lodash.templatesettings/4.2.0: + /lodash.templatesettings@4.2.0: resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} dependencies: lodash._reinterpolate: 3.0.0 dev: true - /lodash.uniq/4.5.0: - resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=} + /lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} dev: true - /lodash/4.17.20: + /lodash@4.17.20: resolution: {integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==} dev: true - /loglevel/1.7.1: + /loglevel@1.7.1: resolution: {integrity: sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==} engines: {node: '>= 0.6.0'} dev: true - /lower-case/1.1.4: - resolution: {integrity: sha1-miyr0bno4K6ZOkv31YdcOcQujqw=} + /lower-case@1.1.4: + resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} dev: true - /lowercase-keys/1.0.1: + /lowercase-keys@1.0.1: resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} engines: {node: '>=0.10.0'} dev: true - /lowercase-keys/2.0.0: + /lowercase-keys@2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} dev: true - /lru-cache/4.1.5: + /lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 dev: true - /lru-cache/5.1.1: + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 dev: true - /make-dir/2.1.0: + /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} dependencies: @@ -4788,26 +5530,26 @@ packages: semver: 5.7.1 dev: true - /make-dir/3.1.0: + /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: semver: 6.3.0 dev: true - /map-cache/0.2.2: - resolution: {integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=} + /map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} engines: {node: '>=0.10.0'} dev: true - /map-visit/1.0.0: - resolution: {integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=} + /map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} engines: {node: '>=0.10.0'} dependencies: object-visit: 1.0.1 dev: true - /markdown-it-anchor/5.3.0_markdown-it@8.4.2: + /markdown-it-anchor@5.3.0(markdown-it@8.4.2): resolution: {integrity: sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==} peerDependencies: markdown-it: '*' @@ -4815,7 +5557,7 @@ packages: markdown-it: 8.4.2 dev: true - /markdown-it-chain/1.3.0_markdown-it@8.4.2: + /markdown-it-chain@1.3.0(markdown-it@8.4.2): resolution: {integrity: sha512-XClV8I1TKy8L2qsT9iX3qiV+50ZtcInGXI80CA+DP62sMs7hXlyV/RM3hfwy5O3Ad0sJm9xIwQELgANfESo8mQ==} engines: {node: '>=6.9'} peerDependencies: @@ -4825,20 +5567,20 @@ packages: webpack-chain: 4.12.1 dev: true - /markdown-it-container/2.0.0: - resolution: {integrity: sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU=} + /markdown-it-container@2.0.0: + resolution: {integrity: sha512-IxPOaq2LzrGuFGyYq80zaorXReh2ZHGFOB1/Hen429EJL1XkPI3FJTpx9TsJeua+j2qTru4h3W1TiCRdeivMmA==} dev: true - /markdown-it-emoji/1.4.0: - resolution: {integrity: sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=} + /markdown-it-emoji@1.4.0: + resolution: {integrity: sha512-QCz3Hkd+r5gDYtS2xsFXmBYrgw6KuWcJZLCEkdfAuwzZbShCmCfta+hwAMq4NX/4xPzkSHduMKgMkkPUJxSXNg==} dev: true - /markdown-it-table-of-contents/0.4.4: + /markdown-it-table-of-contents@0.4.4: resolution: {integrity: sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw==} engines: {node: '>6.4.0'} dev: true - /markdown-it/8.4.2: + /markdown-it@8.4.2: resolution: {integrity: sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==} hasBin: true dependencies: @@ -4849,7 +5591,7 @@ packages: uc.micro: 1.0.6 dev: true - /md5.js/1.3.5: + /md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: hash-base: 3.1.0 @@ -4857,35 +5599,35 @@ packages: safe-buffer: 5.2.1 dev: true - /mdn-data/2.0.14: + /mdn-data@2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} dev: true - /mdn-data/2.0.4: + /mdn-data@2.0.4: resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} dev: true - /mdurl/1.0.1: - resolution: {integrity: sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=} + /mdurl@1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} dev: true - /media-typer/0.3.0: - resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} dev: true - /medium-zoom/1.0.6: + /medium-zoom@1.0.6: resolution: {integrity: sha512-UdiUWfvz9fZMg1pzf4dcuqA0W079o0mpqbTnOz5ip4VGYX96QjmbM+OgOU/0uOzAytxC0Ny4z+VcYQnhdifimg==} dev: true - /memory-fs/0.4.1: - resolution: {integrity: sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=} + /memory-fs@0.4.1: + resolution: {integrity: sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==} dependencies: errno: 0.1.8 readable-stream: 2.3.7 dev: true - /memory-fs/0.5.0: + /memory-fs@0.5.0: resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} dependencies: @@ -4893,46 +5635,56 @@ packages: readable-stream: 2.3.7 dev: true - /merge-descriptors/1.0.1: - resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} + /merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: true - /merge-source-map/1.1.0: + /merge-source-map@1.1.0: resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} dependencies: source-map: 0.6.1 dev: true - /merge2/1.4.1: + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: true - /methods/1.1.2: - resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=} + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} dev: true - /micromatch/3.1.10: + /micromatch@3.1.10(supports-color@6.1.0): resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} dependencies: arr-diff: 4.0.0 array-unique: 0.3.2 - braces: 2.3.2 + braces: 2.3.2(supports-color@6.1.0) define-property: 2.0.2 extend-shallow: 3.0.2 - extglob: 2.0.4 + extglob: 2.0.4(supports-color@6.1.0) fragment-cache: 0.2.1 kind-of: 6.0.3 - nanomatch: 1.2.13 + nanomatch: 1.2.13(supports-color@6.1.0) object.pick: 1.3.0 regex-not: 1.0.2 - snapdragon: 0.8.2 + snapdragon: 0.8.2(supports-color@6.1.0) to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color dev: true - /miller-rabin/4.0.1: + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /miller-rabin@4.0.1: resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true dependencies: @@ -4940,42 +5692,42 @@ packages: brorand: 1.1.0 dev: true - /mime-db/1.45.0: + /mime-db@1.45.0: resolution: {integrity: sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==} engines: {node: '>= 0.6'} dev: true - /mime-types/2.1.28: + /mime-types@2.1.28: resolution: {integrity: sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.45.0 dev: true - /mime/1.6.0: + /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true dev: true - /mime/2.5.0: + /mime@2.5.0: resolution: {integrity: sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==} engines: {node: '>=4.0.0'} hasBin: true dev: true - /mimic-response/1.0.1: + /mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} dev: true - /min-document/2.19.0: - resolution: {integrity: sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=} + /min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} dependencies: dom-walk: 0.1.2 dev: true - /mini-css-extract-plugin/0.6.0_webpack@4.46.0: + /mini-css-extract-plugin@0.6.0(webpack@4.46.0): resolution: {integrity: sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -4988,25 +5740,25 @@ packages: webpack-sources: 1.4.3 dev: true - /minimalistic-assert/1.0.1: + /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true - /minimalistic-crypto-utils/1.0.1: - resolution: {integrity: sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=} + /minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} dev: true - /minimatch/3.0.4: + /minimatch@3.0.4: resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} dependencies: brace-expansion: 1.1.11 dev: true - /minimist/1.2.5: + /minimist@1.2.5: resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} dev: true - /mississippi/3.0.0: + /mississippi@3.0.0: resolution: {integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==} engines: {node: '>=4.0.0'} dependencies: @@ -5022,7 +5774,7 @@ packages: through2: 2.0.5 dev: true - /mixin-deep/1.3.2: + /mixin-deep@1.3.2: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} engines: {node: '>=0.10.0'} dependencies: @@ -5030,26 +5782,26 @@ packages: is-extendable: 1.0.1 dev: true - /mkdirp/0.3.0: - resolution: {integrity: sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=} + /mkdirp@0.3.0: + resolution: {integrity: sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==} deprecated: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) dev: true - /mkdirp/0.5.5: + /mkdirp@0.5.5: resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} hasBin: true dependencies: minimist: 1.2.5 dev: true - /mkdirp/1.0.4: + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true dev: true - /move-concurrently/1.0.1: - resolution: {integrity: sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=} + /move-concurrently@1.0.1: + resolution: {integrity: sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==} dependencies: aproba: 1.2.0 copy-concurrently: 1.0.5 @@ -5059,27 +5811,27 @@ packages: run-queue: 1.0.3 dev: true - /ms/2.0.0: - resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: true - /ms/2.1.1: + /ms@2.1.1: resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: true - /ms/2.1.2: + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true - /ms/2.1.3: + /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /multicast-dns-service-types/1.1.0: - resolution: {integrity: sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=} + /multicast-dns-service-types@1.1.0: + resolution: {integrity: sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==} dev: true - /multicast-dns/6.2.3: + /multicast-dns@6.2.3: resolution: {integrity: sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==} hasBin: true dependencies: @@ -5087,12 +5839,13 @@ packages: thunky: 1.1.0 dev: true - /nan/2.14.2: + /nan@2.14.2: resolution: {integrity: sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==} + requiresBuild: true dev: true optional: true - /nanomatch/1.2.13: + /nanomatch@1.2.13(supports-color@6.1.0): resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} dependencies: @@ -5105,35 +5858,37 @@ packages: kind-of: 6.0.3 object.pick: 1.3.0 regex-not: 1.0.2 - snapdragon: 0.8.2 + snapdragon: 0.8.2(supports-color@6.1.0) to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color dev: true - /negotiator/0.6.2: + /negotiator@0.6.2: resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} engines: {node: '>= 0.6'} dev: true - /neo-async/2.6.2: + /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /nice-try/1.0.5: + /nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: true - /no-case/2.3.2: + /no-case@2.3.2: resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} dependencies: lower-case: 1.1.4 dev: true - /node-forge/0.10.0: + /node-forge@0.10.0: resolution: {integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==} engines: {node: '>= 6.0.0'} dev: true - /node-libs-browser/2.2.1: + /node-libs-browser@2.2.1: resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} dependencies: assert: 1.5.0 @@ -5161,35 +5916,35 @@ packages: vm-browserify: 1.1.2 dev: true - /node-releases/1.1.70: + /node-releases@1.1.70: resolution: {integrity: sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==} dev: true - /nopt/1.0.10: - resolution: {integrity: sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=} + /nopt@1.0.10: + resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} hasBin: true dependencies: abbrev: 1.1.1 dev: true - /normalize-path/2.1.1: - resolution: {integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=} + /normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 dev: true - /normalize-path/3.0.0: + /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true - /normalize-range/0.1.2: - resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=} + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} dev: true - /normalize-url/2.0.1: + /normalize-url@2.0.1: resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} engines: {node: '>=4'} dependencies: @@ -5198,48 +5953,48 @@ packages: sort-keys: 2.0.0 dev: true - /normalize-url/3.3.0: + /normalize-url@3.3.0: resolution: {integrity: sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==} engines: {node: '>=6'} dev: true - /normalize-url/4.5.0: + /normalize-url@4.5.0: resolution: {integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==} engines: {node: '>=8'} dev: true - /npm-run-path/2.0.2: - resolution: {integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=} + /npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} dependencies: path-key: 2.0.1 dev: true - /nprogress/0.2.0: - resolution: {integrity: sha1-y480xTIT2JVyP8urkH6UIq28r7E=} + /nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} dev: true - /nth-check/1.0.2: + /nth-check@1.0.2: resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} dependencies: boolbase: 1.0.0 dev: true - /num2fraction/1.2.2: - resolution: {integrity: sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=} + /num2fraction@1.2.2: + resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} dev: true - /oauth-sign/0.9.0: + /oauth-sign@0.9.0: resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} dev: true - /object-assign/4.1.1: - resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} dev: true - /object-copy/0.1.0: - resolution: {integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw=} + /object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} engines: {node: '>=0.10.0'} dependencies: copy-descriptor: 0.1.1 @@ -5247,11 +6002,11 @@ packages: kind-of: 3.2.2 dev: true - /object-inspect/1.9.0: + /object-inspect@1.9.0: resolution: {integrity: sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==} dev: true - /object-is/1.1.4: + /object-is@1.1.4: resolution: {integrity: sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==} engines: {node: '>= 0.4'} dependencies: @@ -5259,19 +6014,19 @@ packages: define-properties: 1.1.3 dev: true - /object-keys/1.1.1: + /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} dev: true - /object-visit/1.0.1: - resolution: {integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=} + /object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 dev: true - /object.assign/4.1.2: + /object.assign@4.1.2: resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} engines: {node: '>= 0.4'} dependencies: @@ -5281,7 +6036,7 @@ packages: object-keys: 1.1.1 dev: true - /object.getownpropertydescriptors/2.1.1: + /object.getownpropertydescriptors@2.1.1: resolution: {integrity: sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==} engines: {node: '>= 0.8'} dependencies: @@ -5290,14 +6045,14 @@ packages: es-abstract: 1.18.0-next.2 dev: true - /object.pick/1.3.0: - resolution: {integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=} + /object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 dev: true - /object.values/1.1.2: + /object.values@1.1.2: resolution: {integrity: sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==} engines: {node: '>= 0.4'} dependencies: @@ -5307,41 +6062,41 @@ packages: has: 1.0.3 dev: true - /obuf/1.1.2: + /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: true - /on-finished/2.3.0: - resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=} + /on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 dev: true - /on-headers/1.0.2: + /on-headers@1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} dev: true - /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: true - /opencollective-postinstall/2.0.3: + /opencollective-postinstall@2.0.3: resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==} hasBin: true dev: true - /opn/5.5.0: + /opn@5.5.0: resolution: {integrity: sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==} engines: {node: '>=4'} dependencies: is-wsl: 1.1.0 dev: true - /optimize-css-assets-webpack-plugin/5.0.4_webpack@4.46.0: + /optimize-css-assets-webpack-plugin@5.0.4(webpack@4.46.0): resolution: {integrity: sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==} peerDependencies: webpack: ^4.0.0 @@ -5351,65 +6106,65 @@ packages: webpack: 4.46.0 dev: true - /original/1.0.2: + /original@1.0.2: resolution: {integrity: sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==} dependencies: url-parse: 1.4.7 dev: true - /os-browserify/0.3.0: - resolution: {integrity: sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=} + /os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} dev: true - /p-cancelable/1.1.0: + /p-cancelable@1.1.0: resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} engines: {node: '>=6'} dev: true - /p-finally/1.0.0: - resolution: {integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=} + /p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} dev: true - /p-limit/2.3.0: + /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true - /p-locate/3.0.0: + /p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} dependencies: p-limit: 2.3.0 dev: true - /p-locate/4.1.0: + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true - /p-map/2.1.0: + /p-map@2.1.0: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} dev: true - /p-retry/3.0.1: + /p-retry@3.0.1: resolution: {integrity: sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==} engines: {node: '>=6'} dependencies: retry: 0.12.0 dev: true - /p-try/2.2.0: + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} dev: true - /package-json/6.5.0: + /package-json@6.5.0: resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} engines: {node: '>=8'} dependencies: @@ -5419,11 +6174,11 @@ packages: semver: 6.3.0 dev: true - /pako/1.0.11: + /pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} dev: true - /parallel-transform/1.2.0: + /parallel-transform@1.2.0: resolution: {integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==} dependencies: cyclist: 1.0.1 @@ -5431,13 +6186,13 @@ packages: readable-stream: 2.3.7 dev: true - /param-case/2.1.1: - resolution: {integrity: sha1-35T9jPZTHs915r75oIWPvHK+Ikc=} + /param-case@2.1.1: + resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} dependencies: no-case: 2.3.2 dev: true - /parse-asn1/5.1.6: + /parse-asn1@5.1.6: resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} dependencies: asn1.js: 5.4.1 @@ -5447,72 +6202,72 @@ packages: safe-buffer: 5.2.1 dev: true - /parse-json/4.0.0: - resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} + /parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 dev: true - /parseurl/1.3.3: + /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} dev: true - /pascalcase/0.1.1: - resolution: {integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=} + /pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} engines: {node: '>=0.10.0'} dev: true - /path-browserify/0.0.1: + /path-browserify@0.0.1: resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} dev: true - /path-dirname/1.0.2: - resolution: {integrity: sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=} + /path-dirname@1.0.2: + resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} dev: true - /path-exists/3.0.0: - resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} + /path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} dev: true - /path-exists/4.0.0: + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} dev: true - /path-is-absolute/1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} dev: true - /path-is-inside/1.0.2: - resolution: {integrity: sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=} + /path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} dev: true - /path-key/2.0.1: - resolution: {integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=} + /path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} engines: {node: '>=4'} dev: true - /path-parse/1.0.6: + /path-parse@1.0.6: resolution: {integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==} dev: true - /path-to-regexp/0.1.7: - resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} + /path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: true - /path-type/3.0.0: + /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: true - /pbkdf2/3.1.1: + /pbkdf2@3.1.1: resolution: {integrity: sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==} engines: {node: '>=0.12'} dependencies: @@ -5523,72 +6278,79 @@ packages: sha.js: 2.4.11 dev: true - /performance-now/2.1.0: - resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=} + /performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} dev: true - /picomatch/2.2.2: + /picomatch@2.2.2: resolution: {integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==} engines: {node: '>=8.6'} + requiresBuild: true dev: true - optional: true - /pify/2.3.0: - resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} dev: true - /pify/3.0.0: - resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} + /pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} dev: true - /pify/4.0.1: + /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} dev: true - /pinkie-promise/2.0.1: - resolution: {integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=} + /pinkie-promise@2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} engines: {node: '>=0.10.0'} dependencies: pinkie: 2.0.4 dev: true - /pinkie/2.0.4: - resolution: {integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=} + /pinkie@2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} engines: {node: '>=0.10.0'} dev: true - /pkg-dir/3.0.0: + /pkg-dir@3.0.0: resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} engines: {node: '>=6'} dependencies: find-up: 3.0.0 dev: true - /pkg-dir/4.2.0: + /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true - /portfinder/1.0.28: + /portfinder@1.0.28(supports-color@6.1.0): resolution: {integrity: sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==} engines: {node: '>= 0.12.0'} dependencies: async: 2.6.3 - debug: 3.2.7 + debug: 3.2.7(supports-color@6.1.0) mkdirp: 0.5.5 + transitivePeerDependencies: + - supports-color dev: true - /posix-character-classes/0.1.1: - resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=} + /posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} engines: {node: '>=0.10.0'} dev: true - /postcss-calc/7.0.5: + /postcss-calc@7.0.5: resolution: {integrity: sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==} dependencies: postcss: 7.0.35 @@ -5596,7 +6358,7 @@ packages: postcss-value-parser: 4.1.0 dev: true - /postcss-colormin/4.0.3: + /postcss-colormin@4.0.3: resolution: {integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==} engines: {node: '>=6.9.0'} dependencies: @@ -5607,7 +6369,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-convert-values/4.0.1: + /postcss-convert-values@4.0.1: resolution: {integrity: sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==} engines: {node: '>=6.9.0'} dependencies: @@ -5615,35 +6377,35 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-discard-comments/4.0.2: + /postcss-discard-comments@4.0.2: resolution: {integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.35 dev: true - /postcss-discard-duplicates/4.0.2: + /postcss-discard-duplicates@4.0.2: resolution: {integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.35 dev: true - /postcss-discard-empty/4.0.1: + /postcss-discard-empty@4.0.1: resolution: {integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.35 dev: true - /postcss-discard-overridden/4.0.1: + /postcss-discard-overridden@4.0.1: resolution: {integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.35 dev: true - /postcss-load-config/2.1.2: + /postcss-load-config@2.1.2: resolution: {integrity: sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==} engines: {node: '>= 4'} dependencies: @@ -5651,7 +6413,7 @@ packages: import-cwd: 2.1.0 dev: true - /postcss-loader/3.0.0: + /postcss-loader@3.0.0: resolution: {integrity: sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==} engines: {node: '>= 6'} dependencies: @@ -5661,7 +6423,7 @@ packages: schema-utils: 1.0.0 dev: true - /postcss-merge-longhand/4.0.11: + /postcss-merge-longhand@4.0.11: resolution: {integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==} engines: {node: '>=6.9.0'} dependencies: @@ -5671,7 +6433,7 @@ packages: stylehacks: 4.0.3 dev: true - /postcss-merge-rules/4.0.3: + /postcss-merge-rules@4.0.3: resolution: {integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==} engines: {node: '>=6.9.0'} dependencies: @@ -5683,7 +6445,7 @@ packages: vendors: 1.0.4 dev: true - /postcss-minify-font-values/4.0.2: + /postcss-minify-font-values@4.0.2: resolution: {integrity: sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==} engines: {node: '>=6.9.0'} dependencies: @@ -5691,7 +6453,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-minify-gradients/4.0.2: + /postcss-minify-gradients@4.0.2: resolution: {integrity: sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==} engines: {node: '>=6.9.0'} dependencies: @@ -5701,7 +6463,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-minify-params/4.0.2: + /postcss-minify-params@4.0.2: resolution: {integrity: sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==} engines: {node: '>=6.9.0'} dependencies: @@ -5713,7 +6475,7 @@ packages: uniqs: 2.0.0 dev: true - /postcss-minify-selectors/4.0.2: + /postcss-minify-selectors@4.0.2: resolution: {integrity: sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==} engines: {node: '>=6.9.0'} dependencies: @@ -5723,14 +6485,14 @@ packages: postcss-selector-parser: 3.1.2 dev: true - /postcss-modules-extract-imports/2.0.0: + /postcss-modules-extract-imports@2.0.0: resolution: {integrity: sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==} engines: {node: '>= 6'} dependencies: postcss: 7.0.35 dev: true - /postcss-modules-local-by-default/2.0.6: + /postcss-modules-local-by-default@2.0.6: resolution: {integrity: sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==} engines: {node: '>= 6'} dependencies: @@ -5739,7 +6501,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-modules-scope/2.2.0: + /postcss-modules-scope@2.2.0: resolution: {integrity: sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==} engines: {node: '>= 6'} dependencies: @@ -5747,21 +6509,21 @@ packages: postcss-selector-parser: 6.0.4 dev: true - /postcss-modules-values/2.0.0: + /postcss-modules-values@2.0.0: resolution: {integrity: sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==} dependencies: icss-replace-symbols: 1.1.0 postcss: 7.0.35 dev: true - /postcss-normalize-charset/4.0.1: + /postcss-normalize-charset@4.0.1: resolution: {integrity: sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==} engines: {node: '>=6.9.0'} dependencies: postcss: 7.0.35 dev: true - /postcss-normalize-display-values/4.0.2: + /postcss-normalize-display-values@4.0.2: resolution: {integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==} engines: {node: '>=6.9.0'} dependencies: @@ -5770,7 +6532,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-positions/4.0.2: + /postcss-normalize-positions@4.0.2: resolution: {integrity: sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==} engines: {node: '>=6.9.0'} dependencies: @@ -5780,7 +6542,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-repeat-style/4.0.2: + /postcss-normalize-repeat-style@4.0.2: resolution: {integrity: sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==} engines: {node: '>=6.9.0'} dependencies: @@ -5790,7 +6552,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-string/4.0.2: + /postcss-normalize-string@4.0.2: resolution: {integrity: sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==} engines: {node: '>=6.9.0'} dependencies: @@ -5799,7 +6561,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-timing-functions/4.0.2: + /postcss-normalize-timing-functions@4.0.2: resolution: {integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==} engines: {node: '>=6.9.0'} dependencies: @@ -5808,7 +6570,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-unicode/4.0.1: + /postcss-normalize-unicode@4.0.1: resolution: {integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==} engines: {node: '>=6.9.0'} dependencies: @@ -5817,7 +6579,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-url/4.0.1: + /postcss-normalize-url@4.0.1: resolution: {integrity: sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==} engines: {node: '>=6.9.0'} dependencies: @@ -5827,7 +6589,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-normalize-whitespace/4.0.2: + /postcss-normalize-whitespace@4.0.2: resolution: {integrity: sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==} engines: {node: '>=6.9.0'} dependencies: @@ -5835,7 +6597,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-ordered-values/4.1.2: + /postcss-ordered-values@4.1.2: resolution: {integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==} engines: {node: '>=6.9.0'} dependencies: @@ -5844,7 +6606,7 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-reduce-initial/4.0.3: + /postcss-reduce-initial@4.0.3: resolution: {integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==} engines: {node: '>=6.9.0'} dependencies: @@ -5854,7 +6616,7 @@ packages: postcss: 7.0.35 dev: true - /postcss-reduce-transforms/4.0.2: + /postcss-reduce-transforms@4.0.2: resolution: {integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==} engines: {node: '>=6.9.0'} dependencies: @@ -5864,14 +6626,14 @@ packages: postcss-value-parser: 3.3.1 dev: true - /postcss-safe-parser/4.0.2: + /postcss-safe-parser@4.0.2: resolution: {integrity: sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==} engines: {node: '>=6.0.0'} dependencies: postcss: 7.0.35 dev: true - /postcss-selector-parser/3.1.2: + /postcss-selector-parser@3.1.2: resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} engines: {node: '>=8'} dependencies: @@ -5880,7 +6642,7 @@ packages: uniq: 1.0.1 dev: true - /postcss-selector-parser/6.0.4: + /postcss-selector-parser@6.0.4: resolution: {integrity: sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==} engines: {node: '>=4'} dependencies: @@ -5890,7 +6652,7 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-svgo/4.0.2: + /postcss-svgo@4.0.2: resolution: {integrity: sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==} engines: {node: '>=6.9.0'} dependencies: @@ -5900,7 +6662,7 @@ packages: svgo: 1.3.2 dev: true - /postcss-unique-selectors/4.0.1: + /postcss-unique-selectors@4.0.1: resolution: {integrity: sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==} engines: {node: '>=6.9.0'} dependencies: @@ -5909,15 +6671,15 @@ packages: uniqs: 2.0.0 dev: true - /postcss-value-parser/3.3.1: + /postcss-value-parser@3.3.1: resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} dev: true - /postcss-value-parser/4.1.0: + /postcss-value-parser@4.1.0: resolution: {integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==} dev: true - /postcss/7.0.35: + /postcss@7.0.35: resolution: {integrity: sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==} engines: {node: '>=6.0.0'} dependencies: @@ -5926,50 +6688,58 @@ packages: supports-color: 6.1.0 dev: true - /prepend-http/2.0.0: - resolution: {integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=} + /prepend-http@2.0.0: + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} engines: {node: '>=4'} dev: true - /prettier/1.19.1: + /prettier@1.19.1: resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} engines: {node: '>=4'} hasBin: true + requiresBuild: true dev: true optional: true - /pretty-error/2.1.2: + /pretty-error@2.1.2: resolution: {integrity: sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==} dependencies: lodash: 4.17.20 renderkid: 2.0.5 dev: true - /pretty-time/1.1.0: + /pretty-time@1.1.0: resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} engines: {node: '>=4'} dev: true - /prismjs/1.23.0: + /prismjs@1.23.0: resolution: {integrity: sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==} optionalDependencies: clipboard: 2.0.6 dev: true - /process-nextick-args/2.0.1: + /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true - /process/0.11.10: - resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=} + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} dev: true - /promise-inflight/1.0.1: - resolution: {integrity: sha1-mEcocL8igTL8vdhoEputEsPAKeM=} + /promise-inflight@1.0.1(bluebird@3.7.2): + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + dependencies: + bluebird: 3.7.2 dev: true - /proxy-addr/2.0.6: + /proxy-addr@2.0.6: resolution: {integrity: sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==} engines: {node: '>= 0.10'} dependencies: @@ -5977,19 +6747,19 @@ packages: ipaddr.js: 1.9.1 dev: true - /prr/1.0.1: - resolution: {integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY=} + /prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true - /pseudomap/1.0.2: - resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} + /pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true - /psl/1.8.0: + /psl@1.8.0: resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} dev: true - /public-encrypt/4.0.3: + /public-encrypt@4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} dependencies: bn.js: 4.11.9 @@ -6000,21 +6770,21 @@ packages: safe-buffer: 5.2.1 dev: true - /pump/2.0.1: + /pump@2.0.1: resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true - /pump/3.0.0: + /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true - /pumpify/1.5.1: + /pumpify@1.5.1: resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} dependencies: duplexify: 3.7.1 @@ -6022,42 +6792,42 @@ packages: pump: 2.0.1 dev: true - /punycode/1.3.2: - resolution: {integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=} + /punycode@1.3.2: + resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} dev: true - /punycode/1.4.1: - resolution: {integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4=} + /punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: true - /punycode/2.1.1: + /punycode@2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} dev: true - /pupa/2.1.1: + /pupa@2.1.1: resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} engines: {node: '>=8'} dependencies: escape-goat: 2.1.1 dev: true - /q/1.5.1: - resolution: {integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=} + /q@1.5.1: + resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} dev: true - /qs/6.5.2: + /qs@6.5.2: resolution: {integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==} engines: {node: '>=0.6'} dev: true - /qs/6.7.0: + /qs@6.7.0: resolution: {integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==} engines: {node: '>=0.6'} dev: true - /query-string/5.1.1: + /query-string@5.1.1: resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} engines: {node: '>=0.10.0'} dependencies: @@ -6066,39 +6836,40 @@ packages: strict-uri-encode: 1.1.0 dev: true - /querystring-es3/0.2.1: - resolution: {integrity: sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=} + /querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} engines: {node: '>=0.4.x'} dev: true - /querystring/0.2.0: - resolution: {integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=} + /querystring@0.2.0: + resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. dev: true - /querystringify/2.2.0: + /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} dev: true - /randombytes/2.1.0: + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: true - /randomfill/1.0.4: + /randomfill@1.0.4: resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1 dev: true - /range-parser/1.2.1: + /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} dev: true - /raw-body/2.4.0: + /raw-body@2.4.0: resolution: {integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==} engines: {node: '>= 0.8'} dependencies: @@ -6108,7 +6879,7 @@ packages: unpipe: 1.0.0 dev: true - /rc/1.2.8: + /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true dependencies: @@ -6118,7 +6889,7 @@ packages: strip-json-comments: 2.0.1 dev: true - /readable-stream/2.3.7: + /readable-stream@2.3.7: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: core-util-is: 1.0.2 @@ -6130,7 +6901,7 @@ packages: util-deprecate: 1.0.2 dev: true - /readable-stream/3.6.0: + /readable-stream@3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} engines: {node: '>= 6'} dependencies: @@ -6139,51 +6910,54 @@ packages: util-deprecate: 1.0.2 dev: true - /readdirp/2.2.1: + /readdirp@2.2.1(supports-color@6.1.0): resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} engines: {node: '>=0.10'} dependencies: graceful-fs: 4.2.4 - micromatch: 3.1.10 + micromatch: 3.1.10(supports-color@6.1.0) readable-stream: 2.3.7 + transitivePeerDependencies: + - supports-color dev: true - /readdirp/3.5.0: + /readdirp@3.5.0: resolution: {integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==} engines: {node: '>=8.10.0'} + requiresBuild: true dependencies: picomatch: 2.2.2 dev: true optional: true - /reduce/1.0.2: + /reduce@1.0.2: resolution: {integrity: sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==} dependencies: object-keys: 1.1.1 dev: true - /regenerate-unicode-properties/8.2.0: + /regenerate-unicode-properties@8.2.0: resolution: {integrity: sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 dev: true - /regenerate/1.4.2: + /regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: true - /regenerator-runtime/0.13.7: + /regenerator-runtime@0.13.7: resolution: {integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==} dev: true - /regenerator-transform/0.14.5: + /regenerator-transform@0.14.5: resolution: {integrity: sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==} dependencies: '@babel/runtime': 7.12.5 dev: true - /regex-not/1.0.2: + /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} dependencies: @@ -6191,7 +6965,7 @@ packages: safe-regex: 1.1.0 dev: true - /regexp.prototype.flags/1.3.1: + /regexp.prototype.flags@1.3.1: resolution: {integrity: sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==} engines: {node: '>= 0.4'} dependencies: @@ -6199,7 +6973,7 @@ packages: define-properties: 1.1.3 dev: true - /regexpu-core/4.7.1: + /regexpu-core@4.7.1: resolution: {integrity: sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==} engines: {node: '>=4'} dependencies: @@ -6211,41 +6985,41 @@ packages: unicode-match-property-value-ecmascript: 1.2.0 dev: true - /registry-auth-token/4.2.1: + /registry-auth-token@4.2.1: resolution: {integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==} engines: {node: '>=6.0.0'} dependencies: rc: 1.2.8 dev: true - /registry-url/5.1.0: + /registry-url@5.1.0: resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} engines: {node: '>=8'} dependencies: rc: 1.2.8 dev: true - /regjsgen/0.5.2: + /regjsgen@0.5.2: resolution: {integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==} dev: true - /regjsparser/0.6.6: + /regjsparser@0.6.6: resolution: {integrity: sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==} hasBin: true dependencies: jsesc: 0.5.0 dev: true - /relateurl/0.2.7: - resolution: {integrity: sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=} + /relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} dev: true - /remove-trailing-separator/1.1.0: - resolution: {integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8=} + /remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: true - /renderkid/2.0.5: + /renderkid@2.0.5: resolution: {integrity: sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==} dependencies: css-select: 2.1.0 @@ -6255,17 +7029,17 @@ packages: strip-ansi: 3.0.1 dev: true - /repeat-element/1.1.3: + /repeat-element@1.1.3: resolution: {integrity: sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==} engines: {node: '>=0.10.0'} dev: true - /repeat-string/1.6.1: - resolution: {integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=} + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} dev: true - /request/2.88.2: + /request@2.88.2: resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} engines: {node: '>= 6'} deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 @@ -6292,128 +7066,128 @@ packages: uuid: 3.4.0 dev: true - /require-directory/2.1.1: - resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} dev: true - /require-main-filename/2.0.0: + /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true - /requires-port/1.0.0: - resolution: {integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=} + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: true - /resolve-cwd/2.0.0: - resolution: {integrity: sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=} + /resolve-cwd@2.0.0: + resolution: {integrity: sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==} engines: {node: '>=4'} dependencies: resolve-from: 3.0.0 dev: true - /resolve-from/3.0.0: - resolution: {integrity: sha1-six699nWiBvItuZTM17rywoYh0g=} + /resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} engines: {node: '>=4'} dev: true - /resolve-url/0.2.1: - resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=} + /resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} deprecated: https://github.com/lydell/resolve-url#deprecated dev: true - /resolve/1.19.0: + /resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: is-core-module: 2.2.0 path-parse: 1.0.6 dev: true - /responselike/1.0.2: - resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=} + /responselike@1.0.2: + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} dependencies: lowercase-keys: 1.0.1 dev: true - /ret/0.1.15: + /ret@0.1.15: resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} engines: {node: '>=0.12'} dev: true - /retry/0.12.0: - resolution: {integrity: sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=} + /retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} dev: true - /rgb-regex/1.0.1: - resolution: {integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE=} + /rgb-regex@1.0.1: + resolution: {integrity: sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==} dev: true - /rgba-regex/1.0.0: - resolution: {integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=} + /rgba-regex@1.0.0: + resolution: {integrity: sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==} dev: true - /rimraf/2.7.1: + /rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} hasBin: true dependencies: glob: 7.1.6 dev: true - /ripemd160/2.0.2: + /ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true - /run-queue/1.0.3: - resolution: {integrity: sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=} + /run-queue@1.0.3: + resolution: {integrity: sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==} dependencies: aproba: 1.2.0 dev: true - /safe-buffer/5.1.2: + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true - /safe-buffer/5.2.1: + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safe-regex/1.1.0: - resolution: {integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=} + /safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} dependencies: ret: 0.1.15 dev: true - /safer-buffer/2.1.2: + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sax/1.2.4: + /sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} dev: true - /schema-utils/1.0.0: + /schema-utils@1.0.0: resolution: {integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==} engines: {node: '>= 4'} dependencies: ajv: 6.12.6 - ajv-errors: 1.0.1_ajv@6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 + ajv-errors: 1.0.1(ajv@6.12.6) + ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /schema-utils/2.7.1: + /schema-utils@2.7.1: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} engines: {node: '>= 8.9.0'} dependencies: '@types/json-schema': 7.0.7 ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /section-matter/1.0.0: + /section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} dependencies: @@ -6421,48 +7195,49 @@ packages: kind-of: 6.0.3 dev: true - /select-hose/2.0.0: - resolution: {integrity: sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=} + /select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} dev: true - /select/1.1.2: - resolution: {integrity: sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=} + /select@1.1.2: + resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==} + requiresBuild: true dev: true optional: true - /selfsigned/1.10.8: + /selfsigned@1.10.8: resolution: {integrity: sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==} dependencies: node-forge: 0.10.0 dev: true - /semver-diff/3.1.1: + /semver-diff@3.1.1: resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} engines: {node: '>=8'} dependencies: semver: 6.3.0 dev: true - /semver/5.7.1: + /semver@5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true dev: true - /semver/6.3.0: + /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true dev: true - /semver/7.0.0: + /semver@7.0.0: resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} hasBin: true dev: true - /send/0.17.1: + /send@0.17.1(supports-color@6.1.0): resolution: {integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==} engines: {node: '>= 0.8.0'} dependencies: - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) depd: 1.1.2 destroy: 1.0.4 encodeurl: 1.0.2 @@ -6475,48 +7250,54 @@ packages: on-finished: 2.3.0 range-parser: 1.2.1 statuses: 1.5.0 + transitivePeerDependencies: + - supports-color dev: true - /serialize-javascript/3.1.0: + /serialize-javascript@3.1.0: resolution: {integrity: sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==} dependencies: randombytes: 2.1.0 dev: true - /serialize-javascript/4.0.0: + /serialize-javascript@4.0.0: resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} dependencies: randombytes: 2.1.0 dev: true - /serve-index/1.9.1: - resolution: {integrity: sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=} + /serve-index@1.9.1(supports-color@6.1.0): + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} engines: {node: '>= 0.8.0'} dependencies: accepts: 1.3.7 batch: 0.6.1 - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) escape-html: 1.0.3 http-errors: 1.6.3 mime-types: 2.1.28 parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color dev: true - /serve-static/1.14.1: + /serve-static@1.14.1(supports-color@6.1.0): resolution: {integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==} engines: {node: '>= 0.8.0'} dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.17.1 + send: 0.17.1(supports-color@6.1.0) + transitivePeerDependencies: + - supports-color dev: true - /set-blocking/2.0.0: - resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true - /set-value/2.0.1: + /set-value@2.0.1: resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} engines: {node: '>=0.10.0'} dependencies: @@ -6526,19 +7307,19 @@ packages: split-string: 3.1.0 dev: true - /setimmediate/1.0.5: - resolution: {integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=} + /setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: true - /setprototypeof/1.1.0: + /setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} dev: true - /setprototypeof/1.1.1: + /setprototypeof@1.1.1: resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} dev: true - /sha.js/2.4.11: + /sha.js@2.4.11: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true dependencies: @@ -6546,43 +7327,43 @@ packages: safe-buffer: 5.2.1 dev: true - /shebang-command/1.2.0: - resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=} + /shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} dependencies: shebang-regex: 1.0.0 dev: true - /shebang-regex/1.0.0: - resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=} + /shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} engines: {node: '>=0.10.0'} dev: true - /signal-exit/3.0.3: + /signal-exit@3.0.3: resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==} dev: true - /simple-swizzle/0.2.2: - resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=} + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: is-arrayish: 0.3.2 dev: true - /slash/1.0.0: - resolution: {integrity: sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=} + /slash@1.0.0: + resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==} engines: {node: '>=0.10.0'} dev: true - /slash/2.0.0: + /slash@2.0.0: resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} engines: {node: '>=6'} dev: true - /smoothscroll-polyfill/0.4.4: + /smoothscroll-polyfill@0.4.4: resolution: {integrity: sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==} dev: true - /snapdragon-node/2.1.1: + /snapdragon-node@2.1.1: resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} engines: {node: '>=0.10.0'} dependencies: @@ -6591,39 +7372,43 @@ packages: snapdragon-util: 3.0.1 dev: true - /snapdragon-util/3.0.1: + /snapdragon-util@3.0.1: resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true - /snapdragon/0.8.2: + /snapdragon@0.8.2(supports-color@6.1.0): resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} engines: {node: '>=0.10.0'} dependencies: base: 0.11.2 - debug: 2.6.9 + debug: 2.6.9(supports-color@6.1.0) define-property: 0.2.5 extend-shallow: 2.0.1 map-cache: 0.2.2 source-map: 0.5.7 source-map-resolve: 0.5.3 use: 3.1.1 + transitivePeerDependencies: + - supports-color dev: true - /sockjs-client/1.5.0: + /sockjs-client@1.5.0(supports-color@6.1.0): resolution: {integrity: sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==} dependencies: - debug: 3.2.7 + debug: 3.2.7(supports-color@6.1.0) eventsource: 1.0.7 faye-websocket: 0.11.3 inherits: 2.0.4 json3: 3.3.3 url-parse: 1.4.7 + transitivePeerDependencies: + - supports-color dev: true - /sockjs/0.3.21: + /sockjs@0.3.21: resolution: {integrity: sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==} dependencies: faye-websocket: 0.11.3 @@ -6631,19 +7416,20 @@ packages: websocket-driver: 0.7.4 dev: true - /sort-keys/2.0.0: - resolution: {integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=} + /sort-keys@2.0.0: + resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} engines: {node: '>=4'} dependencies: is-plain-obj: 1.1.0 dev: true - /source-list-map/2.0.1: + /source-list-map@2.0.1: resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} dev: true - /source-map-resolve/0.5.3: + /source-map-resolve@0.5.3: resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated dependencies: atob: 2.1.2 decode-uri-component: 0.2.0 @@ -6652,41 +7438,42 @@ packages: urix: 0.1.0 dev: true - /source-map-support/0.5.19: + /source-map-support@0.5.19: resolution: {integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==} dependencies: buffer-from: 1.1.1 source-map: 0.6.1 dev: true - /source-map-url/0.4.0: - resolution: {integrity: sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=} + /source-map-url@0.4.0: + resolution: {integrity: sha512-liJwHPI9x9d9w5WSIjM58MqGmmb7XzNqwdUA3kSBQ4lmDngexlKwawGzK3J1mKXi6+sysoMDlpVyZh9sv5vRfw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated dev: true - /source-map/0.5.6: - resolution: {integrity: sha1-dc449SvwczxafwwRjYEzSiu19BI=} + /source-map@0.5.6: + resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} engines: {node: '>=0.10.0'} dev: true - /source-map/0.5.7: - resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} dev: true - /source-map/0.6.1: + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} dev: true - /source-map/0.7.3: + /source-map@0.7.3: resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} engines: {node: '>= 8'} dev: true - /spdy-transport/3.0.0_supports-color@6.1.0: + /spdy-transport@3.0.0(supports-color@6.1.0): resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} dependencies: - debug: 4.3.1_supports-color@6.1.0 + debug: 4.3.1(supports-color@6.1.0) detect-node: 2.0.4 hpack.js: 2.1.6 obuf: 1.1.2 @@ -6696,31 +7483,31 @@ packages: - supports-color dev: true - /spdy/4.0.2_supports-color@6.1.0: + /spdy@4.0.2(supports-color@6.1.0): resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} dependencies: - debug: 4.3.1_supports-color@6.1.0 + debug: 4.3.1(supports-color@6.1.0) handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 - spdy-transport: 3.0.0_supports-color@6.1.0 + spdy-transport: 3.0.0(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: true - /split-string/3.1.0: + /split-string@3.1.0: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} engines: {node: '>=0.10.0'} dependencies: extend-shallow: 3.0.2 dev: true - /sprintf-js/1.0.3: - resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /sshpk/1.16.1: + /sshpk@1.16.1: resolution: {integrity: sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==} engines: {node: '>=0.10.0'} hasBin: true @@ -6736,57 +7523,58 @@ packages: tweetnacl: 0.14.5 dev: true - /ssri/6.0.1: + /ssri@6.0.1: resolution: {integrity: sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==} dependencies: figgy-pudding: 3.5.2 dev: true - /stable/0.1.8: + /stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' dev: true - /stack-utils/1.0.4: + /stack-utils@1.0.4: resolution: {integrity: sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==} engines: {node: '>=8'} dependencies: escape-string-regexp: 2.0.0 dev: true - /static-extend/0.1.2: - resolution: {integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=} + /static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} engines: {node: '>=0.10.0'} dependencies: define-property: 0.2.5 object-copy: 0.1.0 dev: true - /statuses/1.5.0: - resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} dev: true - /std-env/2.2.1: + /std-env@2.2.1: resolution: {integrity: sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ==} dependencies: ci-info: 1.6.0 dev: true - /stream-browserify/2.0.2: + /stream-browserify@2.0.2: resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} dependencies: inherits: 2.0.4 readable-stream: 2.3.7 dev: true - /stream-each/1.2.3: + /stream-each@1.2.3: resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} dependencies: end-of-stream: 1.4.4 stream-shift: 1.0.1 dev: true - /stream-http/2.8.3: + /stream-http@2.8.3: resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} dependencies: builtin-status-codes: 3.0.0 @@ -6796,16 +7584,16 @@ packages: xtend: 4.0.2 dev: true - /stream-shift/1.0.1: + /stream-shift@1.0.1: resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} dev: true - /strict-uri-encode/1.1.0: - resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=} + /strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} engines: {node: '>=0.10.0'} dev: true - /string-width/3.1.0: + /string-width@3.1.0: resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} engines: {node: '>=6'} dependencies: @@ -6814,7 +7602,7 @@ packages: strip-ansi: 5.2.0 dev: true - /string-width/4.2.0: + /string-width@4.2.0: resolution: {integrity: sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==} engines: {node: '>=8'} dependencies: @@ -6823,69 +7611,69 @@ packages: strip-ansi: 6.0.0 dev: true - /string.prototype.trimend/1.0.3: + /string.prototype.trimend@1.0.3: resolution: {integrity: sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 dev: true - /string.prototype.trimstart/1.0.3: + /string.prototype.trimstart@1.0.3: resolution: {integrity: sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==} dependencies: call-bind: 1.0.2 define-properties: 1.1.3 dev: true - /string_decoder/1.1.1: + /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 dev: true - /string_decoder/1.3.0: + /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 dev: true - /strip-ansi/3.0.1: - resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=} + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 dev: true - /strip-ansi/5.2.0: + /strip-ansi@5.2.0: resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} engines: {node: '>=6'} dependencies: ansi-regex: 4.1.0 dev: true - /strip-ansi/6.0.0: + /strip-ansi@6.0.0: resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} engines: {node: '>=8'} dependencies: ansi-regex: 5.0.0 dev: true - /strip-bom-string/1.0.0: - resolution: {integrity: sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=} + /strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} engines: {node: '>=0.10.0'} dev: true - /strip-eof/1.0.0: - resolution: {integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=} + /strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} engines: {node: '>=0.10.0'} dev: true - /strip-json-comments/2.0.1: - resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} dev: true - /stylehacks/4.0.3: + /stylehacks@4.0.3: resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==} engines: {node: '>=6.9.0'} dependencies: @@ -6894,7 +7682,7 @@ packages: postcss-selector-parser: 3.1.2 dev: true - /stylus-loader/3.0.2_stylus@0.54.8: + /stylus-loader@3.0.2(stylus@0.54.8): resolution: {integrity: sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==} peerDependencies: stylus: '>=0.52.4' @@ -6905,7 +7693,7 @@ packages: when: 3.6.4 dev: true - /stylus/0.54.8: + /stylus@0.54.8: resolution: {integrity: sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==} hasBin: true dependencies: @@ -6917,41 +7705,44 @@ packages: sax: 1.2.4 semver: 6.3.0 source-map: 0.7.3 + transitivePeerDependencies: + - supports-color dev: true - /supports-color/2.0.0: - resolution: {integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=} + /supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} engines: {node: '>=0.8.0'} dev: true - /supports-color/5.5.0: + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 dev: true - /supports-color/6.1.0: + /supports-color@6.1.0: resolution: {integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==} engines: {node: '>=6'} dependencies: has-flag: 3.0.0 dev: true - /supports-color/7.2.0: + /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 dev: true - /svg-tags/1.0.0: - resolution: {integrity: sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=} + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: true - /svgo/1.3.2: + /svgo@1.3.2: resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} engines: {node: '>=4.0.0'} + deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. hasBin: true dependencies: chalk: 2.4.2 @@ -6969,17 +7760,17 @@ packages: util.promisify: 1.0.1 dev: true - /tapable/1.1.3: + /tapable@1.1.3: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} dev: true - /term-size/2.2.1: + /term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} dev: true - /terser-webpack-plugin/1.4.5_webpack@4.46.0: + /terser-webpack-plugin@1.4.5(webpack@4.46.0): resolution: {integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -6997,93 +7788,95 @@ packages: worker-farm: 1.7.0 dev: true - /terser/4.8.0: + /terser@4.8.0: resolution: {integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: + acorn: 8.11.2 commander: 2.20.3 source-map: 0.6.1 source-map-support: 0.5.19 dev: true - /text-table/0.2.0: - resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} - dev: true - - /through/2.3.8: - resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /through2/2.0.5: + /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: readable-stream: 2.3.7 xtend: 4.0.2 dev: true - /thunky/1.1.0: + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /thunky@1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} dev: true - /timers-browserify/2.0.12: + /timers-browserify@2.0.12: resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} engines: {node: '>=0.6.0'} dependencies: setimmediate: 1.0.5 dev: true - /timsort/0.3.0: - resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} + /timsort@0.3.0: + resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==} dev: true - /tiny-emitter/2.1.0: + /tiny-emitter@2.1.0: resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} + requiresBuild: true dev: true optional: true - /to-arraybuffer/1.0.1: - resolution: {integrity: sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=} + /to-arraybuffer@1.0.1: + resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==} dev: true - /to-factory/1.0.0: - resolution: {integrity: sha1-hzivi9lxIK0dQEeXKtpVY7+UebE=} + /to-factory@1.0.0: + resolution: {integrity: sha512-JVYrY42wMG7ddf+wBUQR/uHGbjUHZbLisJ8N62AMm0iTZ0p8YTcZLzdtomU0+H+wa99VbkyvQGB3zxB7NDzgIQ==} dev: true - /to-fast-properties/2.0.0: - resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} dev: true - /to-object-path/0.3.0: - resolution: {integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=} + /to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} engines: {node: '>=0.10.0'} dependencies: kind-of: 3.2.2 dev: true - /to-readable-stream/1.0.0: + /to-readable-stream@1.0.0: resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} engines: {node: '>=6'} dev: true - /to-regex-range/2.1.1: - resolution: {integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=} + /to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} engines: {node: '>=0.10.0'} dependencies: is-number: 3.0.0 repeat-string: 1.6.1 dev: true - /to-regex-range/5.0.1: + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + requiresBuild: true dependencies: is-number: 7.0.0 dev: true - optional: true - /to-regex/3.0.2: + /to-regex@3.0.2: resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} engines: {node: '>=0.10.0'} dependencies: @@ -7093,20 +7886,20 @@ packages: safe-regex: 1.1.0 dev: true - /toidentifier/1.0.0: + /toidentifier@1.0.0: resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} engines: {node: '>=0.6'} dev: true - /toml/3.0.0: + /toml@3.0.0: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: true - /toposort/1.0.7: - resolution: {integrity: sha1-LmhELZ9k7HILjMieZEOsbKqVACk=} + /toposort@1.0.7: + resolution: {integrity: sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==} dev: true - /tough-cookie/2.5.0: + /tough-cookie@2.5.0: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} engines: {node: '>=0.8'} dependencies: @@ -7114,35 +7907,35 @@ packages: punycode: 2.1.1 dev: true - /tslib/1.14.1: + /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tty-browserify/0.0.0: - resolution: {integrity: sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=} + /tty-browserify@0.0.0: + resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} dev: true - /tunnel-agent/0.6.0: - resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=} + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true - /tweetnacl/0.14.5: - resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} + /tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} dev: true - /type-fest/0.11.0: + /type-fest@0.11.0: resolution: {integrity: sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==} engines: {node: '>=8'} dev: true - /type-fest/0.8.1: + /type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} dev: true - /type-is/1.6.18: + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} dependencies: @@ -7150,21 +7943,21 @@ packages: mime-types: 2.1.28 dev: true - /typedarray-to-buffer/3.1.5: + /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: is-typedarray: 1.0.0 dev: true - /typedarray/0.0.6: - resolution: {integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=} + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /uc.micro/1.0.6: + /uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true - /uglify-js/3.4.10: + /uglify-js@3.4.10: resolution: {integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==} engines: {node: '>=0.8.0'} hasBin: true @@ -7173,12 +7966,12 @@ packages: source-map: 0.6.1 dev: true - /unicode-canonical-property-names-ecmascript/1.0.4: + /unicode-canonical-property-names-ecmascript@1.0.4: resolution: {integrity: sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==} engines: {node: '>=4'} dev: true - /unicode-match-property-ecmascript/1.0.4: + /unicode-match-property-ecmascript@1.0.4: resolution: {integrity: sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==} engines: {node: '>=4'} dependencies: @@ -7186,17 +7979,17 @@ packages: unicode-property-aliases-ecmascript: 1.1.0 dev: true - /unicode-match-property-value-ecmascript/1.2.0: + /unicode-match-property-value-ecmascript@1.2.0: resolution: {integrity: sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==} engines: {node: '>=4'} dev: true - /unicode-property-aliases-ecmascript/1.1.0: + /unicode-property-aliases-ecmascript@1.1.0: resolution: {integrity: sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==} engines: {node: '>=4'} dev: true - /union-value/1.0.1: + /union-value@1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} engines: {node: '>=0.10.0'} dependencies: @@ -7206,61 +7999,61 @@ packages: set-value: 2.0.1 dev: true - /uniq/1.0.1: - resolution: {integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=} + /uniq@1.0.1: + resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} dev: true - /uniqs/2.0.0: - resolution: {integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI=} + /uniqs@2.0.0: + resolution: {integrity: sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==} dev: true - /unique-filename/1.1.1: + /unique-filename@1.1.1: resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} dependencies: unique-slug: 2.0.2 dev: true - /unique-slug/2.0.2: + /unique-slug@2.0.2: resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} dependencies: imurmurhash: 0.1.4 dev: true - /unique-string/2.0.0: + /unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} dependencies: crypto-random-string: 2.0.0 dev: true - /universalify/0.1.2: + /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} dev: true - /unpipe/1.0.0: - resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} dev: true - /unquote/1.1.1: - resolution: {integrity: sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=} + /unquote@1.1.1: + resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} dev: true - /unset-value/1.0.0: - resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=} + /unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} engines: {node: '>=0.10.0'} dependencies: has-value: 0.3.1 isobject: 3.0.1 dev: true - /upath/1.2.0: + /upath@1.2.0: resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} dev: true - /update-notifier/4.1.3: + /update-notifier@4.1.3: resolution: {integrity: sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==} engines: {node: '>=8'} dependencies: @@ -7279,22 +8072,22 @@ packages: xdg-basedir: 4.0.0 dev: true - /upper-case/1.1.3: - resolution: {integrity: sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=} + /upper-case@1.1.3: + resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} dev: true - /uri-js/4.4.1: + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.1.1 dev: true - /urix/0.1.0: - resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=} + /urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} deprecated: Please see https://github.com/lydell/urix#deprecated dev: true - /url-loader/1.1.2_webpack@4.46.0: + /url-loader@1.1.2(webpack@4.46.0): resolution: {integrity: sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -7306,44 +8099,44 @@ packages: webpack: 4.46.0 dev: true - /url-parse-lax/3.0.0: - resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=} + /url-parse-lax@3.0.0: + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} engines: {node: '>=4'} dependencies: prepend-http: 2.0.0 dev: true - /url-parse/1.4.7: + /url-parse@1.4.7: resolution: {integrity: sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==} dependencies: querystringify: 2.2.0 requires-port: 1.0.0 dev: true - /url/0.11.0: - resolution: {integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=} + /url@0.11.0: + resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==} dependencies: punycode: 1.3.2 querystring: 0.2.0 dev: true - /use/3.1.1: + /use@3.1.1: resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} engines: {node: '>=0.10.0'} dev: true - /util-deprecate/1.0.2: - resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /util.promisify/1.0.0: + /util.promisify@1.0.0: resolution: {integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==} dependencies: define-properties: 1.1.3 object.getownpropertydescriptors: 2.1.1 dev: true - /util.promisify/1.0.1: + /util.promisify@1.0.1: resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} dependencies: define-properties: 1.1.3 @@ -7352,43 +8145,44 @@ packages: object.getownpropertydescriptors: 2.1.1 dev: true - /util/0.10.3: - resolution: {integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk=} + /util@0.10.3: + resolution: {integrity: sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==} dependencies: inherits: 2.0.1 dev: true - /util/0.11.1: + /util@0.11.1: resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} dependencies: inherits: 2.0.3 dev: true - /utila/0.4.0: - resolution: {integrity: sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=} + /utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} dev: true - /utils-merge/1.0.1: - resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} dev: true - /uuid/3.4.0: + /uuid@3.4.0: resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true dev: true - /vary/1.1.2: - resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} dev: true - /vendors/1.0.4: + /vendors@1.0.4: resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==} dev: true - /verror/1.10.0: - resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=} + /verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} dependencies: assert-plus: 1.0.0 @@ -7396,43 +8190,104 @@ packages: extsprintf: 1.3.0 dev: true - /vm-browserify/1.1.2: + /vm-browserify@1.1.2: resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} dev: true - /vue-hot-reload-api/2.3.4: + /vue-hot-reload-api@2.3.4: resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==} dev: true - /vue-loader/15.9.6_cdfaccc535dd293eec52a3fbf989b5e0: + /vue-loader@15.9.6(cache-loader@3.0.1)(css-loader@2.1.1)(vue-template-compiler@2.6.12)(webpack@4.46.0): resolution: {integrity: sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==} peerDependencies: + '@vue/compiler-sfc': ^3.0.8 cache-loader: '*' css-loader: '*' vue-template-compiler: '*' webpack: ^3.0.0 || ^4.1.0 || ^5.0.0-0 peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true cache-loader: optional: true vue-template-compiler: optional: true dependencies: '@vue/component-compiler-utils': 3.2.0 - cache-loader: 3.0.1_webpack@4.46.0 - css-loader: 2.1.1_webpack@4.46.0 + cache-loader: 3.0.1(webpack@4.46.0) + css-loader: 2.1.1(webpack@4.46.0) hash-sum: 1.0.2 loader-utils: 1.4.0 vue-hot-reload-api: 2.3.4 vue-style-loader: 4.1.2 vue-template-compiler: 2.6.12 webpack: 4.46.0 - dev: true - - /vue-router/3.4.9: + transitivePeerDependencies: + - arc-templates + - atpl + - babel-core + - bracket-template + - coffee-script + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - vash + - velocityjs + - walrus + - whiskers + dev: true + + /vue-router@3.4.9(vue@2.6.12): resolution: {integrity: sha512-CGAKWN44RqXW06oC+u4mPgHLQQi2t6vLD/JbGRDAXm0YpMv0bgpKuU5bBd7AvMgfTz9kXVRIWKHqRwGEb8xFkA==} + peerDependencies: + vue: ^2 + dependencies: + vue: 2.6.12 dev: true - /vue-server-renderer/2.6.12: + /vue-server-renderer@2.6.12: resolution: {integrity: sha512-3LODaOsnQx7iMFTBLjki8xSyOxhCtbZ+nQie0wWY4iOVeEtTg1a3YQAjd82WvKxrWHHTshjvLb7OXMc2/dYuxw==} dependencies: chalk: 1.1.3 @@ -7445,29 +8300,29 @@ packages: source-map: 0.5.6 dev: true - /vue-style-loader/4.1.2: + /vue-style-loader@4.1.2: resolution: {integrity: sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==} dependencies: hash-sum: 1.0.2 loader-utils: 1.4.0 dev: true - /vue-template-compiler/2.6.12: + /vue-template-compiler@2.6.12: resolution: {integrity: sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==} dependencies: de-indent: 1.0.2 he: 1.2.0 dev: true - /vue-template-es2015-compiler/1.9.1: + /vue-template-es2015-compiler@1.9.1: resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==} dev: true - /vue/2.6.12: + /vue@2.6.12: resolution: {integrity: sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==} dev: true - /vuepress-html-webpack-plugin/3.2.0_webpack@4.46.0: + /vuepress-html-webpack-plugin@3.2.0(webpack@4.46.0): resolution: {integrity: sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A==} engines: {node: '>=6.9'} peerDependencies: @@ -7483,45 +8338,108 @@ packages: webpack: 4.46.0 dev: true - /vuepress-plugin-container/2.1.5: + /vuepress-plugin-container@2.1.5: resolution: {integrity: sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA==} dependencies: - '@vuepress/shared-utils': 1.8.0 + '@vuepress/shared-utils': 1.9.10 markdown-it-container: 2.0.0 + transitivePeerDependencies: + - supports-color dev: true - /vuepress-plugin-smooth-scroll/0.0.3: + /vuepress-plugin-smooth-scroll@0.0.3: resolution: {integrity: sha512-qsQkDftLVFLe8BiviIHaLV0Ea38YLZKKonDGsNQy1IE0wllFpFIEldWD8frWZtDFdx6b/O3KDMgVQ0qp5NjJCg==} dependencies: smoothscroll-polyfill: 0.4.4 dev: true - /vuepress/1.8.0: - resolution: {integrity: sha512-YvNitvoEc+JSJRv1W+IoRnvOTFyTWyUMuGuF2kTIbiSwIHb1hNinc3lqNSeBQJy7IBqyEzK5fnTq1mlynh4gwA==} + /vuepress@1.9.10: + resolution: {integrity: sha512-UnGm9vjQvG918SZVNvgiUlNimLqawdYPq0aPRXDpEB1VksvqegVFy/GKdA8ShXJaEpOMPSt7YD4uK21jaMs3kA==} engines: {node: '>=8.6'} hasBin: true requiresBuild: true dependencies: - '@vuepress/core': 1.8.0 - '@vuepress/theme-default': 1.8.0 + '@vuepress/core': 1.9.10 + '@vuepress/theme-default': 1.9.10 + '@vuepress/types': 1.9.10 cac: 6.7.1 envinfo: 7.7.3 opencollective-postinstall: 2.0.3 update-notifier: 4.1.3 transitivePeerDependencies: + - '@vue/compiler-sfc' + - arc-templates + - atpl + - babel-core + - bracket-template + - bufferutil + - coffee-script + - debug + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly - supports-color + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - utf-8-validate + - vash + - velocityjs + - walrus - webpack-cli - webpack-command + - whiskers dev: true - /watchpack-chokidar2/2.0.1: + /watchpack-chokidar2@2.0.1: resolution: {integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==} + requiresBuild: true dependencies: - chokidar: 2.1.8 + chokidar: 2.1.8(supports-color@6.1.0) + transitivePeerDependencies: + - supports-color dev: true optional: true - /watchpack/1.7.5: + /watchpack@1.7.5: resolution: {integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==} dependencies: graceful-fs: 4.2.4 @@ -7529,22 +8447,24 @@ packages: optionalDependencies: chokidar: 3.5.1 watchpack-chokidar2: 2.0.1 + transitivePeerDependencies: + - supports-color dev: true - /wbuf/1.7.3: + /wbuf@1.7.3: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} dependencies: minimalistic-assert: 1.0.1 dev: true - /webpack-chain/4.12.1: + /webpack-chain@4.12.1: resolution: {integrity: sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==} dependencies: deepmerge: 1.5.2 javascript-stringify: 1.6.0 dev: true - /webpack-chain/6.5.1: + /webpack-chain@6.5.1: resolution: {integrity: sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==} engines: {node: '>=8'} dependencies: @@ -7552,7 +8472,7 @@ packages: javascript-stringify: 2.0.1 dev: true - /webpack-dev-middleware/3.7.3_webpack@4.46.0: + /webpack-dev-middleware@3.7.3(webpack@4.46.0): resolution: {integrity: sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==} engines: {node: '>= 6'} peerDependencies: @@ -7566,7 +8486,7 @@ packages: webpack-log: 2.0.0 dev: true - /webpack-dev-server/3.11.2_webpack@4.46.0: + /webpack-dev-server@3.11.2(webpack@4.46.0): resolution: {integrity: sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==} engines: {node: '>= 6.11.5'} hasBin: true @@ -7579,14 +8499,14 @@ packages: dependencies: ansi-html: 0.0.7 bonjour: 3.5.0 - chokidar: 2.1.8 - compression: 1.7.4 + chokidar: 2.1.8(supports-color@6.1.0) + compression: 1.7.4(supports-color@6.1.0) connect-history-api-fallback: 1.6.0 - debug: 4.3.1_supports-color@6.1.0 + debug: 4.3.1(supports-color@6.1.0) del: 4.1.1 - express: 4.17.1 + express: 4.17.1(supports-color@6.1.0) html-entities: 1.4.0 - http-proxy-middleware: 0.19.1_debug@4.3.1 + http-proxy-middleware: 0.19.1(debug@4.3.1)(supports-color@6.1.0) import-local: 2.0.0 internal-ip: 4.3.0 ip: 1.1.5 @@ -7595,25 +8515,28 @@ packages: loglevel: 1.7.1 opn: 5.5.0 p-retry: 3.0.1 - portfinder: 1.0.28 + portfinder: 1.0.28(supports-color@6.1.0) schema-utils: 1.0.0 selfsigned: 1.10.8 semver: 6.3.0 - serve-index: 1.9.1 + serve-index: 1.9.1(supports-color@6.1.0) sockjs: 0.3.21 - sockjs-client: 1.5.0 - spdy: 4.0.2_supports-color@6.1.0 + sockjs-client: 1.5.0(supports-color@6.1.0) + spdy: 4.0.2(supports-color@6.1.0) strip-ansi: 3.0.1 supports-color: 6.1.0 url: 0.11.0 webpack: 4.46.0 - webpack-dev-middleware: 3.7.3_webpack@4.46.0 + webpack-dev-middleware: 3.7.3(webpack@4.46.0) webpack-log: 2.0.0 ws: 6.2.1 yargs: 13.3.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate dev: true - /webpack-log/2.0.0: + /webpack-log@2.0.0: resolution: {integrity: sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==} engines: {node: '>= 6'} dependencies: @@ -7621,20 +8544,20 @@ packages: uuid: 3.4.0 dev: true - /webpack-merge/4.2.2: + /webpack-merge@4.2.2: resolution: {integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==} dependencies: lodash: 4.17.20 dev: true - /webpack-sources/1.4.3: + /webpack-sources@1.4.3: resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} dependencies: source-list-map: 2.0.1 source-map: 0.6.1 dev: true - /webpack/4.46.0: + /webpack@4.46.0: resolution: {integrity: sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==} engines: {node: '>=6.11.5'} hasBin: true @@ -7653,7 +8576,7 @@ packages: '@webassemblyjs/wasm-parser': 1.9.0 acorn: 6.4.2 ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) chrome-trace-event: 1.0.2 enhanced-resolve: 4.5.0 eslint-scope: 4.0.3 @@ -7661,18 +8584,20 @@ packages: loader-runner: 2.4.0 loader-utils: 1.4.0 memory-fs: 0.4.1 - micromatch: 3.1.10 + micromatch: 3.1.10(supports-color@6.1.0) mkdirp: 0.5.5 neo-async: 2.6.2 node-libs-browser: 2.2.1 schema-utils: 1.0.0 tapable: 1.1.3 - terser-webpack-plugin: 1.4.5_webpack@4.46.0 + terser-webpack-plugin: 1.4.5(webpack@4.46.0) watchpack: 1.7.5 webpack-sources: 1.4.3 + transitivePeerDependencies: + - supports-color dev: true - /webpackbar/3.2.0_webpack@4.46.0: + /webpackbar@3.2.0(webpack@4.46.0): resolution: {integrity: sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==} engines: {node: '>= 6.9.0'} peerDependencies: @@ -7689,7 +8614,7 @@ packages: wrap-ansi: 5.1.0 dev: true - /websocket-driver/0.7.4: + /websocket-driver@0.7.4: resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} engines: {node: '>=0.8.0'} dependencies: @@ -7698,40 +8623,40 @@ packages: websocket-extensions: 0.1.4 dev: true - /websocket-extensions/0.1.4: + /websocket-extensions@0.1.4: resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} engines: {node: '>=0.8.0'} dev: true - /when/3.6.4: - resolution: {integrity: sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=} + /when@3.6.4: + resolution: {integrity: sha512-d1VUP9F96w664lKINMGeElWdhhb5sC+thXM+ydZGU3ZnaE09Wv6FaS+mpM9570kcDs/xMfcXJBTLsMdHEFYY9Q==} dev: true - /which-module/2.0.0: - resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} + /which-module@2.0.0: + resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} dev: true - /which/1.3.1: + /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true dependencies: isexe: 2.0.0 dev: true - /widest-line/3.1.0: + /widest-line@3.1.0: resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} engines: {node: '>=8'} dependencies: string-width: 4.2.0 dev: true - /worker-farm/1.7.0: + /worker-farm@1.7.0: resolution: {integrity: sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==} dependencies: errno: 0.1.8 dev: true - /wrap-ansi/5.1.0: + /wrap-ansi@5.1.0: resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} engines: {node: '>=6'} dependencies: @@ -7740,11 +8665,11 @@ packages: strip-ansi: 5.2.0 dev: true - /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /write-file-atomic/3.0.3: + /write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} dependencies: imurmurhash: 0.1.4 @@ -7753,42 +8678,50 @@ packages: typedarray-to-buffer: 3.1.5 dev: true - /ws/6.2.1: + /ws@6.2.1: resolution: {integrity: sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true dependencies: async-limiter: 1.0.1 dev: true - /xdg-basedir/4.0.0: + /xdg-basedir@4.0.0: resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} engines: {node: '>=8'} dev: true - /xtend/4.0.2: + /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} dev: true - /y18n/4.0.1: + /y18n@4.0.1: resolution: {integrity: sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==} dev: true - /yallist/2.1.2: - resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=} + /yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: true - /yallist/3.1.1: + /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: true - /yargs-parser/13.1.2: + /yargs-parser@13.1.2: resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true - /yargs/13.3.2: + /yargs@13.3.2: resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} dependencies: cliui: 5.0.0 @@ -7803,6 +8736,6 @@ packages: yargs-parser: 13.1.2 dev: true - /zepto/1.2.0: - resolution: {integrity: sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=} + /zepto@1.2.0: + resolution: {integrity: sha512-C1x6lfvBICFTQIMgbt3JqMOno3VOtkWat/xEakLTOurskYIHPmzJrzd1e8BnmtdDVJlGuk5D+FxyCA8MPmkIyA==} dev: true diff --git a/apps/game-server/.eslintrc.js b/apps/game-server/.eslintrc.js deleted file mode 100644 index 63cad1b4..00000000 --- a/apps/game-server/.eslintrc.js +++ /dev/null @@ -1,31 +0,0 @@ -module.exports = { - env: { - browser: true, - es2021: true, - }, - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - parser: "@typescript-eslint/parser", - parserOptions: { - ecmaVersion: 12, - sourceType: "module", - project: "./tsconfig.json", - }, - plugins: ["@typescript-eslint"], - rules: { - "@typescript-eslint/ban-ts-comment": "off", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/no-floating-promises": "error", - "@typescript-eslint/no-non-null-assertion": "off", - "no-constant-condition": ["error", { checkLoops: false }], - "no-empty": "off", - }, - overrides: [ - { - files: ["*.spec.ts"], - rules: { - "@typescript-eslint/no-floating-promises": "off", - }, - }, - ], -}; diff --git a/apps/game-server/app/config/db.ts b/apps/game-server/app/config/db.ts index bfe53504..10984884 100644 --- a/apps/game-server/app/config/db.ts +++ b/apps/game-server/app/config/db.ts @@ -1,23 +1,21 @@ -import locks from "mongo-locks"; -import mongoose from "mongoose"; +import { LockManager } from "mongo-locks"; import env from "./env"; +import { MongoClient } from "mongodb"; +import { createApiErrorCollection, createChatMessageCollection, createGameCollection } from "@bgs/models"; -const connect = () => - mongoose - .connect(env.database.bgs.url, { dbName: env.database.bgs.name, directConnection: true }) - .then(() => console.log("successfully connected to database")); +const client = new MongoClient(env.database.bgs.url, { directConnection: true, ignoreUndefined: true }); -connect().catch((err) => { - console.error(err); +await client.connect().catch((err) => { + console.error("Failed to connect to database", err); + process.exit(1); }); -mongoose.connection.on("error", (err) => { - console.error(err); -}); +const db = client.db(env.database.bgs.name); -mongoose.connection.on("disconnected", () => { - console.log("attempt to reconnect to database"); - setTimeout(() => connect().catch(console.error), 5000); -}); +export const collections = { + apiErrors: await createApiErrorCollection(db), + chatMessages: await createChatMessageCollection(db), + games: await createGameCollection(db), +}; -locks.init(mongoose.connection); +export const locks = new LockManager(db.collection("mongo-locks")); diff --git a/apps/game-server/app/config/env.ts b/apps/game-server/app/config/env.ts index 3512c78c..8416157f 100644 --- a/apps/game-server/app/config/env.ts +++ b/apps/game-server/app/config/env.ts @@ -33,7 +33,7 @@ export default { }, }, isProduction: process.env.NODE_ENV === "production", - threads: process.env.threads || os.cpus().length, + threads: isNaN(parseInt(process.env.threads)) ? os.cpus().length : parseInt(process.env.threads), seedEncryptionKey: process.env.seedEncryptionKey || "hashing key for seed", cron: process.env.cron || process.env.chron || false, }; diff --git a/apps/game-server/app/models/apierror.ts b/apps/game-server/app/models/apierror.ts deleted file mode 100644 index 99457016..00000000 --- a/apps/game-server/app/models/apierror.ts +++ /dev/null @@ -1,6 +0,0 @@ -import makeSchema from "@bgs/models/api-error"; -import mongoose from "mongoose"; - -const ApiError = mongoose.model("ApiError", makeSchema()); - -export default ApiError; diff --git a/apps/game-server/app/models/game.ts b/apps/game-server/app/models/game.ts index 80c332ac..82b89981 100644 --- a/apps/game-server/app/models/game.ts +++ b/apps/game-server/app/models/game.ts @@ -1,17 +1,7 @@ import makeSchema from "@bgs/models/game"; -import type { IAbstractGame } from "@bgs/types"; -import mongoose, { Types } from "mongoose"; +import type { Game } from "@bgs/types"; const schema = makeSchema<GameDocument>(); -export interface GameDocument extends mongoose.Document, IAbstractGame<Types.ObjectId> { - _id: string; -} - -schema.pre("save", async function (this: GameDocument) { - if (this.modifiedPaths().includes("data")) { - this.data = JSON.parse(JSON.stringify(this.data)); - } -}); const Game = mongoose.model("Game", schema); diff --git a/apps/game-server/app/routes/gameplay.ts b/apps/game-server/app/routes/gameplay.ts index ca4a9a9b..07d85fd5 100644 --- a/apps/game-server/app/routes/gameplay.ts +++ b/apps/game-server/app/routes/gameplay.ts @@ -85,10 +85,7 @@ router.post("/:gameId/move", loggedIn, async (ctx) => { return; } - assert( - game.currentPlayers?.some((pl) => pl._id.equals(ctx.state.user.id)), - "It's not your turn to play." - ); + assert(game.currentPlayers?.some((pl) => pl._id.equals(ctx.state.user.id)), "It's not your turn to play."); const engine = await getEngine(game.game.name, game.game.version); diff --git a/apps/game-server/app/services/cron.ts b/apps/game-server/app/services/cron.ts index 59e44496..0cc2eebf 100644 --- a/apps/game-server/app/services/cron.ts +++ b/apps/game-server/app/services/cron.ts @@ -16,7 +16,9 @@ async function installGames() { async function startGames() { while (1) { - while (await startNextGame()) {} + while (await startNextGame()) { + // + } await delay(1000); } diff --git a/apps/game-server/app/services/game.ts b/apps/game-server/app/services/game.ts index 21a92843..1c75659e 100644 --- a/apps/game-server/app/services/game.ts +++ b/apps/game-server/app/services/game.ts @@ -1,20 +1,27 @@ import { deadline, elapsedSeconds } from "@bgs/utils/time"; import assert from "assert"; import crypto from "crypto"; -import locks from "mongo-locks"; import env from "../config/env"; -import ChatMessage from "../models/chatmessage"; -import Game, { GameDocument } from "../models/game"; -import GameNotification, { GameNotificationDocument } from "../models/gamenotification"; +import type { GameDocument } from "../models/game"; +import Game from "../models/game"; +import type { GameNotificationDocument } from "../models/gamenotification"; +import GameNotification from "../models/gamenotification"; import type { Engine, GameData } from "../types/engine"; import { getEngine } from "./engines"; +import { collections, locks } from "app/config/db"; +import { ObjectId } from "mongodb"; export async function handleMessages(engine: Engine, gameId: string, gameData: GameData): Promise<GameData> { if (engine.messages) { const ret = engine.messages(gameData); for (const message of ret.messages) { - await ChatMessage.create({ room: gameId, type: "system", data: { text: message } }); + await collections.chatMessages.insertOne({ + _id: new ObjectId(), + room: gameId, + type: "system", + data: { text: message }, + }); } return ret.data; @@ -23,12 +30,16 @@ export async function handleMessages(engine: Engine, gameId: string, gameData: G return gameData; } -export async function addMessage(gameId: string, message: string) { - await ChatMessage.create({ room: gameId, type: "system", data: { text: message } }); +export async function addMessage(gameId: string, message: string): Promise<void> { + await collections.chatMessages.insertOne({ + _id: new ObjectId(), + room: gameId, + type: "system", + data: { text: message }, + }); } export async function startNextGame(): Promise<boolean> { - let free = locks.noop; try { const notification = await GameNotification.findOne({ kind: "gameStarted", processed: false }); @@ -36,7 +47,11 @@ export async function startNextGame(): Promise<boolean> { return false; } - free = await locks.lock("game", notification.game); + await using lock = await locks.lock(["game", notification.game]); + + if (!lock) { + return false; + } const game = await Game.findById(notification.game); @@ -105,46 +120,48 @@ export async function startNextGame(): Promise<boolean> { } catch (err) { console.error(err); return false; - } finally { - free().catch(console.error); } } -export async function processQuit(notification: GameNotificationDocument) { - let free = locks.noop; - try { - free = await locks.lock("game", notification.game); +export async function processQuit(notification: GameNotificationDocument): Promise<boolean> { + await using lock = await locks.lock(["game", notification.game]); - const game = await Game.findById(notification.game); + if (!lock) { + return false; + } - if (!game || game.status !== "active") { - // Something happened, not ready to start - await notification.update({ processed: true }); - return true; - } + const game = await Game.findById(notification.game); - const player = game.players.find((pl) => pl._id.equals(notification.user)); + if (!game || game.status !== "active") { + // Something happened, not ready to start + await notification.update({ processed: true }); + return true; + } - if (!player || player.dropped || player.quit) { - await notification.update({ processed: true }); - return true; - } + const player = game.players.find((pl) => pl._id.equals(notification.user)); - const engine = await getEngine(game.game.name, game.game.version); + if (!player || player.dropped || player.quit) { + await notification.update({ processed: true }); + return true; + } - let gameData = game.data; + const engine = await getEngine(game.game.name, game.game.version); - gameData = await engine.dropPlayer( - gameData, - game.players.findIndex((pl) => pl._id.equals(player._id)) - ); - if (notification.kind === "playerQuit") { - player.quit = true; - } else { - player.dropped = true; - } + let gameData = game.data; - ChatMessage.create({ + gameData = await engine.dropPlayer( + gameData, + game.players.findIndex((pl) => pl._id.equals(player._id)) + ); + if (notification.kind === "playerQuit") { + player.quit = true; + } else { + player.dropped = true; + } + + collections.chatMessages + .insertOne({ + _id: new ObjectId(), room: game._id, type: "system", data: { @@ -153,31 +170,26 @@ export async function processQuit(notification: GameNotificationDocument) { ? `${player.name} quit the game` : `${player.name} was dropped from the game`, }, - }).catch(console.error); + }) + .catch(console.error); - if (engine.toSave) { - gameData = engine.toSave(gameData); - } + if (engine.toSave) { + gameData = engine.toSave(gameData); + } - if (gameData) { - await afterMove(engine, game, gameData); + if (gameData) { + await afterMove(engine, game, gameData); - // Here to only trigger if the game is saved - if (notification.kind === "dropPlayer") { - GameNotification.create({ kind: "playerDrop", game: notification.game, user: notification.user }).catch( - console.error - ); - } + // Here to only trigger if the game is saved + if (notification.kind === "dropPlayer") { + GameNotification.create({ kind: "playerDrop", game: notification.game, user: notification.user }).catch( + console.error + ); } - await notification.update({ processed: true }); - - return true; - } catch (err) { - console.error(err); - return false; - } finally { - free().catch(console.error); } + await notification.update({ processed: true }); + + return true; } export async function afterMove(engine: Engine, game: GameDocument, gameData: GameData, alreadyEnded = false) { diff --git a/apps/game-server/package.json b/apps/game-server/package.json index b9ec318e..1d45ed34 100644 --- a/apps/game-server/package.json +++ b/apps/game-server/package.json @@ -1,22 +1,23 @@ { + "packageManager": "pnpm@8.10.5", "name": "@bgs/game-server", "version": "1.0.0", "main": "server.ts", "license": "AGPL-3.0", "private": true, + "type": "module", "scripts": { - "batch-replay": "ts-node -T -r tsconfig-paths/register scripts/batch-replay.ts", - "dev": "ts-node-dev -T -r tsconfig-paths/register server.ts", + "batch-replay": "ts-node -T scripts/batch-replay.ts", + "dev": "ts-node-dev -T server.ts", "lint": "eslint server.ts app/**/*.{js,ts,tsx} --fix", "lint-check": "eslint server.ts app/**/*.{js,ts,tsx} --max-warnings 0", - "start": "ts-node -T -r tsconfig-paths/register server.ts || npm start", - "test": "mocha -r ts-node/register app/**/*.spec.ts app/*.spec.ts", - "tsc": "tsc --noEmit" + "start": "ts-node -T server.ts || npm start", + "type-check": "tsc --noEmit" }, "dependencies": { "@bgs/models": "workspace:*", - "@bgs/utils": "workspace:*", "@bgs/types": "workspace:*", + "@bgs/utils": "workspace:*", "decache": "^4.6.0", "dotenv": "^8.2.0", "fs-extra": "^9.0.0", @@ -28,11 +29,10 @@ "koa-morgan": "^1.0.1", "koa-router": "^8.0.8", "lodash": "^4.17.15", - "mongo-locks": "^2.0.0", - "mongoose": "^6.0.3" + "mongo-locks": "^3.0.1", + "mongodb": "^6.5.0" }, "devDependencies": { - "@types/chai": "^4.2.11", "@types/fs-extra": "^8.1.0", "@types/http-errors": "^1.6.3", "@types/jsonwebtoken": "^8.3.9", @@ -43,17 +43,6 @@ "@types/koa-router": "^7.4.0", "@types/lodash": "^4.14.150", "@types/luxon": "^1.25.1", - "@types/mocha": "^7.0.2", - "@types/node": "^13.13.4", - "@typescript-eslint/eslint-plugin": "^4.14.0", - "@typescript-eslint/parser": "^4.14.0", - "chai": "^4.2.0", - "eslint": "^7.18.0", - "luxon": "^1.25.0", - "mocha": "^7.1.2", - "ts-node": "^10.4.0", - "ts-node-dev": "^1.1.8", - "tsconfig-paths": "^3.12.0", - "typescript": "^4.5.5" + "luxon": "^1.25.0" } } diff --git a/apps/game-server/pnpm-lock.yaml b/apps/game-server/pnpm-lock.yaml index 47fc03f8..fd46ff46 100644 --- a/apps/game-server/pnpm-lock.yaml +++ b/apps/game-server/pnpm-lock.yaml @@ -1,204 +1,126 @@ -lockfileVersion: 5.3 - -specifiers: - '@bgs/models': workspace:* - '@bgs/types': workspace:* - '@bgs/utils': workspace:* - '@types/chai': ^4.2.11 - '@types/fs-extra': ^8.1.0 - '@types/http-errors': ^1.6.3 - '@types/jsonwebtoken': ^8.3.9 - '@types/koa': ^2.11.3 - '@types/koa-bodyparser': ^4.3.0 - '@types/koa-compress': ^2.0.9 - '@types/koa-morgan': ^1.0.4 - '@types/koa-router': ^7.4.0 - '@types/lodash': ^4.14.150 - '@types/luxon': ^1.25.1 - '@types/mocha': ^7.0.2 - '@types/node': ^13.13.4 - '@typescript-eslint/eslint-plugin': ^4.14.0 - '@typescript-eslint/parser': ^4.14.0 - chai: ^4.2.0 - decache: ^4.6.0 - dotenv: ^8.2.0 - eslint: ^7.18.0 - fs-extra: ^9.0.0 - http-errors: ^1.7.3 - jsonwebtoken: ^8.5.1 - koa: ^2.11.0 - koa-bodyparser: ^4.3.0 - koa-compress: ^4.0.0 - koa-morgan: ^1.0.1 - koa-router: ^8.0.8 - lodash: ^4.17.15 - luxon: ^1.25.0 - mocha: ^7.1.2 - mongo-locks: ^2.0.0 - mongoose: ^6.0.3 - ts-node: ^10.4.0 - ts-node-dev: ^1.1.8 - tsconfig-paths: ^3.12.0 - typescript: ^4.5.5 +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false dependencies: - '@bgs/models': link:../../packages/models - '@bgs/types': link:../../packages/types - '@bgs/utils': link:../../packages/utils - decache: 4.6.0 - dotenv: 8.2.0 - fs-extra: 9.1.0 - http-errors: 1.8.0 - jsonwebtoken: 8.5.1 - koa: 2.13.1 - koa-bodyparser: 4.3.0 - koa-compress: 4.0.1 - koa-morgan: 1.0.1 - koa-router: 8.0.8 - lodash: 4.17.20 - mongo-locks: 2.0.0_mongoose@6.0.3 - mongoose: 6.0.3 + '@bgs/models': + specifier: workspace:* + version: link:../../packages/models + '@bgs/types': + specifier: workspace:* + version: link:../../packages/types + '@bgs/utils': + specifier: workspace:* + version: link:../../packages/utils + decache: + specifier: ^4.6.0 + version: 4.6.0 + dotenv: + specifier: ^8.2.0 + version: 8.2.0 + fs-extra: + specifier: ^9.0.0 + version: 9.1.0 + http-errors: + specifier: ^1.7.3 + version: 1.8.0 + jsonwebtoken: + specifier: ^8.5.1 + version: 8.5.1 + koa: + specifier: ^2.11.0 + version: 2.13.1 + koa-bodyparser: + specifier: ^4.3.0 + version: 4.3.0 + koa-compress: + specifier: ^4.0.0 + version: 4.0.1 + koa-morgan: + specifier: ^1.0.1 + version: 1.0.1 + koa-router: + specifier: ^8.0.8 + version: 8.0.8 + lodash: + specifier: ^4.17.15 + version: 4.17.20 + mongo-locks: + specifier: ^3.0.1 + version: 3.0.1(mongodb@6.5.0) + mongodb: + specifier: ^6.5.0 + version: 6.5.0 devDependencies: - '@types/chai': 4.2.14 - '@types/fs-extra': 8.1.1 - '@types/http-errors': 1.8.0 - '@types/jsonwebtoken': 8.5.0 - '@types/koa': 2.11.6 - '@types/koa-bodyparser': 4.3.0 - '@types/koa-compress': 2.0.9 - '@types/koa-morgan': 1.0.4 - '@types/koa-router': 7.4.1 - '@types/lodash': 4.14.168 - '@types/luxon': 1.25.1 - '@types/mocha': 7.0.2 - '@types/node': 13.13.40 - '@typescript-eslint/eslint-plugin': 4.14.0_55d04256dec390818dfecbf7ec76c765 - '@typescript-eslint/parser': 4.14.0_eslint@7.18.0+typescript@4.5.5 - chai: 4.2.0 - eslint: 7.18.0 - luxon: 1.25.0 - mocha: 7.2.0 - ts-node: 10.4.0_00b9008703accb2bb5af089524de17b9 - ts-node-dev: 1.1.8_typescript@4.5.5 - tsconfig-paths: 3.12.0 - typescript: 4.5.5 + '@types/fs-extra': + specifier: ^8.1.0 + version: 8.1.1 + '@types/http-errors': + specifier: ^1.6.3 + version: 1.8.0 + '@types/jsonwebtoken': + specifier: ^8.3.9 + version: 8.5.0 + '@types/koa': + specifier: ^2.11.3 + version: 2.11.6 + '@types/koa-bodyparser': + specifier: ^4.3.0 + version: 4.3.0 + '@types/koa-compress': + specifier: ^2.0.9 + version: 2.0.9 + '@types/koa-morgan': + specifier: ^1.0.4 + version: 1.0.4 + '@types/koa-router': + specifier: ^7.4.0 + version: 7.4.1 + '@types/lodash': + specifier: ^4.14.150 + version: 4.14.168 + '@types/luxon': + specifier: ^1.25.1 + version: 1.25.1 + luxon: + specifier: ^1.25.0 + version: 1.25.0 packages: - /@babel/code-frame/7.12.11: - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} - dependencies: - '@babel/highlight': 7.10.4 - dev: true - - /@babel/helper-validator-identifier/7.12.11: - resolution: {integrity: sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==} - dev: true - - /@babel/highlight/7.10.4: - resolution: {integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==} - dependencies: - '@babel/helper-validator-identifier': 7.12.11 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - - /@cspotcode/source-map-consumer/0.8.0: - resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==} - engines: {node: '>= 12'} - dev: true - - /@cspotcode/source-map-support/0.7.0: - resolution: {integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==} - engines: {node: '>=12'} - dependencies: - '@cspotcode/source-map-consumer': 0.8.0 - dev: true - - /@eslint/eslintrc/0.3.0: - resolution: {integrity: sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.1 - espree: 7.3.1 - globals: 12.4.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - js-yaml: 3.14.1 - lodash: 4.17.20 - minimatch: 3.0.4 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@nodelib/fs.scandir/2.1.4: - resolution: {integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.4 - run-parallel: 1.1.10 - dev: true - - /@nodelib/fs.stat/2.0.4: - resolution: {integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk/1.2.6: - resolution: {integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==} - engines: {node: '>= 8'} + /@mongodb-js/saslprep@1.1.5: + resolution: {integrity: sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==} dependencies: - '@nodelib/fs.scandir': 2.1.4 - fastq: 1.10.0 - dev: true - - /@tsconfig/node10/1.0.8: - resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} - dev: true - - /@tsconfig/node12/1.0.9: - resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} - dev: true - - /@tsconfig/node14/1.0.1: - resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} - dev: true - - /@tsconfig/node16/1.0.2: - resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} - dev: true + sparse-bitfield: 3.0.3 + dev: false - /@types/accepts/1.3.5: + /@types/accepts@1.3.5: resolution: {integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==} dependencies: '@types/node': 13.13.40 dev: true - /@types/body-parser/1.19.0: + /@types/body-parser@1.19.0: resolution: {integrity: sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==} dependencies: '@types/connect': 3.4.34 '@types/node': 13.13.40 dev: true - /@types/chai/4.2.14: - resolution: {integrity: sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ==} - dev: true - - /@types/connect/3.4.34: + /@types/connect@3.4.34: resolution: {integrity: sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==} dependencies: '@types/node': 13.13.40 dev: true - /@types/content-disposition/0.5.3: + /@types/content-disposition@0.5.3: resolution: {integrity: sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg==} dev: true - /@types/cookies/0.7.6: + /@types/cookies@0.7.6: resolution: {integrity: sha512-FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w==} dependencies: '@types/connect': 3.4.34 @@ -207,7 +129,7 @@ packages: '@types/node': 13.13.40 dev: true - /@types/express-serve-static-core/4.17.18: + /@types/express-serve-static-core@4.17.18: resolution: {integrity: sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==} dependencies: '@types/node': 13.13.40 @@ -215,7 +137,7 @@ packages: '@types/range-parser': 1.2.3 dev: true - /@types/express/4.17.11: + /@types/express@4.17.11: resolution: {integrity: sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==} dependencies: '@types/body-parser': 1.19.0 @@ -224,71 +146,63 @@ packages: '@types/serve-static': 1.13.9 dev: true - /@types/fs-extra/8.1.1: + /@types/fs-extra@8.1.1: resolution: {integrity: sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w==} dependencies: '@types/node': 13.13.40 dev: true - /@types/http-assert/1.5.1: + /@types/http-assert@1.5.1: resolution: {integrity: sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==} dev: true - /@types/http-errors/1.8.0: + /@types/http-errors@1.8.0: resolution: {integrity: sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA==} dev: true - /@types/json-schema/7.0.7: - resolution: {integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==} - dev: true - - /@types/json5/0.0.29: - resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} - dev: true - - /@types/jsonwebtoken/8.5.0: + /@types/jsonwebtoken@8.5.0: resolution: {integrity: sha512-9bVao7LvyorRGZCw0VmH/dr7Og+NdjYSsKAxB43OQoComFbBgsEpoR9JW6+qSq/ogwVBg8GI2MfAlk4SYI4OLg==} dependencies: '@types/node': 13.13.40 dev: true - /@types/keygrip/1.0.2: + /@types/keygrip@1.0.2: resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==} dev: true - /@types/koa-bodyparser/4.3.0: + /@types/koa-bodyparser@4.3.0: resolution: {integrity: sha512-aB/vwwq4G9FAtKzqZ2p8UHTscXxZvICFKVjuckqxCtkX1Ro7F5KHkTCUqTRZFBgDoEkmeca+bFLI1bIsdPPZTA==} dependencies: '@types/koa': 2.11.6 dev: true - /@types/koa-compose/3.2.5: + /@types/koa-compose@3.2.5: resolution: {integrity: sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==} dependencies: '@types/koa': 2.11.6 dev: true - /@types/koa-compress/2.0.9: + /@types/koa-compress@2.0.9: resolution: {integrity: sha512-1Sa9OsbHd2N2N7gLpdIRHe8W99EZbfIR31D7Iisx16XgwZCnWUtGXzXQejhu74Y1pE/wILqBP6VL49ch/MVpZw==} dependencies: '@types/koa': 2.11.6 '@types/node': 13.13.40 dev: true - /@types/koa-morgan/1.0.4: + /@types/koa-morgan@1.0.4: resolution: {integrity: sha512-XtZu6La4TopP6ZlCGNqg0hTsBAwbTP2tMb93cuDdE285WofP/Ould/tFwSvSHEr0Dxger2P+ovI1uvF3XZev8Q==} dependencies: '@types/koa': 2.11.6 '@types/morgan': 1.9.2 dev: true - /@types/koa-router/7.4.1: + /@types/koa-router@7.4.1: resolution: {integrity: sha512-Hg78TXz78QYfEgdq3nTeRmQFEwJKZljsXb/DhtexmyrpRDRnl59oMglh9uPj3/WgKor0woANrYTnxA8gaWGK2A==} dependencies: '@types/koa': 2.11.6 dev: true - /@types/koa/2.11.6: + /@types/koa@2.11.6: resolution: {integrity: sha512-BhyrMj06eQkk04C97fovEDQMpLpd2IxCB4ecitaXwOKGq78Wi2tooaDOWOFGajPk8IkQOAtMppApgSVkYe1F/A==} dependencies: '@types/accepts': 1.3.5 @@ -301,173 +215,54 @@ packages: '@types/node': 13.13.40 dev: true - /@types/lodash/4.14.168: + /@types/lodash@4.14.168: resolution: {integrity: sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==} dev: true - /@types/luxon/1.25.1: + /@types/luxon@1.25.1: resolution: {integrity: sha512-enkMO4WJcbdkhK1eZrItF616buau02wtrSN+DDt9Qj9U23boSAXNJm0fMlgwpTDaRHq3S0D/SPIRbxy4YxBjiA==} dev: true - /@types/mime/1.3.2: + /@types/mime@1.3.2: resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} dev: true - /@types/mocha/7.0.2: - resolution: {integrity: sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==} - dev: true - - /@types/morgan/1.9.2: + /@types/morgan@1.9.2: resolution: {integrity: sha512-edtGMEdit146JwwIeyQeHHg9yID4WSolQPxpEorHmN3KuytuCHyn2ELNr5Uxy8SerniFbbkmgKMrGM933am5BQ==} dependencies: '@types/node': 13.13.40 dev: true - /@types/node/13.13.40: + /@types/node@13.13.40: resolution: {integrity: sha512-eKaRo87lu1yAXrzEJl0zcJxfUMDT5/mZalFyOkT44rnQps41eS2pfWzbaulSPpQLFNy29bFqn+Y5lOTL8ATlEQ==} + dev: true - /@types/qs/6.9.5: + /@types/qs@6.9.5: resolution: {integrity: sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==} dev: true - /@types/range-parser/1.2.3: + /@types/range-parser@1.2.3: resolution: {integrity: sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==} dev: true - /@types/serve-static/1.13.9: + /@types/serve-static@1.13.9: resolution: {integrity: sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==} dependencies: '@types/mime': 1.3.2 '@types/node': 13.13.40 dev: true - /@types/strip-bom/3.0.0: - resolution: {integrity: sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=} - dev: true - - /@types/strip-json-comments/0.0.30: - resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==} - dev: true - - /@types/webidl-conversions/6.1.1: + /@types/webidl-conversions@6.1.1: resolution: {integrity: sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==} dev: false - /@types/whatwg-url/8.2.1: - resolution: {integrity: sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==} + /@types/whatwg-url@11.0.4: + resolution: {integrity: sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==} dependencies: - '@types/node': 13.13.40 '@types/webidl-conversions': 6.1.1 dev: false - /@typescript-eslint/eslint-plugin/4.14.0_55d04256dec390818dfecbf7ec76c765: - resolution: {integrity: sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - '@typescript-eslint/parser': ^4.0.0 - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/experimental-utils': 4.14.0_eslint@7.18.0+typescript@4.5.5 - '@typescript-eslint/parser': 4.14.0_eslint@7.18.0+typescript@4.5.5 - '@typescript-eslint/scope-manager': 4.14.0 - debug: 4.3.1 - eslint: 7.18.0 - functional-red-black-tree: 1.0.1 - lodash: 4.17.20 - regexpp: 3.1.0 - semver: 7.3.4 - tsutils: 3.19.1_typescript@4.5.5 - typescript: 4.5.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/experimental-utils/4.14.0_eslint@7.18.0+typescript@4.5.5: - resolution: {integrity: sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: '*' - dependencies: - '@types/json-schema': 7.0.7 - '@typescript-eslint/scope-manager': 4.14.0 - '@typescript-eslint/types': 4.14.0 - '@typescript-eslint/typescript-estree': 4.14.0_typescript@4.5.5 - eslint: 7.18.0 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/parser/4.14.0_eslint@7.18.0+typescript@4.5.5: - resolution: {integrity: sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 4.14.0 - '@typescript-eslint/types': 4.14.0 - '@typescript-eslint/typescript-estree': 4.14.0_typescript@4.5.5 - debug: 4.3.1 - eslint: 7.18.0 - typescript: 4.5.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager/4.14.0: - resolution: {integrity: sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dependencies: - '@typescript-eslint/types': 4.14.0 - '@typescript-eslint/visitor-keys': 4.14.0 - dev: true - - /@typescript-eslint/types/4.14.0: - resolution: {integrity: sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dev: true - - /@typescript-eslint/typescript-estree/4.14.0_typescript@4.5.5: - resolution: {integrity: sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 4.14.0 - '@typescript-eslint/visitor-keys': 4.14.0 - debug: 4.3.1 - globby: 11.0.2 - is-glob: 4.0.1 - lodash: 4.17.20 - semver: 7.3.4 - tsutils: 3.19.1_typescript@4.5.5 - typescript: 4.5.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/visitor-keys/4.14.0: - resolution: {integrity: sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dependencies: - '@typescript-eslint/types': 4.14.0 - eslint-visitor-keys: 2.0.0 - dev: true - - /accepts/1.3.7: + /accepts@1.3.7: resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} engines: {node: '>= 0.6'} dependencies: @@ -475,203 +270,37 @@ packages: negotiator: 0.6.2 dev: false - /acorn-jsx/5.3.1_acorn@7.4.1: - resolution: {integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 7.4.1 - dev: true - - /acorn-walk/8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /acorn/8.7.0: - resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ajv/6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv/7.0.3: - resolution: {integrity: sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - - /ansi-colors/3.2.3: - resolution: {integrity: sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==} - engines: {node: '>=6'} - dev: true - - /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true - - /ansi-regex/3.0.0: - resolution: {integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=} - engines: {node: '>=4'} - dev: true - - /ansi-regex/4.1.0: - resolution: {integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==} - engines: {node: '>=6'} - dev: true - - /ansi-regex/5.0.0: - resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==} - engines: {node: '>=8'} - dev: true - - /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - - /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /any-promise/1.3.0: + /any-promise@1.3.0: resolution: {integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8=} dev: false - /anymatch/3.1.1: - resolution: {integrity: sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.2.2 - dev: true - - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.0 - dev: true - - /arg/4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /array-union/2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /assertion-error/1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - - /at-least-node/1.0.0: + /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} dev: false - /balanced-match/1.0.0: - resolution: {integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c=} - dev: true - - /base64-js/1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false - - /basic-auth/2.0.1: + /basic-auth@2.0.1: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} dependencies: safe-buffer: 5.1.2 dev: false - /binary-extensions/2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.0 - concat-map: 0.0.1 - dev: true - - /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /browser-stdout/1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - dev: true - - /bson/4.5.1: - resolution: {integrity: sha512-XqFP74pbTVLyLy5KFxVfTUyRrC1mgOlmu/iXHfXqfCKT59jyP9lwbotGfbN59cHBRbJSamZNkrSopjv+N0SqAA==} - engines: {node: '>=6.9.0'} - dependencies: - buffer: 5.7.1 + /bson@6.6.0: + resolution: {integrity: sha512-BVINv2SgcMjL4oYbBuCQTpE3/VKOSxrOA8Cj/wQP7izSzlBGVomdm+TcUd0Pzy0ytLSSDweCKQ6X3f5veM5LQA==} + engines: {node: '>=16.20.1'} dev: false - /buffer-equal-constant-time/1.0.1: + /buffer-equal-constant-time@1.0.1: resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=} dev: false - /buffer-from/1.1.1: - resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==} - dev: true - - /buffer/5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /bytes/3.1.0: + /bytes@3.1.0: resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} engines: {node: '>= 0.8'} dev: false - /cache-content-type/1.0.1: + /cache-content-type@1.0.1: resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} engines: {node: '>= 6.0.0'} dependencies: @@ -679,99 +308,11 @@ packages: ylru: 1.2.1 dev: false - /call-bind/1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.0.2 - dev: true - - /callsite/1.0.0: + /callsite@1.0.0: resolution: {integrity: sha1-KAOY5dZkvXQDi28JBRU+borxvCA=} dev: false - /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /camelcase/5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true - - /chai/4.2.0: - resolution: {integrity: sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.2 - deep-eql: 3.0.1 - get-func-name: 2.0.0 - pathval: 1.1.0 - type-detect: 4.0.8 - dev: true - - /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - - /chalk/4.1.0: - resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error/1.0.2: - resolution: {integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=} - dev: true - - /chokidar/3.3.0: - resolution: {integrity: sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.1 - braces: 3.0.2 - glob-parent: 5.1.1 - is-binary-path: 2.1.0 - is-glob: 4.0.1 - normalize-path: 3.0.0 - readdirp: 3.2.0 - optionalDependencies: - fsevents: 2.1.3 - dev: true - - /chokidar/3.5.2: - resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.2 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.1 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /cliui/5.0.0: - resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==} - dependencies: - string-width: 3.1.0 - strip-ansi: 5.2.0 - wrap-ansi: 5.1.0 - dev: true - - /co-body/6.1.0: + /co-body@6.1.0: resolution: {integrity: sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==} dependencies: inflation: 2.0.0 @@ -780,56 +321,31 @@ packages: type-is: 1.6.18 dev: false - /co/4.6.0: + /co@4.6.0: resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: false - /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - - /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name/1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} - dev: true - - /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /compressible/2.0.18: + /compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.45.0 dev: false - /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - dev: true - - /content-disposition/0.5.3: + /content-disposition@0.5.3: resolution: {integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==} engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.1.2 dev: false - /content-type/1.0.4: + /content-type@1.0.4: resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} engines: {node: '>= 0.6'} dev: false - /cookies/0.8.0: + /cookies@0.8.0: resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==} engines: {node: '>= 0.8'} dependencies: @@ -837,43 +353,33 @@ packages: keygrip: 1.1.0 dev: false - /copy-to/2.0.1: + /copy-to@2.0.1: resolution: {integrity: sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=} dev: false - /create-require/1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - - /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /debug/2.6.9: + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 dev: false - /debug/3.1.0: + /debug@3.1.0: resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 dev: false - /debug/3.2.6: - resolution: {integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==} - deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) - dependencies: - ms: 2.1.1 - dev: true - - /debug/4.3.1: + /debug@4.3.1: resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} engines: {node: '>=6.0'} peerDependencies: @@ -883,357 +389,66 @@ packages: optional: true dependencies: ms: 2.1.2 + dev: false - /decache/4.6.0: + /decache@4.6.0: resolution: {integrity: sha512-PppOuLiz+DFeaUvFXEYZjLxAkKiMYH/do/b/MxpDe/8AgKBi5GhZxridoVIbBq72GDbL36e4p0Ce2jTGUwwU+w==} dependencies: callsite: 1.0.0 dev: false - /decamelize/1.2.0: - resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} - engines: {node: '>=0.10.0'} - dev: true - - /deep-eql/3.0.1: - resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} - engines: {node: '>=0.12'} - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-equal/1.0.1: + /deep-equal@1.0.1: resolution: {integrity: sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=} dev: false - /deep-is/0.1.3: - resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=} - dev: true - - /define-properties/1.1.3: - resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} - engines: {node: '>= 0.4'} - dependencies: - object-keys: 1.1.1 - dev: true - - /delegates/1.0.0: + /delegates@1.0.0: resolution: {integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=} dev: false - /denque/1.5.0: - resolution: {integrity: sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==} - engines: {node: '>=0.10'} - dev: false - - /depd/1.1.2: + /depd@1.1.2: resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} engines: {node: '>= 0.6'} dev: false - /depd/2.0.0: + /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} dev: false - /destroy/1.0.4: + /destroy@1.0.4: resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} dev: false - /diff/3.5.0: - resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} - engines: {node: '>=0.3.1'} - dev: true - - /diff/4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true - - /dir-glob/3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /doctrine/3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv/8.2.0: - resolution: {integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==} + /dotenv@8.2.0: + resolution: {integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==} engines: {node: '>=8'} dev: false - /dynamic-dedupe/0.3.0: - resolution: {integrity: sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE=} - dependencies: - xtend: 4.0.2 - dev: true - - /ecdsa-sig-formatter/1.0.11: + /ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} dependencies: safe-buffer: 5.2.1 dev: false - /ee-first/1.1.1: + /ee-first@1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: false - /emoji-regex/7.0.3: - resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} - dev: true - - /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /encodeurl/1.0.2: + /encodeurl@1.0.2: resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} engines: {node: '>= 0.8'} dev: false - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.1 - dev: true - - /es-abstract/1.18.0-next.2: - resolution: {integrity: sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - get-intrinsic: 1.0.2 - has: 1.0.3 - has-symbols: 1.0.1 - is-callable: 1.2.2 - is-negative-zero: 2.0.1 - is-regex: 1.1.1 - object-inspect: 1.9.0 - object-keys: 1.1.1 - object.assign: 4.1.2 - string.prototype.trimend: 1.0.3 - string.prototype.trimstart: 1.0.3 - dev: true - - /es-to-primitive/1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.2 - is-date-object: 1.0.2 - is-symbol: 1.0.3 - dev: true - - /escape-html/1.0.3: + /escape-html@1.0.3: resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} dev: false - /escape-string-regexp/1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} - engines: {node: '>=0.8.0'} - dev: true - - /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-utils/2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - dependencies: - eslint-visitor-keys: 1.3.0 - dev: true - - /eslint-visitor-keys/1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - dev: true - - /eslint-visitor-keys/2.0.0: - resolution: {integrity: sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==} - engines: {node: '>=10'} - dev: true - - /eslint/7.18.0: - resolution: {integrity: sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==} - engines: {node: ^10.12.0 || >=12.0.0} - hasBin: true - dependencies: - '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.3.0 - ajv: 6.12.6 - chalk: 4.1.0 - cross-spawn: 7.0.3 - debug: 4.3.1 - doctrine: 3.0.0 - enquirer: 2.3.6 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 2.0.0 - espree: 7.3.1 - esquery: 1.3.1 - esutils: 2.0.3 - file-entry-cache: 6.0.0 - functional-red-black-tree: 1.0.1 - glob-parent: 5.1.1 - globals: 12.4.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.1 - js-yaml: 3.14.1 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash: 4.17.20 - minimatch: 3.0.4 - natural-compare: 1.4.0 - optionator: 0.9.1 - progress: 2.0.3 - regexpp: 3.1.0 - semver: 7.3.4 - strip-ansi: 6.0.0 - strip-json-comments: 3.1.1 - table: 6.0.7 - text-table: 0.2.0 - v8-compile-cache: 2.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree/7.3.1: - resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.1_acorn@7.4.1 - eslint-visitor-keys: 1.3.0 - dev: true - - /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /esquery/1.3.1: - resolution: {integrity: sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.2.0 - dev: true - - /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.2.0 - dev: true - - /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - - /estraverse/5.2.0: - resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} - engines: {node: '>=4.0'} - dev: true - - /esutils/2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /fast-deep-equal/3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - - /fast-glob/3.2.5: - resolution: {integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==} - engines: {node: '>=8'} - dependencies: - '@nodelib/fs.stat': 2.0.4 - '@nodelib/fs.walk': 1.2.6 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.2 - picomatch: 2.3.0 - dev: true - - /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-levenshtein/2.0.6: - resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} - dev: true - - /fastq/1.10.0: - resolution: {integrity: sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==} - dependencies: - reusify: 1.0.4 - dev: true - - /file-entry-cache/6.0.0: - resolution: {integrity: sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.0.4 - dev: true - - /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-up/3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 - dev: true - - /flat-cache/3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.1.1 - rimraf: 3.0.2 - dev: true - - /flat/4.1.1: - resolution: {integrity: sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==} - hasBin: true - dependencies: - is-buffer: 2.0.5 - dev: true - - /flatted/3.1.1: - resolution: {integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==} - dev: true - - /fresh/0.5.2: + /fresh@0.5.2: resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} engines: {node: '>= 0.6'} dev: false - /fs-extra/9.1.0: + /fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} dependencies: @@ -1243,147 +458,17 @@ packages: universalify: 2.0.0 dev: false - /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} - dev: true - - /fsevents/2.1.3: - resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - deprecated: '"Please update to latest v2.3 or v2.2"' - dev: true - optional: true - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - dev: true - optional: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /functional-red-black-tree/1.0.1: - resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} - dev: true - - /get-caller-file/2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /get-func-name/2.0.0: - resolution: {integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=} - dev: true - - /get-intrinsic/1.0.2: - resolution: {integrity: sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.1 - dev: true - - /glob-parent/5.1.1: - resolution: {integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.1 - dev: true - - /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.1 - dev: true - - /glob/7.1.3: - resolution: {integrity: sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob/7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globals/12.4.0: - resolution: {integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.8.1 - dev: true - - /globby/11.0.2: - resolution: {integrity: sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.5 - ignore: 5.1.8 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /graceful-fs/4.2.4: + /graceful-fs@4.2.4: resolution: {integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==} dev: false - /graceful-fs/4.2.6: + /graceful-fs@4.2.6: resolution: {integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==} + requiresBuild: true dev: false optional: true - /growl/1.10.5: - resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==} - engines: {node: '>=4.x'} - dev: true - - /has-flag/3.0.0: - resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} - engines: {node: '>=4'} - dev: true - - /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /has-symbols/1.0.1: - resolution: {integrity: sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==} - engines: {node: '>= 0.4'} - dev: true - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /he/1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - dev: true - - /http-assert/1.4.1: + /http-assert@1.4.1: resolution: {integrity: sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==} engines: {node: '>= 0.8'} dependencies: @@ -1391,7 +476,7 @@ packages: http-errors: 1.7.3 dev: false - /http-errors/1.7.3: + /http-errors@1.7.3: resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} engines: {node: '>= 0.6'} dependencies: @@ -1402,7 +487,7 @@ packages: toidentifier: 1.0.0 dev: false - /http-errors/1.8.0: + /http-errors@1.8.0: resolution: {integrity: sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==} engines: {node: '>= 0.6'} dependencies: @@ -1413,182 +498,32 @@ packages: toidentifier: 1.0.0 dev: false - /iconv-lite/0.4.24: + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: false - /ieee754/1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false - - /ignore/4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} - dev: true - - /ignore/5.1.8: - resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} - engines: {node: '>= 4'} - dev: true - - /import-fresh/3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /imurmurhash/0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} - engines: {node: '>=0.8.19'} - dev: true - - /inflation/2.0.0: + /inflation@2.0.0: resolution: {integrity: sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=} engines: {node: '>= 0.8.0'} dev: false - /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits/2.0.4: + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: false - /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - - /is-buffer/2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - dev: true - - /is-callable/1.2.2: - resolution: {integrity: sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==} - engines: {node: '>= 0.4'} - dev: true - - /is-core-module/2.4.0: - resolution: {integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==} - dependencies: - has: 1.0.3 - dev: true - - /is-date-object/1.0.2: - resolution: {integrity: sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==} - engines: {node: '>= 0.4'} - dev: true - - /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point/2.0.0: - resolution: {integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=} - engines: {node: '>=4'} - dev: true - - /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-generator-function/1.0.8: + /is-generator-function@1.0.8: resolution: {integrity: sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==} engines: {node: '>= 0.4'} dev: false - /is-glob/4.0.1: - resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-negative-zero/2.0.1: - resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} - engines: {node: '>= 0.4'} - dev: true - - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-regex/1.1.1: - resolution: {integrity: sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.1 - dev: true - - /is-symbol/1.0.3: - resolution: {integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.1 - dev: true - - /isarray/0.0.1: + /isarray@0.0.1: resolution: {integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=} dev: false - /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} - dev: true - - /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - - /js-yaml/3.13.1: - resolution: {integrity: sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /json-schema-traverse/0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse/1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true - - /json-stable-stringify-without-jsonify/1.0.1: - resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} - dev: true - - /json5/1.0.1: - resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} - hasBin: true - dependencies: - minimist: 1.2.5 - dev: true - - /jsonfile/6.1.0: + /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 @@ -1596,7 +531,7 @@ packages: graceful-fs: 4.2.6 dev: false - /jsonwebtoken/8.5.1: + /jsonwebtoken@8.5.1: resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} engines: {node: '>=4', npm: '>=1.4.28'} dependencies: @@ -1612,7 +547,7 @@ packages: semver: 5.7.1 dev: false - /jwa/1.4.1: + /jwa@1.4.1: resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} dependencies: buffer-equal-constant-time: 1.0.1 @@ -1620,25 +555,21 @@ packages: safe-buffer: 5.2.1 dev: false - /jws/3.2.2: + /jws@3.2.2: resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} dependencies: jwa: 1.4.1 safe-buffer: 5.2.1 dev: false - /kareem/2.3.2: - resolution: {integrity: sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==} - dev: false - - /keygrip/1.1.0: + /keygrip@1.1.0: resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} engines: {node: '>= 0.6'} dependencies: tsscmp: 1.0.6 dev: false - /koa-bodyparser/4.3.0: + /koa-bodyparser@4.3.0: resolution: {integrity: sha512-uyV8G29KAGwZc4q/0WUAjH+Tsmuv9ImfBUF2oZVyZtaeo0husInagyn/JH85xMSxM0hEk/mbCII5ubLDuqW/Rw==} engines: {node: '>=8.0.0'} dependencies: @@ -1646,17 +577,17 @@ packages: copy-to: 2.0.1 dev: false - /koa-compose/3.2.1: + /koa-compose@3.2.1: resolution: {integrity: sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=} dependencies: any-promise: 1.3.0 dev: false - /koa-compose/4.1.0: + /koa-compose@4.1.0: resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} dev: false - /koa-compress/4.0.1: + /koa-compress@4.0.1: resolution: {integrity: sha512-It4WYfsBb9HegnFgcBhiRbPeh1LDjXhRM4+xi2jMp8ujwaVAdqhFzHpbDWuTxbLxuBwStn+Bwdwn2zDZxeNChg==} engines: {node: '>= 8.0.0'} dependencies: @@ -1667,7 +598,7 @@ packages: statuses: 2.0.1 dev: false - /koa-convert/1.2.0: + /koa-convert@1.2.0: resolution: {integrity: sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=} engines: {node: '>= 4'} dependencies: @@ -1675,17 +606,19 @@ packages: koa-compose: 3.2.1 dev: false - /koa-is-json/1.0.0: + /koa-is-json@1.0.0: resolution: {integrity: sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=} dev: false - /koa-morgan/1.0.1: + /koa-morgan@1.0.1: resolution: {integrity: sha1-CAUuDODYOdPEMXi5CluzQkvvH5k=} dependencies: morgan: 1.10.0 + transitivePeerDependencies: + - supports-color dev: false - /koa-router/8.0.8: + /koa-router@8.0.8: resolution: {integrity: sha512-2rNF2cgu/EWi/NV8GlBE5+H/QBoaof83X6Z0dULmalkbt7W610/lyP2EOLVqVrUUFfjsVWL/Ju5TVBcGJDY9XQ==} engines: {node: '>= 8.0.0'} dependencies: @@ -1699,7 +632,7 @@ packages: - supports-color dev: false - /koa/2.13.1: + /koa@2.13.1: resolution: {integrity: sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==} engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} dependencies: @@ -1726,215 +659,121 @@ packages: statuses: 1.5.0 type-is: 1.6.18 vary: 1.1.2 + transitivePeerDependencies: + - supports-color dev: false - /levn/0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /locate-path/3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 - dev: true - - /lodash.includes/4.3.0: + /lodash.includes@4.3.0: resolution: {integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=} dev: false - /lodash.isboolean/3.0.3: + /lodash.isboolean@3.0.3: resolution: {integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=} dev: false - /lodash.isinteger/4.0.4: + /lodash.isinteger@4.0.4: resolution: {integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=} dev: false - /lodash.isnumber/3.0.3: + /lodash.isnumber@3.0.3: resolution: {integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=} dev: false - /lodash.isplainobject/4.0.6: + /lodash.isplainobject@4.0.6: resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=} dev: false - /lodash.isstring/4.0.1: + /lodash.isstring@4.0.1: resolution: {integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=} dev: false - /lodash.once/4.1.1: + /lodash.once@4.1.1: resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=} dev: false - /lodash/4.17.20: + /lodash@4.17.20: resolution: {integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==} + dev: false - /log-symbols/3.0.0: - resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==} - engines: {node: '>=8'} - dependencies: - chalk: 2.4.2 + /luxon@1.25.0: + resolution: {integrity: sha512-hEgLurSH8kQRjY6i4YLey+mcKVAWXbDNlZRmM6AgWDJ1cY3atl8Ztf5wEY7VBReFbmGnwQPz7KYJblL8B2k0jQ==} dev: true - /lru-cache/6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /luxon/1.25.0: - resolution: {integrity: sha512-hEgLurSH8kQRjY6i4YLey+mcKVAWXbDNlZRmM6AgWDJ1cY3atl8Ztf5wEY7VBReFbmGnwQPz7KYJblL8B2k0jQ==} - dev: true - - /make-error/1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /media-typer/0.3.0: + /media-typer@0.3.0: resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} engines: {node: '>= 0.6'} dev: false - /memory-pager/1.5.0: + /memory-pager@1.5.0: resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} + requiresBuild: true dev: false - optional: true - - /merge2/1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - /methods/1.1.2: + /methods@1.1.2: resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=} engines: {node: '>= 0.6'} dev: false - /micromatch/4.0.2: - resolution: {integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==} - engines: {node: '>=8'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.0 - dev: true - - /mime-db/1.45.0: + /mime-db@1.45.0: resolution: {integrity: sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==} engines: {node: '>= 0.6'} dev: false - /mime-types/2.1.28: + /mime-types@2.1.28: resolution: {integrity: sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.45.0 dev: false - /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimist/1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} - dev: true - - /mkdirp/0.5.5: - resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} - hasBin: true - dependencies: - minimist: 1.2.5 - dev: true - - /mkdirp/1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true - - /mocha/7.2.0: - resolution: {integrity: sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==} - engines: {node: '>= 8.10.0'} - hasBin: true - dependencies: - ansi-colors: 3.2.3 - browser-stdout: 1.3.1 - chokidar: 3.3.0 - debug: 3.2.6 - diff: 3.5.0 - escape-string-regexp: 1.0.5 - find-up: 3.0.0 - glob: 7.1.3 - growl: 1.10.5 - he: 1.2.0 - js-yaml: 3.13.1 - log-symbols: 3.0.0 - minimatch: 3.0.4 - mkdirp: 0.5.5 - ms: 2.1.1 - node-environment-flags: 1.0.6 - object.assign: 4.1.0 - strip-json-comments: 2.0.1 - supports-color: 6.0.0 - which: 1.3.1 - wide-align: 1.1.3 - yargs: 13.3.2 - yargs-parser: 13.1.2 - yargs-unparser: 1.6.0 - dev: true - - /mongo-locks/2.0.0_mongoose@6.0.3: - resolution: {integrity: sha512-+yfONvw4A64N/TD52hdPp648XyXuc1JnTZ9btQJL56dHbAgW3Xuvdavbv476Kae+BmMSFApNterG6pXHeRyyDQ==} + /mongo-locks@3.0.1(mongodb@6.5.0): + resolution: {integrity: sha512-49UphY14r9MXTlfBOXLOqVjFfu8ejYd0ukNi/Wpf3Z7aK/GwWjPlbq4my++sijqA2TvG2+cpZKkbWpxzticq3w==} peerDependencies: - mongoose: '>=4.7.6' + mongodb: '>=4' dependencies: - mongoose: 6.0.3 + mongodb: 6.5.0 dev: false - /mongodb-connection-string-url/2.0.0: - resolution: {integrity: sha512-M0I1vyLoq5+HQTuPSJWbt+hIXsMCfE8sS1fS5mvP9R2DOMoi2ZD32yWqgBIITyu0dFu4qtS50erxKjvUeBiyog==} + /mongodb-connection-string-url@3.0.0: + resolution: {integrity: sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==} dependencies: - '@types/whatwg-url': 8.2.1 - whatwg-url: 9.1.0 - dev: false - - /mongodb/4.1.1: - resolution: {integrity: sha512-fbACrWEyvr6yl0sSiCGV0sqEiBwTtDJ8iSojmkDjAfw9JnOZSAkUyv9seFSPYhPPKwxp1PDtyjvBNfMDz0WBLQ==} - engines: {node: '>=12.9.0'} - dependencies: - bson: 4.5.1 - denque: 1.5.0 - mongodb-connection-string-url: 2.0.0 - optionalDependencies: - saslprep: 1.0.3 + '@types/whatwg-url': 11.0.4 + whatwg-url: 13.0.0 dev: false - /mongoose/6.0.3: - resolution: {integrity: sha512-0gu3Z34j3VdvGnqcs0lZdRnE0agiuERvXKkSrKjGqXsZS+ym5v9Oq1dQUuhtOYPQGtlpHpeVYjHHY+2sn5CMrg==} - engines: {node: '>=12.0.0'} + /mongodb@6.5.0: + resolution: {integrity: sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==} + engines: {node: '>=16.20.1'} + peerDependencies: + '@aws-sdk/credential-providers': ^3.188.0 + '@mongodb-js/zstd': ^1.1.0 + gcp-metadata: ^5.2.0 + kerberos: ^2.0.1 + mongodb-client-encryption: '>=6.0.0 <7' + snappy: ^7.2.2 + socks: ^2.7.1 + peerDependenciesMeta: + '@aws-sdk/credential-providers': + optional: true + '@mongodb-js/zstd': + optional: true + gcp-metadata: + optional: true + kerberos: + optional: true + mongodb-client-encryption: + optional: true + snappy: + optional: true + socks: + optional: true dependencies: - bson: 4.5.1 - kareem: 2.3.2 - mongodb: 4.1.1 - mpath: 0.8.3 - mquery: 4.0.0 - ms: 2.1.2 - regexp-clone: 1.0.0 - sift: 13.5.2 - sliced: 1.0.1 - transitivePeerDependencies: - - supports-color + '@mongodb-js/saslprep': 1.1.5 + bson: 6.6.0 + mongodb-connection-string-url: 3.0.0 dev: false - /morgan/1.10.0: + /morgan@1.10.0: resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} engines: {node: '>= 0.8.0'} dependencies: @@ -1943,227 +782,65 @@ packages: depd: 2.0.0 on-finished: 2.3.0 on-headers: 1.0.2 - dev: false - - /mpath/0.8.3: - resolution: {integrity: sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA==} - engines: {node: '>=4.0.0'} - dev: false - - /mquery/4.0.0: - resolution: {integrity: sha512-nGjm89lHja+T/b8cybAby6H0YgA4qYC/lx6UlwvHGqvTq8bDaNeCwl1sY8uRELrNbVWJzIihxVd+vphGGn1vBw==} - engines: {node: '>=12.0.0'} - dependencies: - debug: 4.3.1 - regexp-clone: 1.0.0 - sliced: 1.0.1 transitivePeerDependencies: - supports-color dev: false - /ms/2.0.0: + /ms@2.0.0: resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} dev: false - /ms/2.1.1: - resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} - dev: true - - /ms/2.1.2: + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: false - /ms/2.1.3: + /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /natural-compare/1.4.0: - resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} - dev: true - - /negotiator/0.6.2: + /negotiator@0.6.2: resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} engines: {node: '>= 0.6'} dev: false - /node-environment-flags/1.0.6: - resolution: {integrity: sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==} - dependencies: - object.getownpropertydescriptors: 2.1.1 - semver: 5.7.1 - dev: true - - /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /object-inspect/1.9.0: - resolution: {integrity: sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==} - dev: true - - /object-keys/1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true - - /object.assign/4.1.0: - resolution: {integrity: sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.1.3 - function-bind: 1.1.1 - has-symbols: 1.0.1 - object-keys: 1.1.1 - dev: true - - /object.assign/4.1.2: - resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - has-symbols: 1.0.1 - object-keys: 1.1.1 - dev: true - - /object.getownpropertydescriptors/2.1.1: - resolution: {integrity: sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==} - engines: {node: '>= 0.8'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.18.0-next.2 - dev: true - - /on-finished/2.3.0: + /on-finished@2.3.0: resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 dev: false - /on-headers/1.0.2: + /on-headers@1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} dev: false - /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} - dependencies: - wrappy: 1.0.2 - dev: true - - /only/0.0.2: + /only@0.0.2: resolution: {integrity: sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=} dev: false - /optionator/0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} - 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 - dev: true - - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - - /p-locate/3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - dependencies: - p-limit: 2.3.0 - dev: true - - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /parent-module/1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /parseurl/1.3.3: + /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} dev: false - /path-exists/3.0.0: - resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} - engines: {node: '>=4'} - dev: true - - /path-is-absolute/1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} - engines: {node: '>=0.10.0'} - dev: true - - /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-parse/1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /path-to-regexp/1.8.0: + /path-to-regexp@1.8.0: resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} dependencies: isarray: 0.0.1 dev: false - /path-type/4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /pathval/1.1.0: - resolution: {integrity: sha1-uULm1L3mUwBe9rcTYd74cn0GReA=} - dev: true - - /picomatch/2.2.2: - resolution: {integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==} - engines: {node: '>=8.6'} - dev: true - - /picomatch/2.3.0: - resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} - engines: {node: '>=8.6'} - dev: true - - /prelude-ls/1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - - /punycode/2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + dev: false - /qs/6.9.6: + /qs@6.9.6: resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} engines: {node: '>=0.6'} dev: false - /raw-body/2.4.1: + /raw-body@2.4.1: resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} engines: {node: '>= 0.8'} dependencies: @@ -2173,449 +850,66 @@ packages: unpipe: 1.0.0 dev: false - /readdirp/3.2.0: - resolution: {integrity: sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==} - engines: {node: '>= 8'} - dependencies: - picomatch: 2.2.2 - dev: true - - /readdirp/3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.0 - dev: true - - /regexp-clone/1.0.0: - resolution: {integrity: sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==} - dev: false - - /regexpp/3.1.0: - resolution: {integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==} - engines: {node: '>=8'} - dev: true - - /require-directory/2.1.1: - resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} - engines: {node: '>=0.10.0'} - dev: true - - /require-from-string/2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: true - - /require-main-filename/2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - dev: true - - /resolve-from/4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve/1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} - dependencies: - is-core-module: 2.4.0 - path-parse: 1.0.7 - dev: true - - /reusify/1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - - /rimraf/2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - dependencies: - glob: 7.1.7 - dev: true - - /rimraf/3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.1.7 - dev: true - - /run-parallel/1.1.10: - resolution: {integrity: sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==} - dev: true - - /safe-buffer/5.1.2: + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: false - /safe-buffer/5.2.1: + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /safer-buffer/2.1.2: + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: false - /saslprep/1.0.3: - resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==} - engines: {node: '>=6'} - dependencies: - sparse-bitfield: 3.0.3 - dev: false - optional: true - - /semver/5.7.1: + /semver@5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true + dev: false - /semver/7.3.4: - resolution: {integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /set-blocking/2.0.0: - resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} - dev: true - - /setprototypeof/1.1.1: + /setprototypeof@1.1.1: resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} dev: false - /setprototypeof/1.2.0: + /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: false - /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /sift/13.5.2: - resolution: {integrity: sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==} - dev: false - - /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /sliced/1.0.1: - resolution: {integrity: sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=} - dev: false - - /source-map-support/0.5.19: - resolution: {integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==} - dependencies: - buffer-from: 1.1.1 - source-map: 0.6.1 - dev: true - - /source-map/0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /sparse-bitfield/3.0.3: - resolution: {integrity: sha1-/0rm5oZWBWuks+eSqzM004JzyhE=} + /sparse-bitfield@3.0.3: + resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==} + requiresBuild: true dependencies: memory-pager: 1.5.0 dev: false - optional: true - - /sprintf-js/1.0.3: - resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} - dev: true - /statuses/1.5.0: + /statuses@1.5.0: resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} engines: {node: '>= 0.6'} dev: false - /statuses/2.0.1: + /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} dev: false - /string-width/2.1.1: - resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} - engines: {node: '>=4'} - dependencies: - is-fullwidth-code-point: 2.0.0 - strip-ansi: 4.0.0 - dev: true - - /string-width/3.1.0: - resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} - engines: {node: '>=6'} - dependencies: - emoji-regex: 7.0.3 - is-fullwidth-code-point: 2.0.0 - strip-ansi: 5.2.0 - dev: true - - /string-width/4.2.0: - resolution: {integrity: sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.0 - dev: true - - /string.prototype.trimend/1.0.3: - resolution: {integrity: sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: true - - /string.prototype.trimstart/1.0.3: - resolution: {integrity: sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - dev: true - - /strip-ansi/4.0.0: - resolution: {integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=} - engines: {node: '>=4'} - dependencies: - ansi-regex: 3.0.0 - dev: true - - /strip-ansi/5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - dependencies: - ansi-regex: 4.1.0 - dev: true - - /strip-ansi/6.0.0: - resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.0 - dev: true - - /strip-bom/3.0.0: - resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} - engines: {node: '>=4'} - dev: true - - /strip-json-comments/2.0.1: - resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} - engines: {node: '>=0.10.0'} - dev: true - - /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - - /supports-color/6.0.0: - resolution: {integrity: sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==} - engines: {node: '>=6'} - dependencies: - has-flag: 3.0.0 - dev: true - - /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /table/6.0.7: - resolution: {integrity: sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==} - engines: {node: '>=10.0.0'} - dependencies: - ajv: 7.0.3 - lodash: 4.17.20 - slice-ansi: 4.0.0 - string-width: 4.2.0 - dev: true - - /text-table/0.2.0: - resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} - dev: true - - /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /toidentifier/1.0.0: + /toidentifier@1.0.0: resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} engines: {node: '>=0.6'} dev: false - /tr46/2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} - engines: {node: '>=8'} + /tr46@4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} dependencies: - punycode: 2.1.1 + punycode: 2.3.1 dev: false - /tree-kill/1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - dev: true - - /ts-node-dev/1.1.8_typescript@4.5.5: - resolution: {integrity: sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg==} - engines: {node: '>=0.8.0'} - hasBin: true - peerDependencies: - node-notifier: '*' - typescript: '*' - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - chokidar: 3.5.2 - dynamic-dedupe: 0.3.0 - minimist: 1.2.5 - mkdirp: 1.0.4 - resolve: 1.20.0 - rimraf: 2.7.1 - source-map-support: 0.5.19 - tree-kill: 1.2.2 - ts-node: 9.1.1_typescript@4.5.5 - tsconfig: 7.0.0 - typescript: 4.5.5 - dev: true - - /ts-node/10.4.0_00b9008703accb2bb5af089524de17b9: - resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.7.0 - '@tsconfig/node10': 1.0.8 - '@tsconfig/node12': 1.0.9 - '@tsconfig/node14': 1.0.1 - '@tsconfig/node16': 1.0.2 - '@types/node': 13.13.40 - acorn: 8.7.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.5.5 - yn: 3.1.1 - dev: true - - /ts-node/9.1.1_typescript@4.5.5: - resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} - engines: {node: '>=10.0.0'} - hasBin: true - peerDependencies: - typescript: '>=2.7' - dependencies: - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - source-map-support: 0.5.19 - typescript: 4.5.5 - yn: 3.1.1 - dev: true - - /tsconfig-paths/3.12.0: - resolution: {integrity: sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.1 - minimist: 1.2.5 - strip-bom: 3.0.0 - dev: true - - /tsconfig/7.0.0: - resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==} - dependencies: - '@types/strip-bom': 3.0.0 - '@types/strip-json-comments': 0.0.30 - strip-bom: 3.0.0 - strip-json-comments: 2.0.1 - dev: true - - /tslib/1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tsscmp/1.0.6: + /tsscmp@1.0.6: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} dev: false - /tsutils/3.19.1_typescript@4.5.5: - resolution: {integrity: sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==} - engines: {node: '>= 6'} - 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' - dependencies: - tslib: 1.14.1 - typescript: 4.5.5 - dev: true - - /type-check/0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect/4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest/0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true - - /type-is/1.6.18: + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} dependencies: @@ -2623,147 +917,39 @@ packages: mime-types: 2.1.28 dev: false - /typescript/4.5.5: - resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /universalify/2.0.0: + /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} dev: false - /unpipe/1.0.0: + /unpipe@1.0.0: resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} engines: {node: '>= 0.8'} dev: false - /uri-js/4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.1.1 - dev: true - - /urijs/1.19.5: + /urijs@1.19.5: resolution: {integrity: sha512-48z9VGWwdCV5KfizHsE05DWS5fhK6gFlx5MjO7xu0Krc5FGPWzjlXEVV0nPMrdVuP7xmMHiPZ2HoYZwKOFTZOg==} dev: false - /v8-compile-cache/2.2.0: - resolution: {integrity: sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==} - dev: true - - /vary/1.1.2: + /vary@1.1.2: resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=} engines: {node: '>= 0.8'} dev: false - /webidl-conversions/6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} - dev: false - - /whatwg-url/9.1.0: - resolution: {integrity: sha512-CQ0UcrPHyomtlOCot1TL77WyMIm/bCwrJ2D6AOKGwEczU9EpyoqAokfqrf/MioU9kHcMsmJZcg1egXix2KYEsA==} + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - dependencies: - tr46: 2.1.0 - webidl-conversions: 6.1.0 dev: false - /which-module/2.0.0: - resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} - dev: true - - /which/1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /wide-align/1.1.3: - resolution: {integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==} - dependencies: - string-width: 2.1.1 - dev: true - - /word-wrap/1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true - - /wrap-ansi/5.1.0: - resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} - engines: {node: '>=6'} - dependencies: - ansi-styles: 3.2.1 - string-width: 3.1.0 - strip-ansi: 5.2.0 - dev: true - - /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} - dev: true - - /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true - - /y18n/4.0.1: - resolution: {integrity: sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==} - dev: true - - /yallist/4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - - /yargs-parser/13.1.2: - resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - dev: true - - /yargs-unparser/1.6.0: - resolution: {integrity: sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==} - engines: {node: '>=6'} - dependencies: - flat: 4.1.1 - lodash: 4.17.20 - yargs: 13.3.2 - dev: true - - /yargs/13.3.2: - resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} + /whatwg-url@13.0.0: + resolution: {integrity: sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==} + engines: {node: '>=16'} dependencies: - cliui: 5.0.0 - find-up: 3.0.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 3.1.0 - which-module: 2.0.0 - y18n: 4.0.1 - yargs-parser: 13.1.2 - dev: true + tr46: 4.1.1 + webidl-conversions: 7.0.0 + dev: false - /ylru/1.2.1: + /ylru@1.2.1: resolution: {integrity: sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==} engines: {node: '>= 4.0.0'} dev: false - - /yn/3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true diff --git a/apps/game-server/tsconfig.json b/apps/game-server/tsconfig.json index 3552e57d..4c52eff6 100644 --- a/apps/game-server/tsconfig.json +++ b/apps/game-server/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { - "target": "ES2019", - "module": "CommonJS", - "moduleResolution": "Node", + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", "sourceMap": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, @@ -11,8 +11,10 @@ "strictNullChecks": false, "resolveJsonModule": true, "esModuleInterop": true, - "types": ["node", "mocha", "chai"], - "baseUrl": "." + "types": ["node"], + "baseUrl": ".", + "skipLibCheck": true }, - "include": ["app/**/*.ts", "server.ts", "scripts/**/*.ts"] + "include": ["app/**/*.ts", "server.ts", "scripts/**/*.ts"], + "exclude": ["node_modules"] } diff --git a/apps/web/.eslintrc.cjs b/apps/web/.eslintrc.cjs deleted file mode 100644 index 16632bc5..00000000 --- a/apps/web/.eslintrc.cjs +++ /dev/null @@ -1,24 +0,0 @@ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"], - plugins: ["svelte3", "@typescript-eslint"], - ignorePatterns: ["*.cjs"], - overrides: [{ files: ["*.svelte"], processor: "svelte3/svelte3" }], - settings: { - "svelte3/typescript": () => require("typescript"), - }, - rules: { - "@typescript-eslint/ban-types": ["off"], - "@typescript-eslint/no-empty-function": ["off"], - }, - parserOptions: { - sourceType: "module", - ecmaVersion: 2019, - }, - env: { - browser: true, - es2017: true, - node: true, - }, -}; diff --git a/apps/web/package.json b/apps/web/package.json index a7692bc3..2dba7ae3 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -2,6 +2,7 @@ "license": "AGPL", "name": "@bgs/web", "type": "module", + "packageManager": "pnpm@8.10.5", "scripts": { "start": "node build/index.js", "dev": "svelte-kit dev", @@ -9,8 +10,8 @@ "preview": "svelte-kit preview", "check": "svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --ignore-path .gitignore --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .", - "format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. .", + "lint": "prettier --ignore-path .gitignore --check . && eslint --ignore-path .gitignore .", + "format": "prettier --ignore-path .gitignore --write .", "test": "jest" }, "dependencies": { @@ -26,41 +27,23 @@ "marked": "^3.0.2", "nprogress": "^0.2.0", "remove-markdown": "^0.3.0", - "svelte": "^3.44.1", "sveltestrap": "^5.6.2", "type-fest": "^2.1.0" }, "devDependencies": { "@sveltejs/adapter-node": "^1.0.0-next.58", "@sveltejs/kit": "1.0.0-next.216", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/svelte": "^3.0.3", "@types/cookie": "^0.4.1", "@types/dompurify": "^2.2.1", - "@types/jest": "^27.0.3", "@types/lodash": "^4.14.168", "@types/marked": "^2.0.0", "@types/nprogress": "^0.2.0", "@types/remove-markdown": "^0.3.1", - "@typescript-eslint/eslint-plugin": "^4.31.1", - "@typescript-eslint/parser": "^4.31.1", "cross-env": "^7.0.3", "dotenv": "^8.2.0", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-svelte3": "^3.2.1", - "jest": "^27.4.5", "postcss": "^8.2.6", "postcss-load-config": "^3.1.0", "postcss-nested": "^5.0.3", - "prettier": "^2.4.1", - "prettier-plugin-svelte": "^2.4.0", - "svelte": "^3.34.0", - "svelte-check": "^2.2.6", - "svelte-jester": "^2.1.5", - "svelte-preprocess": "^4.9.4", - "ts-jest": "^27.1.2", - "tslib": "^2.3.1", - "typescript": "^4.4.3" + "tslib": "^2.3.1" } } diff --git a/apps/web/pnpm-lock.yaml b/apps/web/pnpm-lock.yaml index 4660e569..ca47bb6e 100644 --- a/apps/web/pnpm-lock.yaml +++ b/apps/web/pnpm-lock.yaml @@ -1,4193 +1,721 @@ -lockfileVersion: 5.3 +lockfileVersion: '6.0' -specifiers: - '@bgs/types': workspace:* - '@bgs/utils': workspace:* - '@iconify/icons-bi': ^1.1.12 - '@iconify/svelte': ^2.1.0 - '@sveltejs/adapter-node': ^1.0.0-next.58 - '@sveltejs/kit': 1.0.0-next.216 - '@testing-library/jest-dom': ^5.16.1 - '@testing-library/svelte': ^3.0.3 - '@types/cookie': ^0.4.1 - '@types/dompurify': ^2.2.1 - '@types/jest': ^27.0.3 - '@types/lodash': ^4.14.168 - '@types/marked': ^2.0.0 - '@types/nprogress': ^0.2.0 - '@types/remove-markdown': ^0.3.1 - '@typescript-eslint/eslint-plugin': ^4.31.1 - '@typescript-eslint/parser': ^4.31.1 - awesome-notifications: ^3.1.1 - bootstrap: ^5.1.0 - cross-env: ^7.0.3 - dompurify: ^2.3.1 - dotenv: ^8.2.0 - eslint: ^7.32.0 - eslint-config-prettier: ^8.3.0 - eslint-plugin-svelte3: ^3.2.1 - eventemitter3: ^4.0.7 - jest: ^27.4.5 - lodash: npm:lodash-es@^4.17.21 - marked: ^3.0.2 - nprogress: ^0.2.0 - postcss: ^8.2.6 - postcss-load-config: ^3.1.0 - postcss-nested: ^5.0.3 - prettier: ^2.4.1 - prettier-plugin-svelte: ^2.4.0 - remove-markdown: ^0.3.0 - svelte: ^3.44.1 - svelte-check: ^2.2.6 - svelte-jester: ^2.1.5 - svelte-preprocess: ^4.9.4 - sveltestrap: ^5.6.2 - ts-jest: ^27.1.2 - tslib: ^2.3.1 - type-fest: ^2.1.0 - typescript: ^4.4.3 +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false dependencies: - '@bgs/types': link:../../packages/types - '@bgs/utils': link:../../packages/utils - '@iconify/icons-bi': 1.1.12 - '@iconify/svelte': 2.1.0 - awesome-notifications: 3.1.1 - bootstrap: 5.1.0 - dompurify: 2.3.1 - eventemitter3: 4.0.7 - lodash: /lodash-es/4.17.21 - marked: 3.0.2 - nprogress: 0.2.0 - remove-markdown: 0.3.0 - svelte: 3.44.1 - sveltestrap: 5.6.2_svelte@3.44.1 - type-fest: 2.1.0 + '@bgs/types': + specifier: workspace:* + version: link:../../packages/types + '@bgs/utils': + specifier: workspace:* + version: link:../../packages/utils + '@iconify/icons-bi': + specifier: ^1.1.12 + version: 1.1.12 + '@iconify/svelte': + specifier: ^2.1.0 + version: 2.1.0 + awesome-notifications: + specifier: ^3.1.1 + version: 3.1.1 + bootstrap: + specifier: ^5.1.0 + version: 5.1.0(@popperjs/core@2.9.3) + dompurify: + specifier: ^2.3.1 + version: 2.3.1 + eventemitter3: + specifier: ^4.0.7 + version: 4.0.7 + lodash: + specifier: npm:lodash-es@^4.17.21 + version: /lodash-es@4.17.21 + marked: + specifier: ^3.0.2 + version: 3.0.2 + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + remove-markdown: + specifier: ^0.3.0 + version: 0.3.0 + sveltestrap: + specifier: ^5.6.2 + version: 5.6.2(svelte@3.44.1) + type-fest: + specifier: ^2.1.0 + version: 2.1.0 devDependencies: - '@sveltejs/adapter-node': 1.0.0-next.58 - '@sveltejs/kit': 1.0.0-next.216_svelte@3.44.1 - '@testing-library/jest-dom': 5.16.1 - '@testing-library/svelte': 3.0.3_svelte@3.44.1 - '@types/cookie': 0.4.1 - '@types/dompurify': 2.2.1 - '@types/jest': 27.0.3 - '@types/lodash': 4.14.168 - '@types/marked': 2.0.0 - '@types/nprogress': 0.2.0 - '@types/remove-markdown': 0.3.1 - '@typescript-eslint/eslint-plugin': 4.33.0_cc617358c89d3f38c52462f6d809db4c - '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.4.4 - cross-env: 7.0.3 - dotenv: 8.2.0 - eslint: 7.32.0 - eslint-config-prettier: 8.3.0_eslint@7.32.0 - eslint-plugin-svelte3: 3.2.1_eslint@7.32.0+svelte@3.44.1 - jest: 27.4.5 - postcss: 8.2.6 - postcss-load-config: 3.1.0 - postcss-nested: 5.0.3_postcss@8.2.6 - prettier: 2.4.1 - prettier-plugin-svelte: 2.4.0_prettier@2.4.1+svelte@3.44.1 - svelte-check: 2.2.7_8073e26ae3f6ac72309a046ec25e6928 - svelte-jester: 2.1.5_jest@27.4.5+svelte@3.44.1 - svelte-preprocess: 4.9.8_1d62c4400e98fd41abe023093c8f6704 - ts-jest: 27.1.2_5bf4c59185befb5d2504874dfb908199 - tslib: 2.3.1 - typescript: 4.4.4 + '@sveltejs/adapter-node': + specifier: ^1.0.0-next.58 + version: 1.0.0-next.58 + '@sveltejs/kit': + specifier: 1.0.0-next.216 + version: 1.0.0-next.216(svelte@3.44.1) + '@types/cookie': + specifier: ^0.4.1 + version: 0.4.1 + '@types/dompurify': + specifier: ^2.2.1 + version: 2.2.1 + '@types/lodash': + specifier: ^4.14.168 + version: 4.14.168 + '@types/marked': + specifier: ^2.0.0 + version: 2.0.0 + '@types/nprogress': + specifier: ^0.2.0 + version: 0.2.0 + '@types/remove-markdown': + specifier: ^0.3.1 + version: 0.3.1 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + dotenv: + specifier: ^8.2.0 + version: 8.2.0 + postcss: + specifier: ^8.2.6 + version: 8.2.6 + postcss-load-config: + specifier: ^3.1.0 + version: 3.1.0 + postcss-nested: + specifier: ^5.0.3 + version: 5.0.3(postcss@8.2.6) + tslib: + specifier: ^2.3.1 + version: 2.3.1 packages: - /@babel/code-frame/7.12.11: - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} - dependencies: - '@babel/highlight': 7.10.4 - dev: true + /@iconify/icons-bi@1.1.12: + resolution: {integrity: sha512-qypVj7usLPsxU1oXaxjDbXC5T6Vxsruv6deKQTSDMyCb7bu9e5gYMbavspLvPqQmMfAb9lqc/C0iYSDrszM8qQ==} + dev: false - /@babel/code-frame/7.16.0: - resolution: {integrity: sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==} - engines: {node: '>=6.9.0'} + /@iconify/svelte@2.1.0: + resolution: {integrity: sha512-p2e42XCAGohnRRhnB/GouMXJtnlUQlbaqC3FEg7+aDOhqA0zGvNJzbvIW1TQJZpW5Leij5UcGP5ImQ5SZ8vJmQ==} dependencies: - '@babel/highlight': 7.16.0 - dev: true + cross-fetch: 3.1.4 + dev: false - /@babel/compat-data/7.16.4: - resolution: {integrity: sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==} - engines: {node: '>=6.9.0'} - dev: true + /@popperjs/core@2.9.3: + resolution: {integrity: sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ==} + dev: false - /@babel/core/7.16.5: - resolution: {integrity: sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==} - engines: {node: '>=6.9.0'} + /@rollup/pluginutils@4.1.2: + resolution: {integrity: sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==} + engines: {node: '>= 8.0.0'} dependencies: - '@babel/code-frame': 7.16.0 - '@babel/generator': 7.16.5 - '@babel/helper-compilation-targets': 7.16.3_@babel+core@7.16.5 - '@babel/helper-module-transforms': 7.16.5 - '@babel/helpers': 7.16.5 - '@babel/parser': 7.16.6 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 - convert-source-map: 1.8.0 - debug: 4.3.2 - gensync: 1.0.0-beta.2 - json5: 2.2.0 - semver: 6.3.0 - source-map: 0.5.7 - transitivePeerDependencies: - - supports-color + estree-walker: 2.0.2 + picomatch: 2.3.0 dev: true - /@babel/generator/7.16.5: - resolution: {integrity: sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==} - engines: {node: '>=6.9.0'} + /@sveltejs/adapter-node@1.0.0-next.58: + resolution: {integrity: sha512-XU+QV5qIhHE8hNu2DmhWdpW4m5O7yq/Dw12eHI2rzZkSsiLPzIryKK7221vmjGCRUVmsLHeBf2VPk9T4pKM6Aw==} dependencies: - '@babel/types': 7.16.0 - jsesc: 2.5.2 - source-map: 0.5.7 + tiny-glob: 0.2.9 dev: true - /@babel/helper-compilation-targets/7.16.3_@babel+core@7.16.5: - resolution: {integrity: sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==} - engines: {node: '>=6.9.0'} + /@sveltejs/kit@1.0.0-next.216(svelte@3.44.1): + resolution: {integrity: sha512-FKg7PPlymsZ2aU8DteY1BH217M2dIAgfWzm8OVqazQn2uLbw25WbVqSJ5KdgW83mLYoxSWUNPrJX3TJNEG6jVg==} + engines: {node: '>=14.13'} + hasBin: true peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.16.4 - '@babel/core': 7.16.5 - '@babel/helper-validator-option': 7.14.5 - browserslist: 4.19.1 - semver: 6.3.0 - dev: true - - /@babel/helper-environment-visitor/7.16.5: - resolution: {integrity: sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==} - engines: {node: '>=6.9.0'} + svelte: ^3.44.0 dependencies: - '@babel/types': 7.16.0 + '@sveltejs/vite-plugin-svelte': 1.0.0-next.33(svelte@3.44.1)(vite@2.7.10) + sade: 1.7.4 + svelte: 3.44.1 + vite: 2.7.10 + transitivePeerDependencies: + - diff-match-patch + - less + - sass + - stylus + - supports-color dev: true - /@babel/helper-function-name/7.16.0: - resolution: {integrity: sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==} - engines: {node: '>=6.9.0'} + /@sveltejs/vite-plugin-svelte@1.0.0-next.33(svelte@3.44.1)(vite@2.7.10): + resolution: {integrity: sha512-aj0h2+ZixgT+yoJFIs8dRRw/Cj9tgNu3+hY4CJikpa04mfhR61wXqJFfi2ZEFMUvFda5nCxKYIChFkc6wq5fJA==} + engines: {node: ^14.13.1 || >= 16} + peerDependencies: + diff-match-patch: ^1.0.5 + svelte: ^3.44.0 + vite: ^2.7.0 + peerDependenciesMeta: + diff-match-patch: + optional: true dependencies: - '@babel/helper-get-function-arity': 7.16.0 - '@babel/template': 7.16.0 - '@babel/types': 7.16.0 + '@rollup/pluginutils': 4.1.2 + debug: 4.3.3 + kleur: 4.1.4 + magic-string: 0.25.7 + require-relative: 0.8.7 + svelte: 3.44.1 + svelte-hmr: 0.14.9(svelte@3.44.1) + vite: 2.7.10 + transitivePeerDependencies: + - supports-color dev: true - /@babel/helper-get-function-arity/7.16.0: - resolution: {integrity: sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 + /@types/cookie@0.4.1: + resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: true - /@babel/helper-hoist-variables/7.16.0: - resolution: {integrity: sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==} - engines: {node: '>=6.9.0'} + /@types/dompurify@2.2.1: + resolution: {integrity: sha512-3JwbEeRVQ3n6+JgBW/hCdkydRk9/vWT+UEglcXEJqLJEcUganDH37zlfLznxPKTZZfDqA9K229l1qN458ubcOQ==} dependencies: - '@babel/types': 7.16.0 + '@types/trusted-types': 2.0.0 dev: true - /@babel/helper-module-imports/7.16.0: - resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 + /@types/lodash@4.14.168: + resolution: {integrity: sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==} dev: true - /@babel/helper-module-transforms/7.16.5: - resolution: {integrity: sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-module-imports': 7.16.0 - '@babel/helper-simple-access': 7.16.0 - '@babel/helper-split-export-declaration': 7.16.0 - '@babel/helper-validator-identifier': 7.15.7 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 - transitivePeerDependencies: - - supports-color + /@types/marked@2.0.0: + resolution: {integrity: sha512-kSOVa3R6HJvFdd3UIbTYvrSBTPHjXhNErh7/8oSCKOwqdOkk4Oj8N77n+f6dsgd1jW3j3SU5EhnmRxPhNKOmtQ==} dev: true - /@babel/helper-plugin-utils/7.16.5: - resolution: {integrity: sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==} - engines: {node: '>=6.9.0'} + /@types/nprogress@0.2.0: + resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} dev: true - /@babel/helper-simple-access/7.16.0: - resolution: {integrity: sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 + /@types/remove-markdown@0.3.1: + resolution: {integrity: sha512-JpJNEJEsmmltyL2LdE8KRjJ0L2ad5vgLibqNj85clohT9AyTrfN6jvHxStPshDkmtcL/ShFu0p2tbY7DBS1mqQ==} dev: true - /@babel/helper-split-export-declaration/7.16.0: - resolution: {integrity: sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 + /@types/trusted-types@2.0.0: + resolution: {integrity: sha512-I8MnZqNXsOLHsU111oHbn3khtvKMi5Bn4qVFsIWSJcCP1KKDiXX5AEw8UPk0nSopeC+Hvxt6yAy1/a5PailFqg==} dev: true - /@babel/helper-validator-identifier/7.12.11: - resolution: {integrity: sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==} - dev: true + /awesome-notifications@3.1.1: + resolution: {integrity: sha512-JeWVPLJq9ozLCh1uNuUf3tFIuRSiyfpIwkei1cJ9t7Ivh+Fpac63JHCTrGyx8gtpTvSgth0Q2xKyUOBkZEk7gA==} + dev: false - /@babel/helper-validator-identifier/7.15.7: - resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==} - engines: {node: '>=6.9.0'} - dev: true + /bootstrap@5.1.0(@popperjs/core@2.9.3): + resolution: {integrity: sha512-bs74WNI9BgBo3cEovmdMHikSKoXnDgA6VQjJ7TyTotU6L7d41ZyCEEelPwkYEzsG/Zjv3ie9IE3EMAje0W9Xew==} + peerDependencies: + '@popperjs/core': ^2.9.3 + dependencies: + '@popperjs/core': 2.9.3 + dev: false - /@babel/helper-validator-option/7.14.5: - resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==} - engines: {node: '>=6.9.0'} + /colorette@1.2.1: + resolution: {integrity: sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==} dev: true - /@babel/helpers/7.16.5: - resolution: {integrity: sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==} - engines: {node: '>=6.9.0'} + /cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true dependencies: - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 - transitivePeerDependencies: - - supports-color + cross-spawn: 7.0.3 dev: true - /@babel/highlight/7.10.4: - resolution: {integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==} + /cross-fetch@3.1.4: + resolution: {integrity: sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==} dependencies: - '@babel/helper-validator-identifier': 7.12.11 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true + node-fetch: 2.6.1 + dev: false - /@babel/highlight/7.16.0: - resolution: {integrity: sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==} - engines: {node: '>=6.9.0'} + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: - '@babel/helper-validator-identifier': 7.15.7 - chalk: 2.4.2 - js-tokens: 4.0.0 + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 dev: true - /@babel/parser/7.16.6: - resolution: {integrity: sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==} - engines: {node: '>=6.0.0'} + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} hasBin: true dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.16.5: - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + /debug@4.3.3: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} + engines: {node: '>=6.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + ms: 2.1.2 dev: true - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.16.5: - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 - dev: true + /dompurify@2.3.1: + resolution: {integrity: sha512-xGWt+NHAQS+4tpgbOAI08yxW0Pr256Gu/FNE2frZVTbgrBUn8M7tz7/ktS/LZ2MHeGqz6topj0/xY+y8R5FBFw==} + dev: false - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.16.5: - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /dotenv@8.2.0: + resolution: {integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==} + engines: {node: '>=8'} dev: true - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.16.5: - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /esbuild-android-arm64@0.13.15: + resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==} + cpu: [arm64] + os: [android] + requiresBuild: true dev: true + optional: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.16.5: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /esbuild-darwin-64@0.13.15: + resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==} + cpu: [x64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.16.5: - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /esbuild-darwin-arm64@0.13.15: + resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.16.5: - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /esbuild-freebsd-64@0.13.15: + resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==} + cpu: [x64] + os: [freebsd] + requiresBuild: true dev: true + optional: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.16.5: - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /esbuild-freebsd-arm64@0.13.15: + resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==} + cpu: [arm64] + os: [freebsd] + requiresBuild: true dev: true + optional: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.16.5: - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /esbuild-linux-32@0.13.15: + resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==} + cpu: [ia32] + os: [linux] + requiresBuild: true dev: true + optional: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.16.5: - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /esbuild-linux-64@0.13.15: + resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.16.5: - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /esbuild-linux-arm64@0.13.15: + resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==} + cpu: [arm64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.16.5: - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /esbuild-linux-arm@0.13.15: + resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==} + cpu: [arm] + os: [linux] + requiresBuild: true dev: true + optional: true - /@babel/plugin-syntax-typescript/7.16.5_@babel+core@7.16.5: - resolution: {integrity: sha512-/d4//lZ1Vqb4mZ5xTep3dDK888j7BGM/iKqBmndBaoYAFPlPKrGU608VVBz5JeyAb6YQDjRu1UKqj86UhwWVgw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.5 - '@babel/helper-plugin-utils': 7.16.5 + /esbuild-linux-mips64le@0.13.15: + resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==} + cpu: [mips64el] + os: [linux] + requiresBuild: true dev: true + optional: true - /@babel/runtime-corejs3/7.16.5: - resolution: {integrity: sha512-F1pMwvTiUNSAM8mc45kccMQxj31x3y3P+tA/X8hKNWp3/hUsxdGxZ3D3H8JIkxtfA8qGkaBTKvcmvStaYseAFw==} - engines: {node: '>=6.9.0'} - dependencies: - core-js-pure: 3.20.0 - regenerator-runtime: 0.13.9 + /esbuild-linux-ppc64le@0.13.15: + resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==} + cpu: [ppc64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@babel/runtime/7.16.5: - resolution: {integrity: sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.9 + /esbuild-netbsd-64@0.13.15: + resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==} + cpu: [x64] + os: [netbsd] + requiresBuild: true dev: true + optional: true - /@babel/template/7.16.0: - resolution: {integrity: sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.0 - '@babel/parser': 7.16.6 - '@babel/types': 7.16.0 + /esbuild-openbsd-64@0.13.15: + resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==} + cpu: [x64] + os: [openbsd] + requiresBuild: true dev: true + optional: true - /@babel/traverse/7.16.5: - resolution: {integrity: sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.0 - '@babel/generator': 7.16.5 - '@babel/helper-environment-visitor': 7.16.5 - '@babel/helper-function-name': 7.16.0 - '@babel/helper-hoist-variables': 7.16.0 - '@babel/helper-split-export-declaration': 7.16.0 - '@babel/parser': 7.16.6 - '@babel/types': 7.16.0 - debug: 4.3.2 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color + /esbuild-sunos-64@0.13.15: + resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==} + cpu: [x64] + os: [sunos] + requiresBuild: true dev: true + optional: true - /@babel/types/7.16.0: - resolution: {integrity: sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.15.7 - to-fast-properties: 2.0.0 + /esbuild-windows-32@0.13.15: + resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==} + cpu: [ia32] + os: [win32] + requiresBuild: true dev: true + optional: true - /@bcoe/v8-coverage/0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + /esbuild-windows-64@0.13.15: + resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@eslint/eslintrc/0.4.3: - resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.2 - espree: 7.3.1 - globals: 13.11.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - js-yaml: 3.14.1 - minimatch: 3.0.4 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color + /esbuild-windows-arm64@0.13.15: + resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==} + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@humanwhocodes/config-array/0.5.0: - resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.0 - debug: 4.3.2 - minimatch: 3.0.4 - transitivePeerDependencies: - - supports-color + /esbuild@0.13.15: + resolution: {integrity: sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==} + hasBin: true + requiresBuild: true + optionalDependencies: + esbuild-android-arm64: 0.13.15 + esbuild-darwin-64: 0.13.15 + esbuild-darwin-arm64: 0.13.15 + esbuild-freebsd-64: 0.13.15 + esbuild-freebsd-arm64: 0.13.15 + esbuild-linux-32: 0.13.15 + esbuild-linux-64: 0.13.15 + esbuild-linux-arm: 0.13.15 + esbuild-linux-arm64: 0.13.15 + esbuild-linux-mips64le: 0.13.15 + esbuild-linux-ppc64le: 0.13.15 + esbuild-netbsd-64: 0.13.15 + esbuild-openbsd-64: 0.13.15 + esbuild-sunos-64: 0.13.15 + esbuild-windows-32: 0.13.15 + esbuild-windows-64: 0.13.15 + esbuild-windows-arm64: 0.13.15 dev: true - /@humanwhocodes/object-schema/1.2.0: - resolution: {integrity: sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==} + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true - /@iconify/icons-bi/1.1.12: - resolution: {integrity: sha512-qypVj7usLPsxU1oXaxjDbXC5T6Vxsruv6deKQTSDMyCb7bu9e5gYMbavspLvPqQmMfAb9lqc/C0iYSDrszM8qQ==} + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: false - /@iconify/svelte/2.1.0: - resolution: {integrity: sha512-p2e42XCAGohnRRhnB/GouMXJtnlUQlbaqC3FEg7+aDOhqA0zGvNJzbvIW1TQJZpW5Leij5UcGP5ImQ5SZ8vJmQ==} - dependencies: - cross-fetch: 3.1.4 - dev: false - - /@istanbuljs/load-nyc-config/1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - dev: true - - /@istanbuljs/schema/0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/console/27.4.2: - resolution: {integrity: sha512-xknHThRsPB/To1FUbi6pCe43y58qFC03zfb6R7fDb/FfC7k2R3i1l+izRBJf8DI46KhYGRaF14Eo9A3qbBoixg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - chalk: 4.1.0 - jest-message-util: 27.4.2 - jest-util: 27.4.2 - slash: 3.0.0 - dev: true - - /@jest/core/27.4.5: - resolution: {integrity: sha512-3tm/Pevmi8bDsgvo73nX8p/WPng6KWlCyScW10FPEoN1HU4pwI83tJ3TsFvi1FfzsjwUlMNEPowgb/rPau/LTQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/console': 27.4.2 - '@jest/reporters': 27.4.5 - '@jest/test-result': 27.4.2 - '@jest/transform': 27.4.5 - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - ansi-escapes: 4.3.2 - chalk: 4.1.0 - emittery: 0.8.1 - exit: 0.1.2 - graceful-fs: 4.2.8 - jest-changed-files: 27.4.2 - jest-config: 27.4.5 - jest-haste-map: 27.4.5 - jest-message-util: 27.4.2 - jest-regex-util: 27.4.0 - jest-resolve: 27.4.5 - jest-resolve-dependencies: 27.4.5 - jest-runner: 27.4.5 - jest-runtime: 27.4.5 - jest-snapshot: 27.4.5 - jest-util: 27.4.2 - jest-validate: 27.4.2 - jest-watcher: 27.4.2 - micromatch: 4.0.4 - rimraf: 3.0.2 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /@jest/environment/27.4.4: - resolution: {integrity: sha512-q+niMx7cJgt/t/b6dzLOh4W8Ef/8VyKG7hxASK39jakijJzbFBGpptx3RXz13FFV7OishQ9lTbv+dQ5K3EhfDQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/fake-timers': 27.4.2 - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - jest-mock: 27.4.2 - dev: true - - /@jest/fake-timers/27.4.2: - resolution: {integrity: sha512-f/Xpzn5YQk5adtqBgvw1V6bF8Nx3hY0OIRRpCvWcfPl0EAjdqWPdhH3t/3XpiWZqtjIEHDyMKP9ajpva1l4Zmg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - '@sinonjs/fake-timers': 8.1.0 - '@types/node': 14.14.22 - jest-message-util: 27.4.2 - jest-mock: 27.4.2 - jest-util: 27.4.2 - dev: true - - /@jest/globals/27.4.4: - resolution: {integrity: sha512-bqpqQhW30BOreXM8bA8t8JbOQzsq/WnPTnBl+It3UxAD9J8yxEAaBEylHx1dtBapAr/UBk8GidXbzmqnee8tYQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.4.4 - '@jest/types': 27.4.2 - expect: 27.4.2 - dev: true - - /@jest/reporters/27.4.5: - resolution: {integrity: sha512-3orsG4vi8zXuBqEoy2LbnC1kuvkg1KQUgqNxmxpQgIOQEPeV0onvZu+qDQnEoX8qTQErtqn/xzcnbpeTuOLSiA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 27.4.2 - '@jest/test-result': 27.4.2 - '@jest/transform': 27.4.5 - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - chalk: 4.1.0 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.1.6 - graceful-fs: 4.2.8 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 4.0.3 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.1 - jest-haste-map: 27.4.5 - jest-resolve: 27.4.5 - jest-util: 27.4.2 - jest-worker: 27.4.5 - slash: 3.0.0 - source-map: 0.6.1 - string-length: 4.0.2 - terminal-link: 2.1.1 - v8-to-istanbul: 8.1.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/source-map/27.4.0: - resolution: {integrity: sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - callsites: 3.1.0 - graceful-fs: 4.2.8 - source-map: 0.6.1 - dev: true - - /@jest/test-result/27.4.2: - resolution: {integrity: sha512-kr+bCrra9jfTgxHXHa2UwoQjxvQk3Am6QbpAiJ5x/50LW8llOYrxILkqY0lZRW/hu8FXesnudbql263+EW9iNA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/console': 27.4.2 - '@jest/types': 27.4.2 - '@types/istanbul-lib-coverage': 2.0.3 - collect-v8-coverage: 1.0.1 - dev: true - - /@jest/test-sequencer/27.4.5: - resolution: {integrity: sha512-n5woIn/1v+FT+9hniymHPARA9upYUmfi5Pw9ewVwXCDlK4F5/Gkees9v8vdjGdAIJ2MPHLHodiajLpZZanWzEQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/test-result': 27.4.2 - graceful-fs: 4.2.8 - jest-haste-map: 27.4.5 - jest-runtime: 27.4.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/transform/27.4.5: - resolution: {integrity: sha512-PuMet2UlZtlGzwc6L+aZmR3I7CEBpqadO03pU40l2RNY2fFJ191b9/ITB44LNOhVtsyykx0OZvj0PCyuLm7Eew==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/core': 7.16.5 - '@jest/types': 27.4.2 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.0 - convert-source-map: 1.8.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.8 - jest-haste-map: 27.4.5 - jest-regex-util: 27.4.0 - jest-util: 27.4.2 - micromatch: 4.0.4 - pirates: 4.0.4 - slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/types/26.6.2: - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - '@types/istanbul-reports': 3.0.1 - '@types/node': 14.14.22 - '@types/yargs': 15.0.14 - chalk: 4.1.0 - dev: true - - /@jest/types/27.4.2: - resolution: {integrity: sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - '@types/istanbul-reports': 3.0.1 - '@types/node': 14.14.22 - '@types/yargs': 16.0.4 - chalk: 4.1.0 - dev: true - - /@nodelib/fs.scandir/2.1.4: - resolution: {integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.4 - run-parallel: 1.1.10 - dev: true - - /@nodelib/fs.stat/2.0.4: - resolution: {integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk/1.2.6: - resolution: {integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.4 - fastq: 1.10.0 - dev: true - - /@popperjs/core/2.9.3: - resolution: {integrity: sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ==} - dev: false - - /@rollup/pluginutils/4.1.2: - resolution: {integrity: sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==} - engines: {node: '>= 8.0.0'} - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.0 - dev: true - - /@sinonjs/commons/1.8.3: - resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} - dependencies: - type-detect: 4.0.8 - dev: true - - /@sinonjs/fake-timers/8.1.0: - resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} - dependencies: - '@sinonjs/commons': 1.8.3 - dev: true - - /@sveltejs/adapter-node/1.0.0-next.58: - resolution: {integrity: sha512-XU+QV5qIhHE8hNu2DmhWdpW4m5O7yq/Dw12eHI2rzZkSsiLPzIryKK7221vmjGCRUVmsLHeBf2VPk9T4pKM6Aw==} - dependencies: - tiny-glob: 0.2.9 - dev: true - - /@sveltejs/kit/1.0.0-next.216_svelte@3.44.1: - resolution: {integrity: sha512-FKg7PPlymsZ2aU8DteY1BH217M2dIAgfWzm8OVqazQn2uLbw25WbVqSJ5KdgW83mLYoxSWUNPrJX3TJNEG6jVg==} - engines: {node: '>=14.13'} - hasBin: true - peerDependencies: - svelte: ^3.44.0 - dependencies: - '@sveltejs/vite-plugin-svelte': 1.0.0-next.33_svelte@3.44.1+vite@2.7.10 - sade: 1.7.4 - svelte: 3.44.1 - vite: 2.7.10 - transitivePeerDependencies: - - diff-match-patch - - less - - sass - - stylus - - supports-color - dev: true - - /@sveltejs/vite-plugin-svelte/1.0.0-next.33_svelte@3.44.1+vite@2.7.10: - resolution: {integrity: sha512-aj0h2+ZixgT+yoJFIs8dRRw/Cj9tgNu3+hY4CJikpa04mfhR61wXqJFfi2ZEFMUvFda5nCxKYIChFkc6wq5fJA==} - engines: {node: ^14.13.1 || >= 16} - peerDependencies: - diff-match-patch: ^1.0.5 - svelte: ^3.44.0 - vite: ^2.7.0 - peerDependenciesMeta: - diff-match-patch: - optional: true - dependencies: - '@rollup/pluginutils': 4.1.2 - debug: 4.3.3 - kleur: 4.1.4 - magic-string: 0.25.7 - require-relative: 0.8.7 - svelte: 3.44.1 - svelte-hmr: 0.14.9_svelte@3.44.1 - vite: 2.7.10 - transitivePeerDependencies: - - supports-color - dev: true - - /@testing-library/dom/7.31.2: - resolution: {integrity: sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==} - engines: {node: '>=10'} - dependencies: - '@babel/code-frame': 7.12.11 - '@babel/runtime': 7.16.5 - '@types/aria-query': 4.2.2 - aria-query: 4.2.2 - chalk: 4.1.0 - dom-accessibility-api: 0.5.10 - lz-string: 1.4.4 - pretty-format: 26.6.2 - dev: true - - /@testing-library/jest-dom/5.16.1: - resolution: {integrity: sha512-ajUJdfDIuTCadB79ukO+0l8O+QwN0LiSxDaYUTI4LndbbUsGi6rWU1SCexXzBA2NSjlVB9/vbkasQIL3tmPBjw==} - engines: {node: '>=8', npm: '>=6', yarn: '>=1'} - dependencies: - '@babel/runtime': 7.16.5 - '@types/testing-library__jest-dom': 5.14.2 - aria-query: 5.0.0 - chalk: 3.0.0 - css: 3.0.0 - css.escape: 1.5.1 - dom-accessibility-api: 0.5.10 - lodash: 4.17.21 - redent: 3.0.0 - dev: true - - /@testing-library/svelte/3.0.3_svelte@3.44.1: - resolution: {integrity: sha512-GxafAllShGM2nkntFGURZ7fYVlUYwv7K62lqv1aFqtTYzzeZ2Cu8zTVhtE/Qt3bk2zMl6+FPKP03wjLip/G8mA==} - engines: {node: '>= 8'} - peerDependencies: - svelte: 3.x - dependencies: - '@testing-library/dom': 7.31.2 - svelte: 3.44.1 - dev: true - - /@tootallnate/once/1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - dev: true - - /@types/aria-query/4.2.2: - resolution: {integrity: sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==} - dev: true - - /@types/babel__core/7.1.17: - resolution: {integrity: sha512-6zzkezS9QEIL8yCBvXWxPTJPNuMeECJVxSOhxNY/jfq9LxOTHivaYTqr37n9LknWWRTIkzqH2UilS5QFvfa90A==} - dependencies: - '@babel/parser': 7.16.6 - '@babel/types': 7.16.0 - '@types/babel__generator': 7.6.3 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.14.2 - dev: true - - /@types/babel__generator/7.6.3: - resolution: {integrity: sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==} - dependencies: - '@babel/types': 7.16.0 - dev: true - - /@types/babel__template/7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} - dependencies: - '@babel/parser': 7.16.6 - '@babel/types': 7.16.0 - dev: true - - /@types/babel__traverse/7.14.2: - resolution: {integrity: sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==} - dependencies: - '@babel/types': 7.16.0 - dev: true - - /@types/cookie/0.4.1: - resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} - dev: true - - /@types/dompurify/2.2.1: - resolution: {integrity: sha512-3JwbEeRVQ3n6+JgBW/hCdkydRk9/vWT+UEglcXEJqLJEcUganDH37zlfLznxPKTZZfDqA9K229l1qN458ubcOQ==} - dependencies: - '@types/trusted-types': 2.0.0 - dev: true - - /@types/graceful-fs/4.1.5: - resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} - dependencies: - '@types/node': 14.14.22 - dev: true - - /@types/istanbul-lib-coverage/2.0.3: - resolution: {integrity: sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==} - dev: true - - /@types/istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - dev: true - - /@types/istanbul-reports/3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true - - /@types/jest/27.0.3: - resolution: {integrity: sha512-cmmwv9t7gBYt7hNKH5Spu7Kuu/DotGa+Ff+JGRKZ4db5eh8PnKS4LuebJ3YLUoyOyIHraTGyULn23YtEAm0VSg==} - dependencies: - jest-diff: 27.4.2 - pretty-format: 27.4.2 - dev: true - - /@types/json-schema/7.0.9: - resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} - dev: true - - /@types/lodash/4.14.168: - resolution: {integrity: sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==} - dev: true - - /@types/marked/2.0.0: - resolution: {integrity: sha512-kSOVa3R6HJvFdd3UIbTYvrSBTPHjXhNErh7/8oSCKOwqdOkk4Oj8N77n+f6dsgd1jW3j3SU5EhnmRxPhNKOmtQ==} - dev: true - - /@types/node/14.14.22: - resolution: {integrity: sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==} - dev: true - - /@types/nprogress/0.2.0: - resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} - dev: true - - /@types/prettier/2.4.2: - resolution: {integrity: sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==} - dev: true - - /@types/pug/2.0.4: - resolution: {integrity: sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI=} - dev: true - - /@types/remove-markdown/0.3.1: - resolution: {integrity: sha512-JpJNEJEsmmltyL2LdE8KRjJ0L2ad5vgLibqNj85clohT9AyTrfN6jvHxStPshDkmtcL/ShFu0p2tbY7DBS1mqQ==} - dev: true - - /@types/sass/1.16.0: - resolution: {integrity: sha512-2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA==} - dependencies: - '@types/node': 14.14.22 - dev: true - - /@types/stack-utils/2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true - - /@types/testing-library__jest-dom/5.14.2: - resolution: {integrity: sha512-vehbtyHUShPxIa9SioxDwCvgxukDMH//icJG90sXQBUm5lJOHLT5kNeU9tnivhnA/TkOFMzGIXN2cTc4hY8/kg==} - dependencies: - '@types/jest': 27.0.3 - dev: true - - /@types/trusted-types/2.0.0: - resolution: {integrity: sha512-I8MnZqNXsOLHsU111oHbn3khtvKMi5Bn4qVFsIWSJcCP1KKDiXX5AEw8UPk0nSopeC+Hvxt6yAy1/a5PailFqg==} - dev: true - - /@types/yargs-parser/20.2.1: - resolution: {integrity: sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==} - dev: true - - /@types/yargs/15.0.14: - resolution: {integrity: sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==} - dependencies: - '@types/yargs-parser': 20.2.1 - dev: true - - /@types/yargs/16.0.4: - resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==} - dependencies: - '@types/yargs-parser': 20.2.1 - dev: true - - /@typescript-eslint/eslint-plugin/4.33.0_cc617358c89d3f38c52462f6d809db4c: - resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - '@typescript-eslint/parser': ^4.0.0 - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/experimental-utils': 4.33.0_eslint@7.32.0+typescript@4.4.4 - '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.4.4 - '@typescript-eslint/scope-manager': 4.33.0 - debug: 4.3.2 - eslint: 7.32.0 - functional-red-black-tree: 1.0.1 - ignore: 5.1.8 - regexpp: 3.2.0 - semver: 7.3.5 - tsutils: 3.21.0_typescript@4.4.4 - typescript: 4.4.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/experimental-utils/4.33.0_eslint@7.32.0+typescript@4.4.4: - resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: '*' - dependencies: - '@types/json-schema': 7.0.9 - '@typescript-eslint/scope-manager': 4.33.0 - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.4.4 - eslint: 7.32.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@7.32.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/parser/4.33.0_eslint@7.32.0+typescript@4.4.4: - resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 4.33.0 - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.4.4 - debug: 4.3.2 - eslint: 7.32.0 - typescript: 4.4.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager/4.33.0: - resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 - dev: true - - /@typescript-eslint/types/4.33.0: - resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dev: true - - /@typescript-eslint/typescript-estree/4.33.0_typescript@4.4.4: - resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 - debug: 4.3.2 - globby: 11.0.4 - is-glob: 4.0.1 - semver: 7.3.5 - tsutils: 3.21.0_typescript@4.4.4 - typescript: 4.4.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/visitor-keys/4.33.0: - resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dependencies: - '@typescript-eslint/types': 4.33.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /abab/2.0.5: - resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==} - dev: true - - /acorn-globals/6.0.0: - resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - dev: true - - /acorn-jsx/5.3.2_acorn@7.4.1: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 7.4.1 - dev: true - - /acorn-walk/7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /acorn/8.6.0: - resolution: {integrity: sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /agent-base/6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - dependencies: - debug: 4.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /ajv/6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv/8.6.3: - resolution: {integrity: sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - - /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true - - /ansi-escapes/4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - - /ansi-regex/5.0.0: - resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==} - engines: {node: '>=8'} - dev: true - - /ansi-regex/5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles/3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - - /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles/5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /anymatch/3.1.1: - resolution: {integrity: sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.2.2 - dev: true - - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /aria-query/4.2.2: - resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} - engines: {node: '>=6.0'} - dependencies: - '@babel/runtime': 7.16.5 - '@babel/runtime-corejs3': 7.16.5 - dev: true - - /aria-query/5.0.0: - resolution: {integrity: sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==} - engines: {node: '>=6.0'} - dev: true - - /array-union/2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - - /asynckit/0.4.0: - resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} - dev: true - - /atob/2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - - /awesome-notifications/3.1.1: - resolution: {integrity: sha512-JeWVPLJq9ozLCh1uNuUf3tFIuRSiyfpIwkei1cJ9t7Ivh+Fpac63JHCTrGyx8gtpTvSgth0Q2xKyUOBkZEk7gA==} - dev: false - - /babel-jest/27.4.5_@babel+core@7.16.5: - resolution: {integrity: sha512-3uuUTjXbgtODmSv/DXO9nZfD52IyC2OYTFaXGRzL0kpykzroaquCrD5+lZNafTvZlnNqZHt5pb0M08qVBZnsnA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - dependencies: - '@babel/core': 7.16.5 - '@jest/transform': 27.4.5 - '@jest/types': 27.4.2 - '@types/babel__core': 7.1.17 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.4.0_@babel+core@7.16.5 - chalk: 4.1.0 - graceful-fs: 4.2.8 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-istanbul/6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - dependencies: - '@babel/helper-plugin-utils': 7.16.5 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.1.0 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-jest-hoist/27.4.0: - resolution: {integrity: sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/template': 7.16.0 - '@babel/types': 7.16.0 - '@types/babel__core': 7.1.17 - '@types/babel__traverse': 7.14.2 - dev: true - - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.16.5: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.5 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.16.5 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.16.5 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.16.5 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.16.5 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.16.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.16.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.16.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.16.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.16.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.16.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.16.5 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.16.5 - dev: true - - /babel-preset-jest/27.4.0_@babel+core@7.16.5: - resolution: {integrity: sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.5 - babel-plugin-jest-hoist: 27.4.0 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.5 - dev: true - - /balanced-match/1.0.0: - resolution: {integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c=} - dev: true - - /binary-extensions/2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - - /bootstrap/5.1.0: - resolution: {integrity: sha512-bs74WNI9BgBo3cEovmdMHikSKoXnDgA6VQjJ7TyTotU6L7d41ZyCEEelPwkYEzsG/Zjv3ie9IE3EMAje0W9Xew==} - peerDependencies: - '@popperjs/core': ^2.9.3 - dev: false - - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.0 - concat-map: 0.0.1 - dev: true - - /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /browser-process-hrtime/1.0.0: - resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} - dev: true - - /browserslist/4.19.1: - resolution: {integrity: sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001287 - electron-to-chromium: 1.4.24 - escalade: 3.1.1 - node-releases: 2.0.1 - picocolors: 1.0.0 - dev: true - - /bs-logger/0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - dependencies: - fast-json-stable-stringify: 2.1.0 - dev: true - - /bser/2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - dependencies: - node-int64: 0.4.0 - dev: true - - /buffer-crc32/0.2.13: - resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} - dev: true - - /buffer-from/1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - - /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /camelcase/5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true - - /camelcase/6.2.1: - resolution: {integrity: sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==} - engines: {node: '>=10'} - dev: true - - /caniuse-lite/1.0.30001287: - resolution: {integrity: sha512-4udbs9bc0hfNrcje++AxBuc6PfLNHwh3PO9kbwnfCQWyqtlzg3py0YgFu8jyRTTo85VAz4U+VLxSlID09vNtWA==} - dev: true - - /chalk/2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - - /chalk/3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /chalk/4.1.0: - resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /char-regex/1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - dev: true - - /chokidar/3.5.1: - resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.1 - braces: 3.0.2 - glob-parent: 5.1.1 - is-binary-path: 2.1.0 - is-glob: 4.0.1 - normalize-path: 3.0.0 - readdirp: 3.5.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /ci-info/3.3.0: - resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} - dev: true - - /cjs-module-lexer/1.2.2: - resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} - dev: true - - /cliui/7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /co/4.6.0: - resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true - - /collect-v8-coverage/1.0.1: - resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} - dev: true - - /color-convert/1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - - /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name/1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} - dev: true - - /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /colorette/1.2.1: - resolution: {integrity: sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==} - dev: true - - /combined-stream/1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: true - - /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - dev: true - - /convert-source-map/1.8.0: - resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} - dependencies: - safe-buffer: 5.1.2 - dev: true - - /core-js-pure/3.20.0: - resolution: {integrity: sha512-qsrbIwWSEEYOM7z616jAVgwhuDDtPLwZSpUsU3vyUkHYqKTf/uwOJBZg2V7lMurYWkpVlaVOxBrfX0Q3ppvjfg==} - requiresBuild: true - dev: true - - /cross-env/7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} - hasBin: true - dependencies: - cross-spawn: 7.0.3 - dev: true - - /cross-fetch/3.1.4: - resolution: {integrity: sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==} - dependencies: - node-fetch: 2.6.1 - dev: false - - /cross-spawn/7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /css.escape/1.5.1: - resolution: {integrity: sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=} - dev: true - - /css/3.0.0: - resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} - dependencies: - inherits: 2.0.4 - source-map: 0.6.1 - source-map-resolve: 0.6.0 - dev: true - - /cssesc/3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /cssom/0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - dev: true - - /cssom/0.4.4: - resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} - dev: true - - /cssstyle/2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} - dependencies: - cssom: 0.3.8 - dev: true - - /data-urls/2.0.0: - resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} - engines: {node: '>=10'} - dependencies: - abab: 2.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - dev: true - - /debug/4.3.2: - resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - - /debug/4.3.3: - resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - - /decimal.js/10.3.1: - resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} - dev: true - - /decode-uri-component/0.2.0: - resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} - engines: {node: '>=0.10'} - dev: true - - /dedent/0.7.0: - resolution: {integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=} - dev: true - - /deep-is/0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /deepmerge/4.2.2: - resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} - engines: {node: '>=0.10.0'} - dev: true - - /delayed-stream/1.0.0: - resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} - engines: {node: '>=0.4.0'} - dev: true - - /detect-indent/6.0.0: - resolution: {integrity: sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==} - engines: {node: '>=8'} - dev: true - - /detect-newline/3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true - - /diff-sequences/27.4.0: - resolution: {integrity: sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - - /dir-glob/3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /doctrine/3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /dom-accessibility-api/0.5.10: - resolution: {integrity: sha512-Xu9mD0UjrJisTmv7lmVSDMagQcU9R5hwAbxsaAE/35XPnPLJobbuREfV/rraiSaEj/UOvgrzQs66zyTWTlyd+g==} - dev: true - - /domexception/2.0.1: - resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} - engines: {node: '>=8'} - dependencies: - webidl-conversions: 5.0.0 - dev: true - - /dompurify/2.3.1: - resolution: {integrity: sha512-xGWt+NHAQS+4tpgbOAI08yxW0Pr256Gu/FNE2frZVTbgrBUn8M7tz7/ktS/LZ2MHeGqz6topj0/xY+y8R5FBFw==} - dev: false - - /dotenv/8.2.0: - resolution: {integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==} - engines: {node: '>=8'} - dev: true - - /electron-to-chromium/1.4.24: - resolution: {integrity: sha512-erwx5r69B/WFfFuF2jcNN0817BfDBdC4765kQ6WltOMuwsimlQo3JTEq0Cle+wpHralwdeX3OfAtw/mHxPK0Wg==} - dev: true - - /emittery/0.8.1: - resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} - engines: {node: '>=10'} - dev: true - - /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.1 - dev: true - - /es6-promise/3.3.1: - resolution: {integrity: sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=} - dev: true - - /esbuild-android-arm64/0.13.15: - resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.13.15: - resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64/0.13.15: - resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.13.15: - resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64/0.13.15: - resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32/0.13.15: - resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64/0.13.15: - resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.13.15: - resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64/0.13.15: - resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.13.15: - resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le/0.13.15: - resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.13.15: - resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64/0.13.15: - resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-sunos-64/0.13.15: - resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-32/0.13.15: - resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-64/0.13.15: - resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-arm64/0.13.15: - resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild/0.13.15: - resolution: {integrity: sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==} - hasBin: true - requiresBuild: true - optionalDependencies: - esbuild-android-arm64: 0.13.15 - esbuild-darwin-64: 0.13.15 - esbuild-darwin-arm64: 0.13.15 - esbuild-freebsd-64: 0.13.15 - esbuild-freebsd-arm64: 0.13.15 - esbuild-linux-32: 0.13.15 - esbuild-linux-64: 0.13.15 - esbuild-linux-arm: 0.13.15 - esbuild-linux-arm64: 0.13.15 - esbuild-linux-mips64le: 0.13.15 - esbuild-linux-ppc64le: 0.13.15 - esbuild-netbsd-64: 0.13.15 - esbuild-openbsd-64: 0.13.15 - esbuild-sunos-64: 0.13.15 - esbuild-windows-32: 0.13.15 - esbuild-windows-64: 0.13.15 - esbuild-windows-arm64: 0.13.15 - dev: true - - /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp/1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp/2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true - - /escape-string-regexp/4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /escodegen/2.0.0: - resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} - engines: {node: '>=6.0'} - hasBin: true - dependencies: - esprima: 4.0.1 - estraverse: 5.2.0 - esutils: 2.0.3 - optionator: 0.8.3 - optionalDependencies: - source-map: 0.6.1 - dev: true - - /eslint-config-prettier/8.3.0_eslint@7.32.0: - resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 7.32.0 - dev: true - - /eslint-plugin-svelte3/3.2.1_eslint@7.32.0+svelte@3.44.1: - resolution: {integrity: sha512-YoBR9mLoKCjGghJ/gvpnFZKaMEu/VRcuxpSRS8KuozuEo7CdBH7bmBHa6FmMm0i4kJnOyx+PVsaptz96K6H/4Q==} - engines: {node: '>=10'} - peerDependencies: - eslint: '>=6.0.0' - svelte: ^3.2.0 - dependencies: - eslint: 7.32.0 - svelte: 3.44.1 - dev: true - - /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-utils/2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} - dependencies: - eslint-visitor-keys: 1.3.0 - dev: true - - /eslint-utils/3.0.0_eslint@7.32.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 7.32.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /eslint-visitor-keys/1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - dev: true - - /eslint-visitor-keys/2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - - /eslint/7.32.0: - resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} - engines: {node: ^10.12.0 || >=12.0.0} - hasBin: true - dependencies: - '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.3 - '@humanwhocodes/config-array': 0.5.0 - ajv: 6.12.6 - chalk: 4.1.0 - cross-spawn: 7.0.3 - debug: 4.3.2 - doctrine: 3.0.0 - enquirer: 2.3.6 - escape-string-regexp: 4.0.0 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 2.1.0 - espree: 7.3.1 - esquery: 1.4.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 5.1.2 - globals: 13.11.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.1 - js-yaml: 3.14.1 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.0.4 - natural-compare: 1.4.0 - optionator: 0.9.1 - progress: 2.0.3 - regexpp: 3.2.0 - semver: 7.3.4 - strip-ansi: 6.0.0 - strip-json-comments: 3.1.1 - table: 6.7.2 - text-table: 0.2.0 - v8-compile-cache: 2.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree/7.3.1: - resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.2_acorn@7.4.1 - eslint-visitor-keys: 1.3.0 - dev: true - - /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /esquery/1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.2.0 - dev: true - - /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.2.0 - dev: true - - /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - - /estraverse/5.2.0: - resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker/2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - - /esutils/2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /eventemitter3/4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: false - - /execa/5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.6 - strip-final-newline: 2.0.0 - dev: true - - /exit/0.1.2: - resolution: {integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=} - engines: {node: '>= 0.8.0'} - dev: true - - /expect/27.4.2: - resolution: {integrity: sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - ansi-styles: 5.2.0 - jest-get-type: 27.4.0 - jest-matcher-utils: 27.4.2 - jest-message-util: 27.4.2 - jest-regex-util: 27.4.0 - dev: true - - /fast-deep-equal/3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - - /fast-glob/3.2.7: - resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} - engines: {node: '>=8'} - dependencies: - '@nodelib/fs.stat': 2.0.4 - '@nodelib/fs.walk': 1.2.6 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.4 - dev: true - - /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-levenshtein/2.0.6: - resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} - dev: true - - /fastq/1.10.0: - resolution: {integrity: sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==} - dependencies: - reusify: 1.0.4 - dev: true - - /fb-watchman/2.0.1: - resolution: {integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==} - dependencies: - bser: 2.1.1 - dev: true - - /file-entry-cache/6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.0.4 - dev: true - - /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-up/4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache/3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.2.2 - rimraf: 3.0.2 - dev: true - - /flatted/3.2.2: - resolution: {integrity: sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==} - dev: true - - /form-data/3.0.1: - resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.34 - dev: true - - /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} - dev: true - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /functional-red-black-tree/1.0.1: - resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} - dev: true - - /gensync/1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true - - /get-caller-file/2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /get-package-type/0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - dev: true - - /get-stream/6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - - /glob-parent/5.1.1: - resolution: {integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.1 - dev: true - - /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.1 - dev: true - - /glob/7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globals/11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - - /globals/13.11.0: - resolution: {integrity: sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /globalyzer/0.1.0: - resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} - dev: true - - /globby/11.0.4: - resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.7 - ignore: 5.1.8 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /globrex/0.1.2: - resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - dev: true - - /graceful-fs/4.2.8: - resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} - dev: true - - /has-flag/3.0.0: - resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} - engines: {node: '>=4'} - dev: true - - /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /html-encoding-sniffer/2.0.1: - resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} - engines: {node: '>=10'} - dependencies: - whatwg-encoding: 1.0.5 - dev: true - - /html-escaper/2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /http-proxy-agent/4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /https-proxy-agent/5.0.0: - resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} - engines: {node: '>= 6'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /human-signals/2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - - /iconv-lite/0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - - /ignore/4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} - dev: true - - /ignore/5.1.8: - resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} - engines: {node: '>= 4'} - dev: true - - /import-cwd/3.0.0: - resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} - engines: {node: '>=8'} - dependencies: - import-from: 3.0.0 - dev: true - - /import-fresh/3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-from/3.0.0: - resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 - dev: true - - /import-local/3.0.3: - resolution: {integrity: sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - dev: true - - /imurmurhash/0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} - engines: {node: '>=0.8.19'} - dev: true - - /indent-string/4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: true - - /indexes-of/1.0.1: - resolution: {integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc=} - dev: true - - /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - - /is-core-module/2.2.0: - resolution: {integrity: sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==} - dependencies: - has: 1.0.3 - dev: true - - /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-generator-fn/2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true - - /is-glob/4.0.1: - resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-potential-custom-element-name/1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: true - - /is-stream/2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - - /is-typedarray/1.0.0: - resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} - dev: true - - /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} - dev: true - - /istanbul-lib-coverage/3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-instrument/4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} - engines: {node: '>=8'} - dependencies: - '@babel/core': 7.16.5 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-lib-instrument/5.1.0: - resolution: {integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==} - engines: {node: '>=8'} - dependencies: - '@babel/core': 7.16.5 - '@babel/parser': 7.16.6 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} - dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps/4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.2 - istanbul-lib-coverage: 3.2.0 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports/3.1.1: - resolution: {integrity: sha512-q1kvhAXWSsXfMjCdNHNPKZZv94OlspKnoGv+R9RGbnqOOQ0VbNfLFgQDVgi7hHenKsndGq3/o0OBdzDXthWcNw==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 - dev: true - - /jest-changed-files/27.4.2: - resolution: {integrity: sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - execa: 5.1.1 - throat: 6.0.1 - dev: true - - /jest-circus/27.4.5: - resolution: {integrity: sha512-eTNWa9wsvBwPykhMMShheafbwyakcdHZaEYh5iRrQ0PFJxkDP/e3U/FvzGuKWu2WpwUA3C3hPlfpuzvOdTVqnw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.4.4 - '@jest/test-result': 27.4.2 - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - chalk: 4.1.0 - co: 4.6.0 - dedent: 0.7.0 - expect: 27.4.2 - is-generator-fn: 2.1.0 - jest-each: 27.4.2 - jest-matcher-utils: 27.4.2 - jest-message-util: 27.4.2 - jest-runtime: 27.4.5 - jest-snapshot: 27.4.5 - jest-util: 27.4.2 - pretty-format: 27.4.2 - slash: 3.0.0 - stack-utils: 2.0.5 - throat: 6.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-cli/27.4.5: - resolution: {integrity: sha512-hrky3DSgE0u7sQxaCL7bdebEPHx5QzYmrGuUjaPLmPE8jx5adtvGuOlRspvMoVLTTDOHRnZDoRLYJuA+VCI7Hg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 27.4.5 - '@jest/test-result': 27.4.2 - '@jest/types': 27.4.2 - chalk: 4.1.0 - exit: 0.1.2 - graceful-fs: 4.2.8 - import-local: 3.0.3 - jest-config: 27.4.5 - jest-util: 27.4.2 - jest-validate: 27.4.2 - prompts: 2.4.2 - yargs: 16.2.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /jest-config/27.4.5: - resolution: {integrity: sha512-t+STVJtPt+fpqQ8GBw850NtSQbnDOw/UzdPfzDaHQ48/AylQlW7LHj3dH+ndxhC1UxJ0Q3qkq7IH+nM1skwTwA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true - dependencies: - '@babel/core': 7.16.5 - '@jest/test-sequencer': 27.4.5 - '@jest/types': 27.4.2 - babel-jest: 27.4.5_@babel+core@7.16.5 - chalk: 4.1.0 - ci-info: 3.3.0 - deepmerge: 4.2.2 - glob: 7.1.6 - graceful-fs: 4.2.8 - jest-circus: 27.4.5 - jest-environment-jsdom: 27.4.4 - jest-environment-node: 27.4.4 - jest-get-type: 27.4.0 - jest-jasmine2: 27.4.5 - jest-regex-util: 27.4.0 - jest-resolve: 27.4.5 - jest-runner: 27.4.5 - jest-util: 27.4.2 - jest-validate: 27.4.2 - micromatch: 4.0.4 - pretty-format: 27.4.2 - slash: 3.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-diff/27.4.2: - resolution: {integrity: sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - chalk: 4.1.0 - diff-sequences: 27.4.0 - jest-get-type: 27.4.0 - pretty-format: 27.4.2 - dev: true - - /jest-docblock/27.4.0: - resolution: {integrity: sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - - /jest-each/27.4.2: - resolution: {integrity: sha512-53V2MNyW28CTruB3lXaHNk6PkiIFuzdOC9gR3C6j8YE/ACfrPnz+slB0s17AgU1TtxNzLuHyvNlLJ+8QYw9nBg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - chalk: 4.1.0 - jest-get-type: 27.4.0 - jest-util: 27.4.2 - pretty-format: 27.4.2 - dev: true - - /jest-environment-jsdom/27.4.4: - resolution: {integrity: sha512-cYR3ndNfHBqQgFvS1RL7dNqSvD//K56j/q1s2ygNHcfTCAp12zfIromO1w3COmXrxS8hWAh7+CmZmGCIoqGcGA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.4.4 - '@jest/fake-timers': 27.4.2 - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - jest-mock: 27.4.2 - jest-util: 27.4.2 - jsdom: 16.7.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-environment-node/27.4.4: - resolution: {integrity: sha512-D+v3lbJ2GjQTQR23TK0kY3vFVmSeea05giInI41HHOaJnAwOnmUHTZgUaZL+VxUB43pIzoa7PMwWtCVlIUoVoA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.4.4 - '@jest/fake-timers': 27.4.2 - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - jest-mock: 27.4.2 - jest-util: 27.4.2 - dev: true - - /jest-get-type/27.4.0: - resolution: {integrity: sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - - /jest-haste-map/27.4.5: - resolution: {integrity: sha512-oJm1b5qhhPs78K24EDGifWS0dELYxnoBiDhatT/FThgB9yxqUm5F6li3Pv+Q+apMBmmPNzOBnZ7ZxWMB1Leq1Q==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - '@types/graceful-fs': 4.1.5 - '@types/node': 14.14.22 - anymatch: 3.1.1 - fb-watchman: 2.0.1 - graceful-fs: 4.2.8 - jest-regex-util: 27.4.0 - jest-serializer: 27.4.0 - jest-util: 27.4.2 - jest-worker: 27.4.5 - micromatch: 4.0.4 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /jest-jasmine2/27.4.5: - resolution: {integrity: sha512-oUnvwhJDj2LhOiUB1kdnJjkx8C5PwgUZQb9urF77mELH9DGR4e2GqpWQKBOYXWs5+uTN9BGDqRz3Aeg5Wts7aw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/traverse': 7.16.5 - '@jest/environment': 27.4.4 - '@jest/source-map': 27.4.0 - '@jest/test-result': 27.4.2 - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - chalk: 4.1.0 - co: 4.6.0 - expect: 27.4.2 - is-generator-fn: 2.1.0 - jest-each: 27.4.2 - jest-matcher-utils: 27.4.2 - jest-message-util: 27.4.2 - jest-runtime: 27.4.5 - jest-snapshot: 27.4.5 - jest-util: 27.4.2 - pretty-format: 27.4.2 - throat: 6.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-leak-detector/27.4.2: - resolution: {integrity: sha512-ml0KvFYZllzPBJWDei3mDzUhyp/M4ubKebX++fPaudpe8OsxUE+m+P6ciVLboQsrzOCWDjE20/eXew9QMx/VGw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - jest-get-type: 27.4.0 - pretty-format: 27.4.2 - dev: true - - /jest-matcher-utils/27.4.2: - resolution: {integrity: sha512-jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - chalk: 4.1.0 - jest-diff: 27.4.2 - jest-get-type: 27.4.0 - pretty-format: 27.4.2 - dev: true - - /jest-message-util/27.4.2: - resolution: {integrity: sha512-OMRqRNd9E0DkBLZpFtZkAGYOXl6ZpoMtQJWTAREJKDOFa0M6ptB7L67tp+cszMBkvSgKOhNtQp2Vbcz3ZZKo/w==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/code-frame': 7.16.0 - '@jest/types': 27.4.2 - '@types/stack-utils': 2.0.1 - chalk: 4.1.0 - graceful-fs: 4.2.8 - micromatch: 4.0.4 - pretty-format: 27.4.2 - slash: 3.0.0 - stack-utils: 2.0.5 - dev: true - - /jest-mock/27.4.2: - resolution: {integrity: sha512-PDDPuyhoukk20JrQKeofK12hqtSka7mWH0QQuxSNgrdiPsrnYYLS6wbzu/HDlxZRzji5ylLRULeuI/vmZZDrYA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - dev: true - - /jest-pnp-resolver/1.2.2_jest-resolve@27.4.5: - resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 27.4.5 - dev: true - - /jest-regex-util/27.4.0: - resolution: {integrity: sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - - /jest-resolve-dependencies/27.4.5: - resolution: {integrity: sha512-elEVvkvRK51y037NshtEkEnukMBWvlPzZHiL847OrIljJ8yIsujD2GXRPqDXC4rEVKbcdsy7W0FxoZb4WmEs7w==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - jest-regex-util: 27.4.0 - jest-snapshot: 27.4.5 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-resolve/27.4.5: - resolution: {integrity: sha512-xU3z1BuOz/hUhVUL+918KqUgK+skqOuUsAi7A+iwoUldK6/+PW+utK8l8cxIWT9AW7IAhGNXjSAh1UYmjULZZw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - chalk: 4.1.0 - graceful-fs: 4.2.8 - jest-haste-map: 27.4.5 - jest-pnp-resolver: 1.2.2_jest-resolve@27.4.5 - jest-util: 27.4.2 - jest-validate: 27.4.2 - resolve: 1.20.0 - resolve.exports: 1.1.0 - slash: 3.0.0 - dev: true - - /jest-runner/27.4.5: - resolution: {integrity: sha512-/irauncTfmY1WkTaRQGRWcyQLzK1g98GYG/8QvIPviHgO1Fqz1JYeEIsSfF+9mc/UTA6S+IIHFgKyvUrtiBIZg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/console': 27.4.2 - '@jest/environment': 27.4.4 - '@jest/test-result': 27.4.2 - '@jest/transform': 27.4.5 - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - chalk: 4.1.0 - emittery: 0.8.1 - exit: 0.1.2 - graceful-fs: 4.2.8 - jest-docblock: 27.4.0 - jest-environment-jsdom: 27.4.4 - jest-environment-node: 27.4.4 - jest-haste-map: 27.4.5 - jest-leak-detector: 27.4.2 - jest-message-util: 27.4.2 - jest-resolve: 27.4.5 - jest-runtime: 27.4.5 - jest-util: 27.4.2 - jest-worker: 27.4.5 - source-map-support: 0.5.21 - throat: 6.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-runtime/27.4.5: - resolution: {integrity: sha512-CIYqwuJQXHQtPd/idgrx4zgJ6iCb6uBjQq1RSAGQrw2S8XifDmoM1Ot8NRd80ooAm+ZNdHVwsktIMGlA1F1FAQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/console': 27.4.2 - '@jest/environment': 27.4.4 - '@jest/globals': 27.4.4 - '@jest/source-map': 27.4.0 - '@jest/test-result': 27.4.2 - '@jest/transform': 27.4.5 - '@jest/types': 27.4.2 - '@types/yargs': 16.0.4 - chalk: 4.1.0 - cjs-module-lexer: 1.2.2 - collect-v8-coverage: 1.0.1 - execa: 5.1.1 - exit: 0.1.2 - glob: 7.1.6 - graceful-fs: 4.2.8 - jest-haste-map: 27.4.5 - jest-message-util: 27.4.2 - jest-mock: 27.4.2 - jest-regex-util: 27.4.0 - jest-resolve: 27.4.5 - jest-snapshot: 27.4.5 - jest-util: 27.4.2 - jest-validate: 27.4.2 - slash: 3.0.0 - strip-bom: 4.0.0 - yargs: 16.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-serializer/27.4.0: - resolution: {integrity: sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@types/node': 14.14.22 - graceful-fs: 4.2.8 - dev: true - - /jest-snapshot/27.4.5: - resolution: {integrity: sha512-eCi/iM1YJFrJWiT9de4+RpWWWBqsHiYxFG9V9o/n0WXs6GpW4lUt4FAHAgFPTLPqCUVzrMQmSmTZSgQzwqR7IQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/core': 7.16.5 - '@babel/generator': 7.16.5 - '@babel/parser': 7.16.6 - '@babel/plugin-syntax-typescript': 7.16.5_@babel+core@7.16.5 - '@babel/traverse': 7.16.5 - '@babel/types': 7.16.0 - '@jest/transform': 27.4.5 - '@jest/types': 27.4.2 - '@types/babel__traverse': 7.14.2 - '@types/prettier': 2.4.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.5 - chalk: 4.1.0 - expect: 27.4.2 - graceful-fs: 4.2.8 - jest-diff: 27.4.2 - jest-get-type: 27.4.0 - jest-haste-map: 27.4.5 - jest-matcher-utils: 27.4.2 - jest-message-util: 27.4.2 - jest-resolve: 27.4.5 - jest-util: 27.4.2 - natural-compare: 1.4.0 - pretty-format: 27.4.2 - semver: 7.3.5 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-util/27.4.2: - resolution: {integrity: sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - chalk: 4.1.0 - ci-info: 3.3.0 - graceful-fs: 4.2.8 - picomatch: 2.3.0 - dev: true - - /jest-validate/27.4.2: - resolution: {integrity: sha512-hWYsSUej+Fs8ZhOm5vhWzwSLmVaPAxRy+Mr+z5MzeaHm9AxUpXdoVMEW4R86y5gOobVfBsMFLk4Rb+QkiEpx1A==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - camelcase: 6.2.1 - chalk: 4.1.0 - jest-get-type: 27.4.0 - leven: 3.1.0 - pretty-format: 27.4.2 - dev: true - - /jest-watcher/27.4.2: - resolution: {integrity: sha512-NJvMVyyBeXfDezhWzUOCOYZrUmkSCiatpjpm+nFUid74OZEHk6aMLrZAukIiFDwdbqp6mTM6Ui1w4oc+8EobQg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/test-result': 27.4.2 - '@jest/types': 27.4.2 - '@types/node': 14.14.22 - ansi-escapes: 4.3.2 - chalk: 4.1.0 - jest-util: 27.4.2 - string-length: 4.0.2 - dev: true - - /jest-worker/27.4.5: - resolution: {integrity: sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/node': 14.14.22 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true - - /jest/27.4.5: - resolution: {integrity: sha512-uT5MiVN3Jppt314kidCk47MYIRilJjA/l2mxwiuzzxGUeJIvA8/pDaJOAX5KWvjAo7SCydcW0/4WEtgbLMiJkg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 27.4.5 - import-local: 3.0.3 - jest-cli: 27.4.5 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /js-tokens/4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - - /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /jsdom/16.7.0: - resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} - engines: {node: '>=10'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - dependencies: - abab: 2.0.5 - acorn: 8.6.0 - acorn-globals: 6.0.0 - cssom: 0.4.4 - cssstyle: 2.3.0 - data-urls: 2.0.0 - decimal.js: 10.3.1 - domexception: 2.0.1 - escodegen: 2.0.0 - form-data: 3.0.1 - html-encoding-sniffer: 2.0.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.0 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.0 - parse5: 6.0.1 - saxes: 5.0.1 - symbol-tree: 3.2.4 - tough-cookie: 4.0.0 - w3c-hr-time: 1.0.2 - w3c-xmlserializer: 2.0.0 - webidl-conversions: 6.1.0 - whatwg-encoding: 1.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - ws: 7.5.6 - xml-name-validator: 3.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /jsesc/2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /json-schema-traverse/0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse/1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true - - /json-stable-stringify-without-jsonify/1.0.1: - resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} - dev: true - - /json5/2.2.0: - resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} - engines: {node: '>=6'} - hasBin: true - dependencies: - minimist: 1.2.5 - dev: true - - /kleur/3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true - - /kleur/4.1.4: - resolution: {integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==} - engines: {node: '>=6'} - dev: true - - /leven/3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true - - /levn/0.3.0: - resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - dev: true - - /levn/0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /lilconfig/2.0.4: - resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} - engines: {node: '>=10'} - dev: true - - /locate-path/5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - - /lodash-es/4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - dev: false - - /lodash.clonedeep/4.5.0: - resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} - dev: true - - /lodash.memoize/4.1.2: - resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=} - dev: true - - /lodash.merge/4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash.truncate/4.4.2: - resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} - dev: true - - /lodash/4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true - - /lru-cache/6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /lz-string/1.4.4: - resolution: {integrity: sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=} - hasBin: true - dev: true - - /magic-string/0.25.7: - resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} - dependencies: - sourcemap-codec: 1.4.8 - dev: true - - /make-dir/3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.0 - dev: true - - /make-error/1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /makeerror/1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - dependencies: - tmpl: 1.0.5 - dev: true - - /marked/3.0.2: - resolution: {integrity: sha512-TMJQQ79Z0e3rJYazY0tIoMsFzteUGw9fB3FD+gzuIT3zLuG9L9ckIvUfF51apdJkcqc208jJN2KbtPbOvXtbjA==} - engines: {node: '>= 12'} - hasBin: true - dev: false - - /merge-stream/2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /merge2/1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - - /micromatch/4.0.4: - resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.0 - dev: true - - /mime-db/1.51.0: - resolution: {integrity: sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==} - engines: {node: '>= 0.6'} - dev: true - - /mime-types/2.1.34: - resolution: {integrity: sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.51.0 - dev: true - - /mimic-fn/2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /min-indent/1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true - - /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimist/1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} - dev: true - - /mkdirp/0.5.5: - resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} - hasBin: true - dependencies: - minimist: 1.2.5 - dev: true - - /mri/1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - dev: true - - /ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /nanoid/3.1.20: - resolution: {integrity: sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /nanoid/3.1.30: - resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /natural-compare/1.4.0: - resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} - dev: true - - /node-fetch/2.6.1: - resolution: {integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==} - engines: {node: 4.x || >=6.0.0} - dev: false - - /node-int64/0.4.0: - resolution: {integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=} - dev: true - - /node-releases/2.0.1: - resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} - dev: true - - /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /npm-run-path/4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /nprogress/0.2.0: - resolution: {integrity: sha1-y480xTIT2JVyP8urkH6UIq28r7E=} - dev: false - - /nwsapi/2.2.0: - resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==} - dev: true - - /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} - dependencies: - wrappy: 1.0.2 - dev: true - - /onetime/5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /optionator/0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.3 - dev: true - - /optionator/0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.3 - dev: true - - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - - /p-locate/4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - - /parent-module/1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /parse5/6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: true - - /path-exists/4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute/1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} - engines: {node: '>=0.10.0'} - dev: true - - /path-key/3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-parse/1.0.6: - resolution: {integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==} - dev: true - - /path-type/4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /picocolors/1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /picomatch/2.2.2: - resolution: {integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==} - engines: {node: '>=8.6'} - dev: true - - /picomatch/2.3.0: - resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} - engines: {node: '>=8.6'} - dev: true - - /pirates/4.0.4: - resolution: {integrity: sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==} - engines: {node: '>= 6'} - dev: true - - /pkg-dir/4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - - /postcss-load-config/3.1.0: - resolution: {integrity: sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==} - engines: {node: '>= 10'} - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true - dependencies: - import-cwd: 3.0.0 - lilconfig: 2.0.4 - yaml: 1.10.2 - dev: true - - /postcss-nested/5.0.3_postcss@8.2.6: - resolution: {integrity: sha512-R2LHPw+u5hFfDgJG748KpGbJyTv7Yr33/2tIMWxquYuHTd9EXu27PYnKi7BxMXLtzKC0a0WVsqHtd7qIluQu/g==} - engines: {node: '>=10.0'} - peerDependencies: - postcss: ^8.1.13 - dependencies: - postcss: 8.2.6 - postcss-selector-parser: 6.0.4 - dev: true - - /postcss-selector-parser/6.0.4: - resolution: {integrity: sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - indexes-of: 1.0.1 - uniq: 1.0.1 - util-deprecate: 1.0.2 - dev: true - - /postcss/8.2.6: - resolution: {integrity: sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - colorette: 1.2.1 - nanoid: 3.1.20 - source-map: 0.6.1 - dev: true - - /postcss/8.4.5: - resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.1.30 - picocolors: 1.0.0 - source-map-js: 1.0.1 - dev: true - - /prelude-ls/1.1.2: - resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} - engines: {node: '>= 0.8.0'} - dev: true - - /prelude-ls/1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-plugin-svelte/2.4.0_prettier@2.4.1+svelte@3.44.1: - resolution: {integrity: sha512-JwJ9bOz4XHLQtiLnX4mTSSDUdhu12WH8sTwy/XTDCSyPlah6IcV7NWeYBZscPEcceu2YnW8Y9sJCP40Z2UH9GA==} - peerDependencies: - prettier: ^1.16.4 || ^2.0.0 - svelte: ^3.2.0 - dependencies: - prettier: 2.4.1 - svelte: 3.44.1 - dev: true - - /prettier/2.4.1: - resolution: {integrity: sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - - /pretty-format/26.6.2: - resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} - engines: {node: '>= 10'} - dependencies: - '@jest/types': 26.6.2 - ansi-regex: 5.0.1 - ansi-styles: 4.3.0 - react-is: 17.0.2 - dev: true - - /pretty-format/27.4.2: - resolution: {integrity: sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.4.2 - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 17.0.2 - dev: true - - /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - - /prompts/2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true dev: true + optional: true - /psl/1.8.0: - resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true - /punycode/2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} - engines: {node: '>=6'} + /globalyzer@0.1.0: + resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} dev: true - /react-is/17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + /globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true - /readdirp/3.5.0: - resolution: {integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==} - engines: {node: '>=8.10.0'} + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} dependencies: - picomatch: 2.2.2 + function-bind: 1.1.1 dev: true - /redent/3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + /import-cwd@3.0.0: + resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} engines: {node: '>=8'} dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - dev: true - - /regenerator-runtime/0.13.9: - resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} - dev: true - - /regexpp/3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true - - /remove-markdown/0.3.0: - resolution: {integrity: sha1-XktmdJOpNXlyjz1S7MHbnKUF3Jg=} - dev: false - - /require-directory/2.1.1: - resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} - engines: {node: '>=0.10.0'} - dev: true - - /require-from-string/2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: true - - /require-relative/0.8.7: - resolution: {integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=} + import-from: 3.0.0 dev: true - /resolve-cwd/3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + /import-from@3.0.0: + resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 dev: true - /resolve-from/4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve-from/5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true - - /resolve.exports/1.1.0: - resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} - engines: {node: '>=10'} - dev: true - - /resolve/1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} - dependencies: - is-core-module: 2.2.0 - path-parse: 1.0.6 - dev: true - - /reusify/1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - - /rimraf/2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - dependencies: - glob: 7.1.6 - dev: true - - /rimraf/3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.1.6 - dev: true - - /rollup/2.62.0: - resolution: {integrity: sha512-cJEQq2gwB0GWMD3rYImefQTSjrPYaC6s4J9pYqnstVLJ1CHa/aZNVkD4Epuvg4iLeMA4KRiq7UM7awKK6j7jcw==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /run-parallel/1.1.10: - resolution: {integrity: sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==} - dev: true - - /sade/1.7.4: - resolution: {integrity: sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==} - engines: {node: '>= 6'} - dependencies: - mri: 1.2.0 - dev: true - - /safe-buffer/5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true - - /safer-buffer/2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true - - /sander/0.5.1: - resolution: {integrity: sha1-dB4kXiMfB8r7b98PEzrfohalAq0=} - dependencies: - es6-promise: 3.3.1 - graceful-fs: 4.2.8 - mkdirp: 0.5.5 - rimraf: 2.7.1 + /indexes-of@1.0.1: + resolution: {integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc=} dev: true - /saxes/5.0.1: - resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} - engines: {node: '>=10'} + /is-core-module@2.2.0: + resolution: {integrity: sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==} dependencies: - xmlchars: 2.2.0 + has: 1.0.3 dev: true - /semver/6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true + /isexe@2.0.0: + resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} dev: true - /semver/7.3.4: - resolution: {integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 + /kleur@4.1.4: + resolution: {integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==} + engines: {node: '>=6'} dev: true - /semver/7.3.5: - resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} + /lilconfig@2.0.4: + resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /shebang-command/2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 dev: true - /shebang-regex/3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /signal-exit/3.0.6: - resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} - dev: true - - /sisteransi/1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true - - /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false - /sorcery/0.10.0: - resolution: {integrity: sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=} - hasBin: true + /magic-string@0.25.7: + resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} dependencies: - buffer-crc32: 0.2.13 - minimist: 1.2.5 - sander: 0.5.1 sourcemap-codec: 1.4.8 dev: true - /source-map-js/1.0.1: - resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map-resolve/0.6.0: - resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.0 - dev: true - - /source-map-support/0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - - /source-map/0.5.7: - resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} - engines: {node: '>=0.10.0'} - dev: true - - /source-map/0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map/0.7.3: - resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} - engines: {node: '>= 8'} - dev: true - - /sourcemap-codec/1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - dev: true - - /sprintf-js/1.0.3: - resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} - dev: true - - /stack-utils/2.0.5: - resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - - /string-length/4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - dev: true - - /string-width/4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /strip-ansi/6.0.0: - resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.0 - dev: true - - /strip-ansi/6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-bom/4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true + /marked@3.0.2: + resolution: {integrity: sha512-TMJQQ79Z0e3rJYazY0tIoMsFzteUGw9fB3FD+gzuIT3zLuG9L9ckIvUfF51apdJkcqc208jJN2KbtPbOvXtbjA==} + engines: {node: '>= 12'} + hasBin: true + dev: false - /strip-final-newline/2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + /mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} dev: true - /strip-indent/3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - dependencies: - min-indent: 1.0.1 + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true - /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + /nanoid@3.1.20: + resolution: {integrity: sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true dev: true - /supports-color/5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 + /nanoid@3.1.30: + resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true dev: true - /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true + /node-fetch@2.6.1: + resolution: {integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==} + engines: {node: 4.x || >=6.0.0} + dev: false - /supports-color/8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true + /nprogress@0.2.0: + resolution: {integrity: sha1-y480xTIT2JVyP8urkH6UIq28r7E=} + dev: false - /supports-hyperlinks/2.2.0: - resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==} + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 dev: true - /svelte-check/2.2.7_8073e26ae3f6ac72309a046ec25e6928: - resolution: {integrity: sha512-lH8ArmwVC+D314cToZkXBBfj7NlpvgQGP7nXCAMnNHo6hTEcbKcf/cAZgzbnAOTftjIJrmLHp+EDW887VJFSOQ==} - hasBin: true - peerDependencies: - svelte: ^3.24.0 - dependencies: - chalk: 4.1.0 - chokidar: 3.5.1 - fast-glob: 3.2.7 - import-fresh: 3.3.0 - minimist: 1.2.5 - sade: 1.7.4 - source-map: 0.7.3 - svelte: 3.44.1 - svelte-preprocess: 4.9.8_1d62c4400e98fd41abe023093c8f6704 - typescript: 4.4.4 - transitivePeerDependencies: - - '@babel/core' - - coffeescript - - less - - node-sass - - postcss - - postcss-load-config - - pug - - sass - - stylus - - sugarss + /path-parse@1.0.6: + resolution: {integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==} dev: true - /svelte-hmr/0.14.9_svelte@3.44.1: - resolution: {integrity: sha512-bKE9+4qb4sAnA+TKHiYurUl970rjA0XmlP9TEP7K/ncyWz3m81kA4HOgmlZK/7irGK7gzZlaPDI3cmf8fp/+tg==} - peerDependencies: - svelte: '>=3.19.0' - dependencies: - svelte: 3.44.1 + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true - /svelte-jester/2.1.5_jest@27.4.5+svelte@3.44.1: - resolution: {integrity: sha512-T3JoPsNYltlN2MiVFDxAMOulIO4fztFFI3DhOkzbs1yZQCUFp6sqS6aqusBsIEMVmXaEDW4HO/6bX+CuwuEUSw==} - engines: {node: '>= 12'} - peerDependencies: - jest: '>= 27' - svelte: '>= 3' - dependencies: - jest: 27.4.5 - svelte: 3.44.1 + /picomatch@2.3.0: + resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} + engines: {node: '>=8.6'} dev: true - /svelte-preprocess/4.9.8_1d62c4400e98fd41abe023093c8f6704: - resolution: {integrity: sha512-EQS/oRZzMtYdAprppZxY3HcysKh11w54MgA63ybtL+TAZ4hVqYOnhw41JVJjWN9dhPnNjjLzvbZ2tMhTsla1Og==} - engines: {node: '>= 9.11.2'} - requiresBuild: true + /postcss-load-config@3.1.0: + resolution: {integrity: sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==} + engines: {node: '>= 10'} peerDependencies: - '@babel/core': ^7.10.2 - coffeescript: ^2.5.1 - less: ^3.11.3 - node-sass: '*' - postcss: ^7 || ^8 - postcss-load-config: ^2.1.0 || ^3.0.0 - pug: ^3.0.0 - sass: ^1.26.8 - stylus: ^0.54.7 - sugarss: ^2.0.0 - svelte: ^3.23.0 - typescript: ^3.9.5 || ^4.0.0 + ts-node: '>=9.0.0' peerDependenciesMeta: - '@babel/core': - optional: true - coffeescript: - optional: true - less: - optional: true - node-sass: - optional: true - postcss: - optional: true - postcss-load-config: - optional: true - pug: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - typescript: + ts-node: optional: true dependencies: - '@types/pug': 2.0.4 - '@types/sass': 1.16.0 - detect-indent: 6.0.0 - magic-string: 0.25.7 - postcss: 8.2.6 - postcss-load-config: 3.1.0 - sorcery: 0.10.0 - strip-indent: 3.0.0 - svelte: 3.44.1 - typescript: 4.4.4 + import-cwd: 3.0.0 + lilconfig: 2.0.4 + yaml: 1.10.2 dev: true - /svelte/3.44.1: - resolution: {integrity: sha512-4DrCEJoBvdR689efHNSxIQn2pnFwB7E7j2yLEJtHE/P8hxwZWIphCtJ8are7bjl/iVMlcEf5uh5pJ68IwR09vQ==} - engines: {node: '>= 8'} - dev: false - - /sveltestrap/5.6.2_svelte@3.44.1: - resolution: {integrity: sha512-g+WhMNsQjdGtSIMGmfVrMVP5Pz0d+o2L49GdTZnKnd9CEeZHcgWObn7+DDnAIxxjQUsaCgdZPgPVSD8/bU8/zA==} + /postcss-nested@5.0.3(postcss@8.2.6): + resolution: {integrity: sha512-R2LHPw+u5hFfDgJG748KpGbJyTv7Yr33/2tIMWxquYuHTd9EXu27PYnKi7BxMXLtzKC0a0WVsqHtd7qIluQu/g==} + engines: {node: '>=10.0'} peerDependencies: - svelte: ^3.29.0 + postcss: ^8.1.13 dependencies: - '@popperjs/core': 2.9.3 - svelte: 3.44.1 - dev: false - - /symbol-tree/3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + postcss: 8.2.6 + postcss-selector-parser: 6.0.4 dev: true - /table/6.7.2: - resolution: {integrity: sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==} - engines: {node: '>=10.0.0'} + /postcss-selector-parser@6.0.4: + resolution: {integrity: sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==} + engines: {node: '>=4'} dependencies: - ajv: 8.6.3 - lodash.clonedeep: 4.5.0 - lodash.truncate: 4.4.2 - slice-ansi: 4.0.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 + cssesc: 3.0.0 + indexes-of: 1.0.1 + uniq: 1.0.1 + util-deprecate: 1.0.2 dev: true - /terminal-link/2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} + /postcss@8.2.6: + resolution: {integrity: sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg==} + engines: {node: ^10 || ^12 || >=14} dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.2.0 + colorette: 1.2.1 + nanoid: 3.1.20 + source-map: 0.6.1 dev: true - /test-exclude/6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + /postcss@8.4.5: + resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==} + engines: {node: ^10 || ^12 || >=14} dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.1.6 - minimatch: 3.0.4 + nanoid: 3.1.30 + picocolors: 1.0.0 + source-map-js: 1.0.1 dev: true - /text-table/0.2.0: - resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} - dev: true + /remove-markdown@0.3.0: + resolution: {integrity: sha1-XktmdJOpNXlyjz1S7MHbnKUF3Jg=} + dev: false - /throat/6.0.1: - resolution: {integrity: sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==} + /require-relative@0.8.7: + resolution: {integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=} dev: true - /tiny-glob/0.2.9: - resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} - dependencies: - globalyzer: 0.1.0 - globrex: 0.1.2 + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} dev: true - /tmpl/1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + /resolve@1.20.0: + resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} + dependencies: + is-core-module: 2.2.0 + path-parse: 1.0.6 dev: true - /to-fast-properties/2.0.0: - resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} - engines: {node: '>=4'} + /rollup@2.62.0: + resolution: {integrity: sha512-cJEQq2gwB0GWMD3rYImefQTSjrPYaC6s4J9pYqnstVLJ1CHa/aZNVkD4Epuvg4iLeMA4KRiq7UM7awKK6j7jcw==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 dev: true - /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + /sade@1.7.4: + resolution: {integrity: sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==} + engines: {node: '>= 6'} dependencies: - is-number: 7.0.0 + mri: 1.2.0 dev: true - /tough-cookie/4.0.0: - resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} - engines: {node: '>=6'} + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: - psl: 1.8.0 - punycode: 2.1.1 - universalify: 0.1.2 + shebang-regex: 3.0.0 dev: true - /tr46/2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dependencies: - punycode: 2.1.1 dev: true - /ts-jest/27.1.2_5bf4c59185befb5d2504874dfb908199: - resolution: {integrity: sha512-eSOiJOWq6Hhs6Khzk5wKC5sgWIXgXqOCiIl1+3lfnearu58Hj4QpE5tUhQcA3xtZrELbcvAGCsd6HB8OsaVaTA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@types/jest': ^27.0.0 - babel-jest: '>=27.0.0 <28' - esbuild: ~0.14.0 - jest: ^27.0.0 - typescript: '>=3.8 <5.0' - peerDependenciesMeta: - '@babel/core': - optional: true - '@types/jest': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - dependencies: - '@types/jest': 27.0.3 - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - jest: 27.4.5 - jest-util: 27.4.2 - json5: 2.2.0 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.3.5 - typescript: 4.4.4 - yargs-parser: 20.2.9 + /source-map-js@1.0.1: + resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} + engines: {node: '>=0.10.0'} dev: true - /tslib/1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} dev: true - /tslib/2.3.1: - resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + /sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} dev: true - /tsutils/3.21.0_typescript@4.4.4: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} + /svelte-hmr@0.14.9(svelte@3.44.1): + resolution: {integrity: sha512-bKE9+4qb4sAnA+TKHiYurUl970rjA0XmlP9TEP7K/ncyWz3m81kA4HOgmlZK/7irGK7gzZlaPDI3cmf8fp/+tg==} 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' + svelte: '>=3.19.0' dependencies: - tslib: 1.14.1 - typescript: 4.4.4 + svelte: 3.44.1 dev: true - /type-check/0.3.2: - resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - dev: true + /svelte@3.44.1: + resolution: {integrity: sha512-4DrCEJoBvdR689efHNSxIQn2pnFwB7E7j2yLEJtHE/P8hxwZWIphCtJ8are7bjl/iVMlcEf5uh5pJ68IwR09vQ==} + engines: {node: '>= 8'} - /type-check/0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + /sveltestrap@5.6.2(svelte@3.44.1): + resolution: {integrity: sha512-g+WhMNsQjdGtSIMGmfVrMVP5Pz0d+o2L49GdTZnKnd9CEeZHcgWObn7+DDnAIxxjQUsaCgdZPgPVSD8/bU8/zA==} + peerDependencies: + svelte: ^3.29.0 dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect/4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true + '@popperjs/core': 2.9.3 + svelte: 3.44.1 + dev: false - /type-fest/0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + /tiny-glob@0.2.9: + resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} + dependencies: + globalyzer: 0.1.0 + globrex: 0.1.2 dev: true - /type-fest/0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} + /tslib@2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} dev: true - /type-fest/2.1.0: + /type-fest@2.1.0: resolution: {integrity: sha512-2wHUmKDy5wNLmebekbHx/zE9ElYAKOmz34psTLG7OwyEJHaIUr6jnaCd55EvgrawAvliwbwgbyH1LkxIfWFyNg==} engines: {node: '>=12.20'} dev: false - /typedarray-to-buffer/3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - dependencies: - is-typedarray: 1.0.0 - dev: true - - /typescript/4.4.4: - resolution: {integrity: sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /uniq/1.0.1: + /uniq@1.0.1: resolution: {integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=} dev: true - /universalify/0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /uri-js/4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.1.1 - dev: true - - /util-deprecate/1.0.2: + /util-deprecate@1.0.2: resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} dev: true - /v8-compile-cache/2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - dev: true - - /v8-to-istanbul/8.1.0: - resolution: {integrity: sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==} - engines: {node: '>=10.12.0'} - dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - convert-source-map: 1.8.0 - source-map: 0.7.3 - dev: true - - /vite/2.7.10: + /vite@2.7.10: resolution: {integrity: sha512-KEY96ntXUid1/xJihJbgmLZx7QSC2D4Tui0FdS0Old5OokYzFclcofhtxtjDdGOk/fFpPbHv9yw88+rB93Tb8w==} engines: {node: '>=12.2.0'} hasBin: true @@ -4211,55 +739,7 @@ packages: fsevents: 2.3.2 dev: true - /w3c-hr-time/1.0.2: - resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} - dependencies: - browser-process-hrtime: 1.0.0 - dev: true - - /w3c-xmlserializer/2.0.0: - resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} - engines: {node: '>=10'} - dependencies: - xml-name-validator: 3.0.0 - dev: true - - /walker/1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - dependencies: - makeerror: 1.0.12 - dev: true - - /webidl-conversions/5.0.0: - resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} - engines: {node: '>=8'} - dev: true - - /webidl-conversions/6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} - dev: true - - /whatwg-encoding/1.0.5: - resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} - dependencies: - iconv-lite: 0.4.24 - dev: true - - /whatwg-mimetype/2.3.0: - resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} - dev: true - - /whatwg-url/8.7.0: - resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} - engines: {node: '>=10'} - dependencies: - lodash: 4.17.21 - tr46: 2.1.0 - webidl-conversions: 6.1.0 - dev: true - - /which/2.0.2: + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true @@ -4267,82 +747,7 @@ packages: isexe: 2.0.0 dev: true - /word-wrap/1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true - - /wrap-ansi/7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} - dev: true - - /write-file-atomic/3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.6 - typedarray-to-buffer: 3.1.5 - dev: true - - /ws/7.5.6: - resolution: {integrity: sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - - /xml-name-validator/3.0.0: - resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} - dev: true - - /xmlchars/2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - dev: true - - /y18n/5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true - - /yallist/4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - - /yaml/1.10.2: + /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} dev: true - - /yargs-parser/20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - dev: true - - /yargs/16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.9 - dev: true diff --git a/apps/web/src/app.html b/apps/web/src/app.html index a2617f16..cb73db2d 100644 --- a/apps/web/src/app.html +++ b/apps/web/src/app.html @@ -1,4 +1,4 @@ -<!DOCTYPE html> +<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> diff --git a/apps/web/src/components/Game/GameSidebar.svelte b/apps/web/src/components/Game/GameSidebar.svelte index 4bccffa0..96cbeebf 100644 --- a/apps/web/src/components/Game/GameSidebar.svelte +++ b/apps/web/src/components/Game/GameSidebar.svelte @@ -1,44 +1,61 @@ <script lang="ts"> import { browser } from "$app/env"; + import { keyBy } from "lodash"; + import { elapsedSeconds } from "@bgs/utils"; + import { timerTime, oneLineMarked, handleError, confirm, duration, shortDuration } from "@/utils"; + import type { PlayerInfo } from "@bgs/types"; + import Portal from "@/modules/portal"; + import clockHistory from "@iconify/icons-bi/clock-history.js"; + import { Button, Icon, Badge } from "@/modules/cdk"; + import { getContext, onDestroy } from "svelte"; + import { GameLog, ReplayControls, GameNotes, GamePreferences, GameSettings } from "./GameSidebar"; + import type { GameContext } from "@/routes/game/[gameId].svelte"; + import PlayerGameAvatar from "./PlayerGameAvatar.svelte"; + import { useRest } from "@/composition/useRest"; import { useAccount } from "@/composition/useAccount"; - import { useActiveGames } from "@/composition/useActiveGames"; import { useCurrentGame } from "@/composition/useCurrentGame"; + import { useActiveGames } from "@/composition/useActiveGames"; import { useDeveloperSettings } from "@/composition/useDeveloperSettings"; - import { useRest } from "@/composition/useRest"; - import type { GameContext } from "@/pages/Game.svelte"; - import { confirm, handleError } from "@/utils"; - import type { PlayerInfo } from "@bgs/types"; - import { elapsedSeconds } from "@bgs/utils"; - import { keyBy } from "lodash"; - import { getContext, onDestroy } from "svelte"; + const { game, players, gameInfo }: GameContext = getContext("game"); const { post } = useRest(); + const { account } = useAccount(); const { playerStatus } = useCurrentGame(); const { addActiveGame, removeActiveGame } = useActiveGames(); const { devGameSettings } = useDeveloperSettings(); + let secondsCounter = 0; + const interval = setInterval(() => { if (browser && !document.hidden) { secondsCounter += 1; } }, 1000); onDestroy(() => clearInterval(interval)); + let requestedDrop: Record<string, boolean> = {}; + $: userId = $account?._id; $: playerUser = $game?.players.find((pl) => pl._id === userId); $: gameId = $game?._id; + function status(playerId: string) { return $playerStatus?.find((pl) => pl._id === playerId)?.status ?? "offline"; } + function playerElo(playerId: string) { return $players.find((pl) => pl._id === playerId)?.elo ?? 0; } + $: alwaysActive = $game?.options.timing.timer?.start === $game?.options.timing.timer?.end; + $: currentPlayersById = keyBy($game?.currentPlayers ?? [], "_id"); + function isCurrentPlayer(id: string) { return $game?.status !== "ended" && !!currentPlayersById[id]; } + const onGameChanged = () => { if (userId) { if (isCurrentPlayer(userId)) { @@ -48,26 +65,32 @@ } } }; + $: onGameChanged(), [userId, $game]; + let remainingTimes: Record<string, number> = {}; + function updateRemainingTimes() { const ret: Record<string, number> = {}; for (const player of $game.players) { ret[player._id] = remainingTime(player); } + remainingTimes = ret; } + $: updateRemainingTimes(), [secondsCounter]; + function remainingTime(player: PlayerInfo) { const currentPlayer = currentPlayersById[player._id]; if (currentPlayer) { const spent = elapsedSeconds(new Date(currentPlayer.timerStart as any), $game.options.timing.timer); - of $game.players) { - ret[ + // Trick to update every second return Math.max(player.remainingTime - spent, 0) + (secondsCounter % 1); } return Math.max(player.remainingTime, 0); } + async function voteCancel() { if ( await confirm("This vote cannot be taken back. If all active players vote to cancel, the game will be cancelled.") @@ -75,9 +98,11 @@ await post(`/game/${gameId}/cancel`).catch(handleError); } } + async function quit() { await post(`/game/${gameId}/quit`).catch(handleError); } + async function requestDrop(playerId: string) { await post(`/game/${gameId}/drop/${playerId}`).then( () => (requestedDrop = { ...requestedDrop, [playerId]: true }), diff --git a/apps/web/src/composition/useAccount.ts b/apps/web/src/composition/useAccount.ts index 76a16a2a..5d20102e 100644 --- a/apps/web/src/composition/useAccount.ts +++ b/apps/web/src/composition/useAccount.ts @@ -1,17 +1,17 @@ import { browser } from "$app/env"; import { handleError, skipOnce } from "@/utils"; -import type { IUser } from "@bgs/types"; +import type { User } from "@bgs/types"; import { derived, writable } from "svelte/store"; import { defineStore } from "./defineStore"; import { useAccessTokens } from "./useAccessTokens"; import { useRefreshToken } from "./useRefreshToken"; import { useRest } from "./useRest"; -export type AuthData = { - user: IUser; +export interface AuthData { + user: User; accessToken: { code: string; expiresAt: number }; refreshToken: { code: string; expiresAt: number }; -}; +} export const useAccount = defineStore(() => { const { get, setAccessToken, post } = useRest(); @@ -22,7 +22,7 @@ export const useAccount = defineStore(() => { if (loaded && !force) { return; } - return get<IUser | null>("/account").then( + return get<User | null>("/account").then( (val) => { loaded = true; account.set(val); @@ -31,7 +31,7 @@ export const useAccount = defineStore(() => { ); }; - const account = writable<IUser | null>(null); + const account = writable<User | null>(null); const accountId = derived(account, ($account) => $account?._id || null); const { refreshToken } = useRefreshToken(); @@ -39,7 +39,7 @@ export const useAccount = defineStore(() => { if (browser) { account.subscribe( - skipOnce<[IUser | null]>((newVal) => { + skipOnce<[User | null]>((newVal) => { if (!newVal) { refreshToken.set(null); accessTokens.set({}); @@ -54,8 +54,9 @@ export const useAccount = defineStore(() => { setAccessToken(data.accessToken); } - function login(email: string, password: string) { - return post<AuthData>("/account/login", { email, password }).then(setAuthData); + async function login(email: string, password: string) { + const data = await post<AuthData>("/account/login", { email, password }); + return setAuthData(data); } async function logout() { diff --git a/apps/web/src/composition/useRefreshToken.ts b/apps/web/src/composition/useRefreshToken.ts index fb854a25..f58c6131 100644 --- a/apps/web/src/composition/useRefreshToken.ts +++ b/apps/web/src/composition/useRefreshToken.ts @@ -13,8 +13,8 @@ export const useRefreshToken = defineStore(() => { session.refreshToken ? session.refreshToken : browser - ? extractCookie("refreshToken", document.cookie) || JSON.parse(localStorage.getItem("refreshToken") ?? "null") - : null + ? extractCookie("refreshToken", document.cookie) || JSON.parse(localStorage.getItem("refreshToken") ?? "null") + : null ); if (browser) { @@ -37,12 +37,15 @@ export const useRefreshToken = defineStore(() => { (newVal.expiresAt - Date.now()) / 1000 )}; Path=/; SameSite=Lax; Secure`; - setTimeout(() => { - const $refreshToken = $(refreshToken); - if ($refreshToken && $refreshToken.expiresAt < Date.now()) { - refreshToken.set(null); - } - }, Date.now() - newVal.expiresAt + 10); + setTimeout( + () => { + const $refreshToken = $(refreshToken); + if ($refreshToken && $refreshToken.expiresAt < Date.now()) { + refreshToken.set(null); + } + }, + Date.now() - newVal.expiresAt + 10 + ); } else { console.log( "setting cookie", diff --git a/apps/web/src/composition/useRest.ts b/apps/web/src/composition/useRest.ts index 15ea8bd4..b252e5d9 100644 --- a/apps/web/src/composition/useRest.ts +++ b/apps/web/src/composition/useRest.ts @@ -13,7 +13,7 @@ async function getResponseData<T>(response: Response): Promise<T> { if (response.status >= 400) { const err = new Error(body?.message ?? body); - (err as any).status = response.status; + Object.assign(err, { status: response.status }); throw err; } diff --git a/apps/web/src/composition/useSidebarOpen.ts b/apps/web/src/composition/useSidebarOpen.ts index 0747bd4b..ae91f6da 100644 --- a/apps/web/src/composition/useSidebarOpen.ts +++ b/apps/web/src/composition/useSidebarOpen.ts @@ -10,8 +10,8 @@ export const useSidebarOpen = defineStore(() => { session.sidebarOpen != null ? session.sidebarOpen : browser - ? extractCookie("sidebarOpen", document.cookie) || JSON.parse(localStorage.getItem("sidebarOpen") ?? "false") - : false + ? extractCookie("sidebarOpen", document.cookie) || JSON.parse(localStorage.getItem("sidebarOpen") ?? "false") + : false ); if (browser) { diff --git a/apps/web/src/routes/account.svelte b/apps/web/src/routes/account.svelte index 9fc4b4cf..fdae0bde 100644 --- a/apps/web/src/routes/account.svelte +++ b/apps/web/src/routes/account.svelte @@ -13,14 +13,15 @@ <script lang="ts"> import { handleError, confirm, niceDate, duration, createWatcher } from "@/utils"; import { Card, Button, Col, Container, FormGroup, Input, InputGroup, Row, Checkbox } from "@/modules/cdk"; - import { upperFirst, debounce } from "lodash"; + import { upperFirst, debounce, filter } from "lodash"; import type { LoadInput } from "@sveltejs/kit"; import { useLoad } from "@/composition/useLoad"; import { useAccount } from "@/composition/useAccount"; import { useRest } from "@/composition/useRest"; import { get as storeGet } from "svelte/store"; import { redirectLoggedIn } from "@/utils/redirect"; - import type { IUser } from "@bgs/types"; + import type { User } from "@bgs/types"; + import { AVATAR_STYLES } from "@bgs/types"; import { browser } from "$app/env"; import { useDeveloperSettings } from "@/composition/useDeveloperSettings"; import { useLoggedIn } from "@/composition/useLoggedIn"; @@ -49,28 +50,6 @@ $: bio = $account?.account.bio ?? ""; - const avatarStyles = [ - "adventurer", - "adventurer-neutral", - "avataaars", - "big-ears", - "big-ears-neutral", - "big-smile", - "bottts", - "croodles", - "croodles-neutral", - "gridy", - "identicon", - "initials", - "jdenticon", - "micah", - "miniavs", - "open-peeps", - "personas", - "pixel-art", - "pixel-art-neutral", - ]; - async function acceptTC() { const accepted = await confirm("The terms and conditions will be marked as accepted at today's date."); @@ -87,7 +66,7 @@ } const selectArt = (art: string) => - post<IUser>("/account", { + post<User>("/account", { account: { avatar: art, }, @@ -97,7 +76,7 @@ const updateAccount = debounce( () => { - post<IUser>("/account", { + post<User>("/account", { settings: { mailing: { newsletter, @@ -117,7 +96,7 @@ ); const updateBio = (bio: string) => - post<IUser>("/account", { + post<User>("/account", { account: { bio, }, @@ -145,8 +124,8 @@ let customAvatarError = false; - async function uploadAvatar(event: InputEvent) { - const file = (event.target as HTMLInputElement).files?.[0]; + async function uploadAvatar(target: HTMLInputElement) { + const file = target.files?.[0]; if (!file) { return; @@ -189,7 +168,13 @@ username={$account.account.username} /> {:else} - <input type="file" bind:this={fileUpload} on:change={uploadAvatar} accept="image/*" class="d-none" /> + <input + type="file" + bind:this={fileUpload} + on:change={(ev) => uploadAvatar(ev.currentTarget)} + accept="image/*" + class="d-none" + /> <a href="#upload" style="width: 100%" role="button" on:click|preventDefault={() => fileUpload.click()}>Upload</a> <div style="display: contents" class:d-none={customAvatarError}> <UserAvatar @@ -201,7 +186,7 @@ on:click={() => selectArt("upload")} /> </div> - {#each avatarStyles as art} + {#each AVATAR_STYLES.filter((style) => style !== "upload") as art} <UserAvatar {art} username={$account.account.username} role="button" on:click={() => selectArt(art)} /> {/each} {/if} diff --git a/apps/web/static/css/nprogress.css b/apps/web/static/css/nprogress.css index 36192277..9e332a8e 100644 --- a/apps/web/static/css/nprogress.css +++ b/apps/web/static/css/nprogress.css @@ -22,7 +22,9 @@ right: 0px; width: 100px; height: 100%; - box-shadow: 0 0 10px #29d, 0 0 5px #29d; + box-shadow: + 0 0 10px #29d, + 0 0 5px #29d; opacity: 1; -webkit-transform: rotate(3deg) translate(0px, -4px); diff --git a/package.json b/package.json index d96de660..ef40700f 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,31 @@ { + "name": "root", + "private": true, "license": "AGPL-3.0", - "packageManager": "pnpm@6.14.1", + "packageManager": "pnpm@8.10.5", "scripts": { "back": "docker-compose -f \"docker-compose.yml\" up -d --build", - "prettier": "prettier --plugin-search-dir=. --write .", - "prettier-check": "prettier --plugin-search-dir=. --check ." + "format": "prettier --write .", + "format:check": "prettier --check ." }, "devDependencies": { - "prettier": "^2.4.1", - "prettier-plugin-organize-imports": "^2.3.3", - "prettier-plugin-sort-json": "^0.0.2", - "prettier-plugin-svelte": "^2.4.0", - "svelte": "^3.42.6", - "typescript": "^4.4.3" + "@typescript-eslint/eslint-plugin": "^7.7.1", + "@typescript-eslint/parser": "^7.7.1", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-svelte": "^2.30.0", + "prettier": "^3.1.0", + "prettier-plugin-svelte": "^3.1.2", + "svelte": "^4.0.0", + "svelte-check": "^3.6.2", + "ts-node": "^10.4.0", + "ts-node-dev": "^1.1.8", + "typescript": "^5.6.2", + "vite": "^4.4.2", + "vitest": "^0.34.6" + }, + "dependencies": { + "@types/node": "20" } } diff --git a/packages/models/api-error.ts b/packages/models/api-error.ts deleted file mode 100644 index e12702be..00000000 --- a/packages/models/api-error.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { ApiError } from "@bgs/types"; -import { Document, Model, Schema, Types } from "mongoose"; - -export interface ApiErrorDocument extends Document, ApiError<Types.ObjectId> {} - -const repr = { - error: { - name: String, - message: String, - stack: [String], - }, - user: { - type: Schema.Types.ObjectId, - ref: "User", - }, - request: { - url: String, - method: String, - body: String, - }, - meta: {}, -}; - -export default function makeSchema<U extends Model<ApiErrorDocument> = Model<ApiErrorDocument>>() { - const schema = new Schema<ApiErrorDocument, U>(repr, { - timestamps: true, - capped: { size: 10 * 1024 * 1024, max: 10 * 1000 }, - }); - - schema.index({ user: 1, createdAt: -1 }); - - return schema; -} diff --git a/packages/models/chatmessage.ts b/packages/models/chatmessage.ts deleted file mode 100644 index ac37efb0..00000000 --- a/packages/models/chatmessage.ts +++ /dev/null @@ -1,40 +0,0 @@ -import type { ChatMessage } from "@bgs/types"; -import { Model, Schema, Types } from "mongoose"; - -const repr = { - room: { - type: String, - required: true, - }, - author: { - _id: { - type: Schema.Types.ObjectId, - ref: "User", - }, - name: String, - }, - data: { - text: { - type: String, - minlength: [1, "You can't send empty messages"], - maxlength: [300, "You can't send messages too long"], - }, - }, - type: { - type: String, - required: true, - default: "text", - enum: ["text", "emoji", "system"] as const, - }, -}; - -export default function makeSchema<T extends ChatMessage<Types.ObjectId>, U extends Model<T> = Model<T>>() { - const schema = new Schema<T, U>(repr as any, { - // We only keep 100MB of chat logs - capped: 100 * 1024 * 1024, - }); - - schema.index({ room: 1, _id: -1 }); - - return schema; -} diff --git a/packages/models/game.ts b/packages/models/game.ts deleted file mode 100644 index 59af39ed..00000000 --- a/packages/models/game.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { IAbstractGame, PlayerInfo } from "@bgs/types"; -import { Model, Schema, Types } from "mongoose"; - -const playerInfoSchema = new Schema<PlayerInfo<Types.ObjectId>>({ - _id: { - type: Schema.Types.ObjectId, - ref: "User", - index: true, - }, - - name: String, - remainingTime: Number, - score: Number, - dropped: Boolean, - quit: Boolean, - faction: String, - voteCancel: Boolean, - pending: Boolean, - ranking: Number, - elo: { - initial: Number, - delta: Number, - }, -}); - -const repr = { - _id: { - type: String, - trim: true, - minlength: [2, "A game id must be at least 2 characters"] as [number, string], - maxlength: [25, "A game id must be at most 25 characters"] as [number, string], - }, - players: [playerInfoSchema], - creator: { - type: Schema.Types.ObjectId, - index: true, - }, - currentPlayers: [ - { - _id: { - type: Schema.Types.ObjectId, - ref: "User", - index: true, - }, - deadline: { - type: Date, - index: true, - }, - timerStart: Date, - }, - ], - lastMove: { - type: Date, - index: true, - }, - data: {}, - status: { - type: String, - enum: ["open", "active", "ended"] as const, - default: "open", - }, - ready: { - type: Boolean, - default: false, - }, - cancelled: { - type: Boolean, - default: false, - }, - options: { - setup: { - playerOrder: { - type: String, - default: "random", - enum: ["random", "join", "host"] as const, - }, - nbPlayers: { - type: Number, - default: 2, - }, - seed: { - type: String, - trim: true, - minlength: [2, "A game seed must be at least 2 characters"] as [number, string], - maxlength: [25, "A game seed must be at most 25 characters"] as [number, string], - }, - }, - timing: { - timePerMove: { - type: Number, - default: 15 * 60, - min: 0, - max: 24 * 3600, - }, - timePerGame: { - type: Number, - default: 15 * 24 * 3600, - min: 60, - max: 15 * 24 * 3600, - // enum: [1 * 3600, 24 * 3600, 3 * 24 * 3600, 15 * 24 * 3600] - }, - timer: { - start: { - type: Number, - min: 0, - max: 24 * 3600 - 1, - }, - end: { - type: Number, - min: 0, - max: 24 * 3600 - 1, - }, - }, - scheduledStart: Date, - }, - meta: { - unlisted: Boolean, - minimumKarma: Number, - }, - }, - - context: { - round: Number, - }, - - game: { - name: String, - version: Number, - expansions: [String], - - options: {}, - }, -}; - -export default function makeSchema<T extends IAbstractGame<Types.ObjectId>, U extends Model<T> = Model<T>>() { - const schema = new Schema<T, U>(repr as any, { timestamps: true }); - - // To... order open games & active games & closed games - schema.index({ status: 1, lastMove: -1 }); - - // To check a player's (dropped) games in the last X days - schema.index({ "players._id": 1, lastMove: -1 }); - - schema.index( - { status: 1, scheduledStart: 1 }, - { partialFilterExpression: { status: "open", "options.timing.scheduledStart": { $exists: true } } } - ); - - return schema; -} diff --git a/packages/models/gameinfo.ts b/packages/models/gameinfo.ts deleted file mode 100644 index 97e45294..00000000 --- a/packages/models/gameinfo.ts +++ /dev/null @@ -1,127 +0,0 @@ -import type { GameInfo } from "@bgs/types"; -import { Model, Schema } from "mongoose"; - -const optionSchema = [ - { - _id: false, - label: { - type: String, - trim: true, - required: true, - }, - type: { - type: String, - enum: ["checkbox", "select", "hidden", "category"], - required: true, - }, - name: { - type: String, - required: true, - }, - default: {}, - category: String, - // When it's a select - items: [ - { - _id: false, - name: { - type: String, - required: true, - }, - label: { - type: String, - required: true, - }, - }, - ], - }, -]; - -const repr = { - _id: { - game: { - type: String, - trim: true, - required: true, - minlength: 1, - }, - version: { - type: Number, - required: true, - }, - }, - label: { type: String, required: true }, - rules: String, - description: String, - viewer: { - url: { - type: String, - required: true, - }, - topLevelVariable: { - type: String, - required: true, - }, - dependencies: { - scripts: [String], - stylesheets: [String], - }, - fullScreen: Boolean, - trusted: Boolean, - replayable: Boolean, - - alternate: { - url: { - type: String, - }, - topLevelVariable: { - type: String, - }, - dependencies: { - scripts: [String], - stylesheets: [String], - }, - fullScreen: Boolean, - trusted: Boolean, - replayable: Boolean, - }, - }, - engine: { - package: { - name: String, - version: String, - }, - entryPoint: String, - }, - factions: { - avatars: { - type: Boolean, - default: false, - }, - }, - preferences: optionSchema, - settings: [{ ...optionSchema[0], faction: String }], - options: optionSchema, - players: [Number], - expansions: [ - { - _id: false, - name: String, - label: String, - }, - ], - meta: { - public: { - type: Boolean, - default: false, - }, - needOwnership: { - type: Boolean, - default: true, - }, - }, -}; - -export default function makeSchema<U extends Model<GameInfo> = Model<GameInfo>>() { - return new Schema<GameInfo, U>(repr, { timestamps: true }); -} diff --git a/packages/models/gamenotification.ts b/packages/models/gamenotification.ts deleted file mode 100644 index 4affee69..00000000 --- a/packages/models/gamenotification.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { GameNotification } from "@bgs/types"; -import { Document, Model, Schema, Types } from "mongoose"; - -const repr = { - user: { - type: Schema.Types.ObjectId, - ref: "User", - }, - game: { - type: String, - ref: "Game", - }, - kind: { - type: String, - enum: ["currentMove", "gameEnded", "gameStarted", "playerDrop", "playerQuit", "dropPlayer"] as const, - index: true, - }, - processed: { - type: Boolean, - default: false, - }, - meta: {}, -}; - -export default function makeSchema< - T extends Document & GameNotification<Types.ObjectId>, - U extends Model<T> = Model<T> ->() { - const schema = new Schema<T, U>(repr as any, { timestamps: true }); - - schema.index({ processed: 1, kind: 1 }); - schema.index({ updatedAt: 1 }, { expireAfterSeconds: 3600 * 24 * 30 }); - - return schema; -} diff --git a/packages/models/package.json b/packages/models/package.json index e51372f4..0a75f3b8 100644 --- a/packages/models/package.json +++ b/packages/models/package.json @@ -1,9 +1,26 @@ { + "packageManager": "pnpm@8.10.5", "name": "@bgs/models", "dependencies": { "@bgs/types": "workspace:*" }, - "peerDependencies": { - "mongoose": "^6.0.2" + "devDependencies": { + "mongodb": "^6.5.0" + }, + "main": "dist/index.js", + "types": "src/index.ts", + "files": [ + "src", + "dist", + "tsconfig.json" + ], + "type": "module", + "scripts": { + "build": "tsc -b", + "dev": "tsc -b --watch", + "lint": "eslint --quiet --fix ./src", + "lint:check": "eslint ./src", + "format": "prettier --write .", + "format:check": "prettier --check ." } } diff --git a/packages/models/pnpm-lock.yaml b/packages/models/pnpm-lock.yaml index 170e1531..ce86b6e0 100644 --- a/packages/models/pnpm-lock.yaml +++ b/packages/models/pnpm-lock.yaml @@ -1,7 +1,112 @@ -lockfileVersion: 5.3 +lockfileVersion: '6.0' -specifiers: - '@bgs/types': workspace:* +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false dependencies: - '@bgs/types': link:../types + '@bgs/types': + specifier: workspace:* + version: link:../types + +devDependencies: + mongodb: + specifier: ^6.5.0 + version: 6.5.0 + +packages: + + /@mongodb-js/saslprep@1.1.5: + resolution: {integrity: sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==} + dependencies: + sparse-bitfield: 3.0.3 + dev: true + + /@types/webidl-conversions@7.0.3: + resolution: {integrity: sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==} + dev: true + + /@types/whatwg-url@11.0.4: + resolution: {integrity: sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==} + dependencies: + '@types/webidl-conversions': 7.0.3 + dev: true + + /bson@6.6.0: + resolution: {integrity: sha512-BVINv2SgcMjL4oYbBuCQTpE3/VKOSxrOA8Cj/wQP7izSzlBGVomdm+TcUd0Pzy0ytLSSDweCKQ6X3f5veM5LQA==} + engines: {node: '>=16.20.1'} + dev: true + + /memory-pager@1.5.0: + resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} + dev: true + + /mongodb-connection-string-url@3.0.0: + resolution: {integrity: sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==} + dependencies: + '@types/whatwg-url': 11.0.4 + whatwg-url: 13.0.0 + dev: true + + /mongodb@6.5.0: + resolution: {integrity: sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==} + engines: {node: '>=16.20.1'} + peerDependencies: + '@aws-sdk/credential-providers': ^3.188.0 + '@mongodb-js/zstd': ^1.1.0 + gcp-metadata: ^5.2.0 + kerberos: ^2.0.1 + mongodb-client-encryption: '>=6.0.0 <7' + snappy: ^7.2.2 + socks: ^2.7.1 + peerDependenciesMeta: + '@aws-sdk/credential-providers': + optional: true + '@mongodb-js/zstd': + optional: true + gcp-metadata: + optional: true + kerberos: + optional: true + mongodb-client-encryption: + optional: true + snappy: + optional: true + socks: + optional: true + dependencies: + '@mongodb-js/saslprep': 1.1.5 + bson: 6.6.0 + mongodb-connection-string-url: 3.0.0 + dev: true + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /sparse-bitfield@3.0.3: + resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==} + dependencies: + memory-pager: 1.5.0 + dev: true + + /tr46@4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} + dependencies: + punycode: 2.3.1 + dev: true + + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: true + + /whatwg-url@13.0.0: + resolution: {integrity: sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==} + engines: {node: '>=16'} + dependencies: + tr46: 4.1.1 + webidl-conversions: 7.0.0 + dev: true diff --git a/packages/models/src/api-error.ts b/packages/models/src/api-error.ts new file mode 100644 index 00000000..dfec514b --- /dev/null +++ b/packages/models/src/api-error.ts @@ -0,0 +1,14 @@ +import type { ApiError } from "@bgs/types"; +import type { Db, ObjectId, Collection } from "mongodb"; + +export async function createApiErrorCollection(db: Db): Promise<Collection<ApiError<ObjectId>>> { + const collection = await db.createCollection<ApiError<ObjectId>>("apierrors", { + capped: true, + size: 10 * 1024 * 1024, + max: 10 * 1000, + }); + + await collection.createIndex({ user: 1, createdAt: -1 }); + + return collection; +} diff --git a/packages/models/src/chatmessage.ts b/packages/models/src/chatmessage.ts new file mode 100644 index 00000000..98a7c13e --- /dev/null +++ b/packages/models/src/chatmessage.ts @@ -0,0 +1,15 @@ +import type { ChatMessage } from "@bgs/types"; +import type { Db, Collection, ObjectId } from "mongodb"; + +export async function createChatMessageCollection(db: Db): Promise<Collection<ChatMessage<ObjectId>>> { + // We only keep 100MB of chat logs + const collection = await db.createCollection<ChatMessage<ObjectId>>("chatmessages", { + capped: true, + size: 100 * 1024 * 1024, + }); + + await collection.createIndex({ room: 1, _id: -1 }); + await collection.createIndex({ "author._id": 1, _id: -1 }); + + return collection; +} diff --git a/packages/models/src/game.ts b/packages/models/src/game.ts new file mode 100644 index 00000000..7542c8d7 --- /dev/null +++ b/packages/models/src/game.ts @@ -0,0 +1,23 @@ +import type { Game } from "@bgs/types"; +import type { Collection, Db, ObjectId } from "mongodb"; + +export async function createGameCollection(db: Db): Promise<Collection<Game<ObjectId>>> { + const collection = db.collection<Game<ObjectId>>("games"); + + await collection.createIndex({ status: 1, lastMove: -1 }); + await collection.createIndex({ "players._id": 1, lastMove: -1 }); + await collection.createIndex( + { status: 1, scheduledStart: 1 }, + { partialFilterExpression: { status: "open", "options.timing.scheduledStart": { $exists: true } } } + ); + + await collection.createIndex({ creator: 1 }); + await collection.createIndex({ lastMove: -1 }); + await collection.createIndex({ "currentPlayers._id": 1 }); + await collection.createIndex({ "currentPlayers._deadline": -1 }); + + // For websocket server. To find whether games have updated + await collection.createIndex({ updatedAt: -1 }); + + return collection; +} diff --git a/packages/models/src/gameinfo.ts b/packages/models/src/gameinfo.ts new file mode 100644 index 00000000..947bcd0d --- /dev/null +++ b/packages/models/src/gameinfo.ts @@ -0,0 +1,10 @@ +import type { GameInfo } from "@bgs/types"; +import type { Collection, Db } from "mongodb"; + +export async function createGameInfoCollection(db: Db): Promise<Collection<GameInfo>> { + const collection = db.collection<GameInfo>("gameinfos"); + + await collection.createIndex({ "_id.game": 1, "_id.version": -1 }); + + return collection; +} diff --git a/packages/models/src/gamenotification.ts b/packages/models/src/gamenotification.ts new file mode 100644 index 00000000..c4837675 --- /dev/null +++ b/packages/models/src/gamenotification.ts @@ -0,0 +1,12 @@ +import type { GameNotification } from "@bgs/types"; +import type { Collection, Db, ObjectId } from "mongodb"; + +export async function createGameNotificationCollection(db: Db): Promise<Collection<GameNotification<ObjectId>>> { + const collection = db.collection<GameNotification<ObjectId>>("gamenotifications"); + + await collection.createIndex({ processed: 1, kind: 1 }); + await collection.createIndex({ kind: 1 }); + await collection.createIndex({ updatedAt: 1 }, { expireAfterSeconds: 3600 * 24 * 30 }); + + return collection; +} diff --git a/packages/models/src/index.ts b/packages/models/src/index.ts new file mode 100644 index 00000000..e4fa378c --- /dev/null +++ b/packages/models/src/index.ts @@ -0,0 +1,5 @@ +export * from "./api-error"; +export * from "./chatmessage"; +export * from "./game"; +export * from "./gameinfo"; +export * from "./gamenotification"; diff --git a/packages/models/tsconfig.json b/packages/models/tsconfig.json new file mode 100644 index 00000000..5397fe49 --- /dev/null +++ b/packages/models/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["src"], + "references": [{ "path": "../types" }] +} diff --git a/packages/types/package.json b/packages/types/package.json index 7e8bab16..1d610a5d 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,4 +1,20 @@ { "name": "@bgs/types", - "main": "index.ts" + "packageManager": "pnpm@8.10.5", + "main": "dist/index.js", + "types": "src/index.ts", + "files": [ + "src", + "dist", + "tsconfig.json" + ], + "type": "module", + "scripts": { + "build": "tsc -b", + "dev": "tsc -b --watch", + "lint": "eslint --quiet --fix src", + "lint:check": "eslint src", + "format": "prettier --write .", + "format:check": "prettier --check ." + } } diff --git a/packages/types/pnpm-lock.yaml b/packages/types/pnpm-lock.yaml new file mode 100644 index 00000000..2b9f1883 --- /dev/null +++ b/packages/types/pnpm-lock.yaml @@ -0,0 +1,5 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false diff --git a/packages/types/api-error.d.ts b/packages/types/src/api-error.ts similarity index 86% rename from packages/types/api-error.d.ts rename to packages/types/src/api-error.ts index cad1f91a..3dbd494e 100644 --- a/packages/types/api-error.d.ts +++ b/packages/types/src/api-error.ts @@ -1,4 +1,6 @@ export interface ApiError<T = string> { + _id: T; + error: { name: string; message: string; @@ -12,7 +14,9 @@ export interface ApiError<T = string> { */ body: string; }; - meta: any; + meta: unknown; user: T; + + createdAt: Date; updatedAt: Date; } diff --git a/packages/types/chatmessage.d.ts b/packages/types/src/chatmessage.ts similarity index 100% rename from packages/types/chatmessage.d.ts rename to packages/types/src/chatmessage.ts diff --git a/packages/types/game.d.ts b/packages/types/src/game.d.ts similarity index 87% rename from packages/types/game.d.ts rename to packages/types/src/game.d.ts index 58919654..b2d26ac2 100644 --- a/packages/types/game.d.ts +++ b/packages/types/src/game.d.ts @@ -19,7 +19,9 @@ export interface PlayerInfo<T = string> { export type PlayerOrder = "random" | "host" | "join"; export type GameStatus = "open" | "active" | "ended"; -export interface IAbstractGame<T = string, Game = any, GameOptions = any> { +export interface Game<T = string, Game = unknown, GameOptions = unknown> { + _id: string; + /** Ids of the players in the website */ players: PlayerInfo<T>[]; creator: T; @@ -47,18 +49,18 @@ export interface IAbstractGame<T = string, Game = any, GameOptions = any> { timePerGame: number; timePerMove: number; /* UTC-based time of play, by default all day, during which the timer is active, in seconds */ - timer: { + timer?: { // eg 3600 = start at 1 am start: number; // eg 3600*23 = end at 11 pm end: number; }; // The game will be cancelled if the game isn't full at this time - scheduledStart: Date; + scheduledStart?: Date; }; meta: { unlisted: boolean; - minimumKarma: number; + minimumKarma?: number; }; }; @@ -76,9 +78,9 @@ export interface IAbstractGame<T = string, Game = any, GameOptions = any> { updatedAt: Date; createdAt: Date; - lastMove: Date; + lastMove?: Date; } -export interface IGame extends IAbstractGame { +export interface IGame extends Game { _id: string; } diff --git a/packages/types/gameinfo.d.ts b/packages/types/src/gameinfo.ts similarity index 95% rename from packages/types/gameinfo.d.ts rename to packages/types/src/gameinfo.ts index 4a7214e5..f639f351 100644 --- a/packages/types/gameinfo.d.ts +++ b/packages/types/src/gameinfo.ts @@ -24,10 +24,10 @@ export interface ViewerInfo { replayable: boolean; } -type GameInfoOption = { +interface GameInfoOption { label: string; type: "checkbox" | "select" | "hidden" | "category"; - default: any; + default: unknown; category?: string; name: string; items: @@ -35,10 +35,10 @@ type GameInfoOption = { { name: string; label: string; - } + }, ] | null; -}; +} export interface GameInfo { _id: { game: string; @@ -85,4 +85,7 @@ export interface GameInfo { public: boolean; needOwnership: boolean; }; + + createdAt: Date; + updatedAt: Date; } diff --git a/packages/types/gamenotification.d.ts b/packages/types/src/gamenotification.ts similarity index 81% rename from packages/types/gamenotification.d.ts rename to packages/types/src/gamenotification.ts index 4f65f734..823ca0ed 100644 --- a/packages/types/gamenotification.d.ts +++ b/packages/types/src/gamenotification.ts @@ -4,10 +4,13 @@ */ export type notificationKind = "gameEnded" | "currentMove" | "gameStarted" | "playerDrop" | "playerQuit" | "dropPlayer"; export interface GameNotification<T = string> { + _id: T; game: string; user?: T; createAt?: Date; kind: notificationKind; processed: boolean; - meta?: Record<string, any>; + meta?: Record<string, unknown>; + createdAt: Date; + updatedAt: Date; } diff --git a/packages/types/gamepreferences.d.ts b/packages/types/src/gamepreferences.ts similarity index 100% rename from packages/types/gamepreferences.d.ts rename to packages/types/src/gamepreferences.ts diff --git a/packages/types/index.ts b/packages/types/src/index.ts similarity index 64% rename from packages/types/index.ts rename to packages/types/src/index.ts index 5e127ec1..981bc886 100644 --- a/packages/types/index.ts +++ b/packages/types/src/index.ts @@ -1,5 +1,5 @@ -export { ApiError } from "./api-error"; -export { ChatMessage } from "./chatmessage"; +export type { ApiError } from "./api-error"; +export type { ChatMessage } from "./chatmessage"; export * from "./game"; export * from "./gameinfo"; export * from "./gamenotification"; diff --git a/packages/types/page.d.ts b/packages/types/src/page.ts similarity index 100% rename from packages/types/page.d.ts rename to packages/types/src/page.ts diff --git a/packages/types/user.d.ts b/packages/types/src/user.ts similarity index 54% rename from packages/types/user.d.ts rename to packages/types/src/user.ts index 2b9d2ea1..2dbf934e 100644 --- a/packages/types/user.d.ts +++ b/packages/types/src/user.ts @@ -1,16 +1,39 @@ -export interface IAbstractUser { +export const AVATAR_STYLES = Object.freeze([ + "adventurer", + "adventurer-neutral", + "avataaars", + "big-ears", + "big-ears-neutral", + "big-smile", + "bottts", + "croodles", + "croodles-neutral", + "gridy", + "identicon", + "initials", + "jdenticon", + "micah", + "miniavs", + "open-peeps", + "personas", + "pixel-art", + "pixel-art-neutral", + "upload", +]); +export type AvatarStyle = (typeof AVATAR_STYLES)[number]; +export type SocialProvider = "google" | "facebook" | "discord"; + +export interface User<T = string> { + _id: T; + account: { username: string; - email: string; - password: string; + email?: string; + password?: string; karma: number; termsAndConditions: Date; - social: { - google: string; - facebook: string; - discord: string; - }; - avatar: string; + social: Partial<Record<SocialProvider, string>>; + avatar: AvatarStyle; bio: string; }; settings: { @@ -43,8 +66,8 @@ export interface IAbstractUser { // Last actively online (tab active) lastOnline: Date; confirmed: boolean; - confirmKey: string; - reset: { + confirmKey?: string; + reset?: { key: string; issued: Date; }; @@ -52,12 +75,11 @@ export interface IAbstractUser { slug: string; }; meta: { - nextGameNotification: Date; - lastGameNotification: Date; + nextGameNotification?: Date | null; + lastGameNotification?: Date | null; }; - authority: string; -} + authority?: "admin"; -export interface IUser extends IAbstractUser { - _id: string; + createdAt: Date; + updatedAt: Date; } diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json new file mode 100644 index 00000000..49e05cea --- /dev/null +++ b/packages/types/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["src"] +} diff --git a/packages/types/tsconfig.tsbuildinfo b/packages/types/tsconfig.tsbuildinfo new file mode 100644 index 00000000..603f6507 --- /dev/null +++ b/packages/types/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"fileNames":["../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.full.d.ts","./src/api-error.ts","./src/chatmessage.ts","./src/game.d.ts","./src/gameinfo.ts","./src/gamenotification.ts","./src/gamepreferences.ts","./src/page.ts","./src/user.ts","./src/index.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/dom-events.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/globals.global.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/index.d.ts"],"fileIdsList":[[74,152],[109,152],[110,115,143,152],[111,122,123,130,140,151,152],[111,112,122,130,152],[113,152],[114,115,123,131,152],[115,140,148,152],[116,118,122,130,152],[117,152],[118,119,152],[122,152],[120,122,152],[109,122,152],[122,123,124,140,151,152],[122,123,124,137,140,143,152],[107,152,156],[152],[118,122,125,130,140,151,152],[122,123,125,126,130,140,148,151,152],[125,127,140,148,151,152],[74,75,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[122,128,152],[129,151,152,156],[118,122,130,140,152],[131,152],[132,152],[109,133,152],[134,150,152,156],[135,152],[136,152],[122,137,138,152],[137,139,152,154],[110,122,140,141,142,143,152],[110,140,142,152],[140,141,152],[143,152],[144,152],[109,140,152],[122,146,147,152],[146,147,152],[115,130,140,148,152],[149,152],[130,150,152],[110,125,136,151,152],[115,152],[140,152,153],[129,152,154],[152,155],[110,115,122,124,133,140,151,152,154,156],[140,152,157],[84,88,151,152],[84,140,151,152],[79,152],[81,84,148,151,152],[130,148,152],[152,159],[79,152,159],[81,84,130,151,152],[76,77,80,83,110,122,140,151,152],[76,82,152],[80,84,110,143,151,152,159],[110,152,159],[100,110,152,159],[78,79,152,159],[84,152],[78,79,80,81,82,83,84,85,86,88,89,90,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,152],[84,91,92,152],[82,84,92,93,152],[83,152],[76,79,84,152],[84,88,92,93,152],[88,152],[82,84,87,151,152],[76,81,82,84,88,91,152],[110,140,152],[79,84,100,110,152,156,159],[65,66,67,68,69,70,71,72,152]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"1be32d21b7325529ac26e2c3a0cea7f59f2f5f9bb15db45a0fb2a07c9dd465b9","signature":"c06746a2e8b7fea769ccac365add88509e13ef69cddce326f0520f86c543036f"},{"version":"98aa1a8eeb80a6b7380952e162033f39fe85748f2a09d59c5f5d8e7dfed7bdfb","signature":"411adc87ef5864df19f046d393255fddfffe54f5b3930fdeac7ca620c8e63566"},"2a3f2de6a6bb5f61c9bde42221c954ccfb098781e523f6abce497693e68f5045",{"version":"a4847689664bf12848c49f331bcd7c3f74146383573bd56c5fa88c48f7c7eb1c","signature":"fa924f6a7bb08ff5236d3bd4ca8431ead09a9be6ef5a9f56f88624552e22688b"},{"version":"003d1dfb5ca42fef09e5bc75b9e4f9a45728a59325561774c33bc5546f252615","signature":"ae8c275a8eaaed8d0629672a10a45745cf419b3bdbd50faa2975a5e9c106dd5a"},{"version":"0c112dd313c0b4d3bb06894aaa9e5041b916dc5d5f1f32f4e1480be7123255a4","signature":"3f02f70d2846536f3858cac26c65dbecf0c66dbf52f666b0110bcd814fe9c409"},{"version":"80ad1133924e47a0f79582265c45ef86ca48f4306dff9641780f6ed79d140885","signature":"d5317bef50c25a95d05c4c0033759b6b687d55c2a625e4667146a89f350abfe9"},{"version":"be98979e71ccc482c96a980123bb1d8986871c196cc13ba72f638f3095afbc3c","signature":"7510df9da897563a80c825cdae40e3573d8b48853f591bcf5676f0c548a3aef2"},"41ba574df55acea9ef766cf0bf41bec3fd87fe7285bc9b4a7064f07bfce3fe9c",{"version":"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c","impliedFormat":1},{"version":"185282b122cbca820c297a02a57b89cf5967ab43e220e3e174d872d3f9a94d2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","impliedFormat":1},{"version":"7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba","impliedFormat":1},{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"e8968b394e4365588f8f89cfff86435258cf10062585c1d2224627ab92acda22","impliedFormat":1},{"version":"285e512c7a0db217a0599e18c462d565fa35be4a5153dd7b80bee88c83e83ddf","impliedFormat":1},{"version":"b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","impliedFormat":1},{"version":"8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","impliedFormat":1},{"version":"af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","impliedFormat":1},{"version":"b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e","impliedFormat":1},{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true,"impliedFormat":1},{"version":"7aae1df2053572c2cfc2089a77847aadbb38eedbaa837a846c6a49fb37c6e5bd","impliedFormat":1},{"version":"313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","impliedFormat":1},{"version":"1f758340b027b18ae8773ac3d33a60648a2af49eaae9e4fde18d0a0dd608642c","impliedFormat":1},{"version":"87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","impliedFormat":1},{"version":"396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","impliedFormat":1},{"version":"21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac","impliedFormat":1},{"version":"dea4c00820d4fac5e530d4842aed2fb20d6744d75a674b95502cbd433f88bcb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","impliedFormat":1},{"version":"45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","impliedFormat":1},{"version":"0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7","impliedFormat":1},{"version":"0d832a0650a74aafc276cb3f7bb26bde2e2270a6f87e6c871a64122e9203079b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7eadc0b0cba14ab854122810f330314132c5cfdb7800fceb82d521997a1f5b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","impliedFormat":1},{"version":"d742ed2db6d5425b3b6ac5fb1f2e4b1ed2ae74fbeee8d0030d852121a4b05d2f","impliedFormat":1},{"version":"d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","impliedFormat":1},{"version":"8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","impliedFormat":1},{"version":"01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","impliedFormat":1},{"version":"458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","impliedFormat":1},{"version":"831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12","impliedFormat":1},{"version":"2225100373ca3d63bcc7f206e1177152d2e2161285a0bd83c8374db1503a0d1f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","impliedFormat":1},{"version":"eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","impliedFormat":1},{"version":"7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","impliedFormat":1},{"version":"7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df","impliedFormat":1},{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ed13c80faeb2b7160bffb4926ff299c468e67a37a645b3ae0917ba0db633c1b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","impliedFormat":1},{"version":"79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","impliedFormat":1},{"version":"4a34b074b11c3597fb2ff890bc8f1484375b3b80793ab01f974534808d5777c7","impliedFormat":1},{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1}],"root":[[65,73]],"options":{"allowJs":true,"composite":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":99,"noUncheckedSideEffectImports":true,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictBuiltinIteratorReturn":true,"strictNullChecks":true,"target":9},"referencedMap":[[74,1],[75,1],[109,2],[110,3],[111,4],[112,5],[113,6],[114,7],[115,8],[116,9],[117,10],[118,11],[119,11],[121,12],[120,13],[122,14],[123,15],[124,16],[108,17],[158,18],[125,19],[126,20],[127,21],[159,22],[128,23],[129,24],[130,25],[131,26],[132,27],[133,28],[134,29],[135,30],[136,31],[137,32],[138,32],[139,33],[140,34],[142,35],[141,36],[143,37],[144,38],[145,39],[146,40],[147,41],[148,42],[149,43],[150,44],[151,45],[152,46],[153,47],[154,48],[155,49],[156,50],[157,51],[62,18],[63,18],[12,18],[10,18],[11,18],[16,18],[15,18],[2,18],[17,18],[18,18],[19,18],[20,18],[21,18],[22,18],[23,18],[24,18],[3,18],[25,18],[4,18],[26,18],[30,18],[27,18],[28,18],[29,18],[31,18],[32,18],[33,18],[5,18],[34,18],[35,18],[36,18],[37,18],[6,18],[41,18],[38,18],[39,18],[40,18],[42,18],[7,18],[43,18],[48,18],[49,18],[44,18],[45,18],[46,18],[47,18],[8,18],[53,18],[50,18],[51,18],[52,18],[54,18],[9,18],[55,18],[64,18],[56,18],[57,18],[60,18],[58,18],[59,18],[1,18],[61,18],[14,18],[13,18],[91,52],[98,53],[90,52],[105,54],[82,55],[81,56],[104,57],[99,58],[102,59],[84,60],[83,61],[79,62],[78,63],[101,64],[80,65],[85,66],[86,18],[89,66],[76,18],[107,67],[106,66],[93,68],[94,69],[96,70],[92,71],[95,72],[100,57],[87,73],[88,74],[97,75],[77,76],[103,77],[65,18],[66,18],[67,18],[68,18],[69,18],[70,18],[73,78],[71,18],[72,18]],"latestChangedDtsFile":"./dist/index.d.ts","version":"5.6.2"} \ No newline at end of file diff --git a/packages/utils/index.ts b/packages/utils/index.ts deleted file mode 100644 index a3907132..00000000 --- a/packages/utils/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from "./join-and"; -export * from "./remove-falsy"; -export * from "./time"; - -export function isPromise(p: any): p is Promise<any> { - return typeof p === "object" && "then" in p && typeof p.then === "function"; -} diff --git a/packages/utils/join-and.ts b/packages/utils/join-and.ts deleted file mode 100644 index 42c56341..00000000 --- a/packages/utils/join-and.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { intersection, isEmpty, omit, pick } from "lodash"; - -type Condition = Record<string, any>; - -export function joinAnd(...conds: Condition[]): Condition { - conds = conds.filter((cond) => !isEmpty(cond)); - - if (!conds.length) { - return {}; - } - - const [firstCond, secondCond] = conds; - - if (conds.length === 1) { - return firstCond; - } - - const extraKeys = intersection(Object.keys(firstCond), Object.keys(secondCond)); - - return joinAnd( - { - ...firstCond, - ...omit(secondCond, ...extraKeys), - ...(extraKeys.length && { $and: [...(firstCond.$and ?? []), pick(secondCond, ...extraKeys)] }), - }, - ...conds.slice(2) - ); -} diff --git a/packages/utils/package.json b/packages/utils/package.json index d9338b17..181a9c9f 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,21 +1,30 @@ { + "packageManager": "pnpm@8.10.5", "name": "@bgs/utils", "scripts": { - "test": "mocha -r ts-node/register *.spec.ts" + "build": "tsc -b", + "dev": "tsc -b --watch", + "lint": "eslint --quiet --fix src", + "lint:check": "eslint src", + "format": "prettier --write .", + "format:check": "prettier --check .", + "test": "vitest run" }, "dependencies": { "lodash": "^4.17.21" }, - "main": "index.ts", + "main": "dist/index.js", + "types": "src/index.ts", + "files": [ + "src", + "dist", + "tsconfig.json" + ], + "type": "module", "devDependencies": { - "@types/chai": "^4.2.22", "@types/lodash": "^4.14.176", "@types/luxon": "^2.0.4", - "@types/mocha": "^9.0.0", - "chai": "^4.3.4", "luxon": "^2.0.2", - "mocha": "^9.1.1", - "ts-node": "^10.2.1", - "typescript": "^4.4.2" + "type-fest": "^4.26.1" } } diff --git a/packages/utils/pnpm-lock.yaml b/packages/utils/pnpm-lock.yaml index 81aae82b..a0e5ec17 100644 --- a/packages/utils/pnpm-lock.yaml +++ b/packages/utils/pnpm-lock.yaml @@ -1,740 +1,47 @@ -lockfileVersion: 5.3 +lockfileVersion: '6.0' -specifiers: - '@types/chai': ^4.2.22 - '@types/lodash': ^4.14.176 - '@types/luxon': ^2.0.4 - '@types/mocha': ^9.0.0 - chai: ^4.3.4 - lodash: ^4.17.21 - luxon: ^2.0.2 - mocha: ^9.1.1 - ts-node: ^10.2.1 - typescript: ^4.4.2 +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false dependencies: - lodash: 4.17.21 + lodash: + specifier: ^4.17.21 + version: 4.17.21 devDependencies: - '@types/chai': 4.2.22 - '@types/lodash': 4.14.176 - '@types/luxon': 2.0.4 - '@types/mocha': 9.0.0 - chai: 4.3.4 - luxon: 2.0.2 - mocha: 9.1.1 - ts-node: 10.2.1_typescript@4.4.3 - typescript: 4.4.3 + '@types/lodash': + specifier: ^4.14.176 + version: 4.14.176 + '@types/luxon': + specifier: ^2.0.4 + version: 2.0.4 + luxon: + specifier: ^2.0.2 + version: 2.0.2 + type-fest: + specifier: ^4.26.1 + version: 4.26.1 packages: - /@cspotcode/source-map-consumer/0.8.0: - resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==} - engines: {node: '>= 12'} - dev: true - - /@cspotcode/source-map-support/0.6.1: - resolution: {integrity: sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==} - engines: {node: '>=12'} - dependencies: - '@cspotcode/source-map-consumer': 0.8.0 - dev: true - - /@tsconfig/node10/1.0.8: - resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} - dev: true - - /@tsconfig/node12/1.0.9: - resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} - dev: true - - /@tsconfig/node14/1.0.1: - resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} - dev: true - - /@tsconfig/node16/1.0.2: - resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} - dev: true - - /@types/chai/4.2.22: - resolution: {integrity: sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==} - dev: true - - /@types/lodash/4.14.176: + /@types/lodash@4.14.176: resolution: {integrity: sha512-xZmuPTa3rlZoIbtDUyJKZQimJV3bxCmzMIO2c9Pz9afyDro6kr7R79GwcB6mRhuoPmV2p1Vb66WOJH7F886WKQ==} dev: true - /@types/luxon/2.0.4: + /@types/luxon@2.0.4: resolution: {integrity: sha512-l3xuhmyF2kBldy15SeY6d6HbK2BacEcSK1qTF1ISPtPHr29JH0C1fndz9ExXLKpGl0J6pZi+dGp1i5xesMt60Q==} dev: true - /@types/mocha/9.0.0: - resolution: {integrity: sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==} - dev: true - - /@ungap/promise-all-settled/1.1.2: - resolution: {integrity: sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==} - dev: true - - /acorn-walk/8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn/8.5.0: - resolution: {integrity: sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true - - /ansi-regex/3.0.0: - resolution: {integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=} - engines: {node: '>=4'} - dev: true - - /ansi-regex/5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.0 - dev: true - - /arg/4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - - /argparse/2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /assertion-error/1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /binary-extensions/2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /braces/3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /browser-stdout/1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - dev: true - - /camelcase/6.2.0: - resolution: {integrity: sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==} - engines: {node: '>=10'} - dev: true - - /chai/4.3.4: - resolution: {integrity: sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.2 - deep-eql: 3.0.1 - get-func-name: 2.0.0 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk/4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error/1.0.2: - resolution: {integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=} - dev: true - - /chokidar/3.5.2: - resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.2 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.1 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /cliui/7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - dependencies: - string-width: 4.2.2 - strip-ansi: 6.0.0 - wrap-ansi: 7.0.0 - dev: true - - /color-convert/2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name/1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - dev: true - - /create-require/1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - - /debug/4.3.1_supports-color@8.1.1: - resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - supports-color: 8.1.1 - dev: true - - /decamelize/4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - dev: true - - /deep-eql/3.0.1: - resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} - engines: {node: '>=0.12'} - dependencies: - type-detect: 4.0.8 - dev: true - - /diff/4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true - - /diff/5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} - engines: {node: '>=0.3.1'} - dev: true - - /emoji-regex/8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp/4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /fill-range/7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-up/5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat/5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true - - /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} - dev: true - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /get-caller-file/2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /get-func-name/2.0.0: - resolution: {integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=} - dev: true - - /glob-parent/5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.1 - dev: true - - /glob/7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /growl/1.10.5: - resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==} - engines: {node: '>=4.x'} - dev: true - - /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /he/1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - dev: true - - /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /is-binary-path/2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - - /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point/2.0.0: - resolution: {integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=} - engines: {node: '>=4'} - dev: true - - /is-fullwidth-code-point/3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-glob/4.0.1: - resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-plain-obj/2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - dev: true - - /is-unicode-supported/0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - - /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} - dev: true - - /js-yaml/4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /locate-path/6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash/4.17.21: + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: false - /log-symbols/4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /luxon/2.0.2: + /luxon@2.0.2: resolution: {integrity: sha512-ZRioYLCgRHrtTORaZX1mx+jtxKtKuI5ZDvHNAmqpUzGqSrR+tL4FVLn/CUGMA3h0+AKD1MAxGI5GnCqR5txNqg==} dev: true - /make-error/1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /mocha/9.1.1: - resolution: {integrity: sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA==} - engines: {node: '>= 12.0.0'} - hasBin: true - dependencies: - '@ungap/promise-all-settled': 1.1.2 - ansi-colors: 4.1.1 - browser-stdout: 1.3.1 - chokidar: 3.5.2 - debug: 4.3.1_supports-color@8.1.1 - diff: 5.0.0 - escape-string-regexp: 4.0.0 - find-up: 5.0.0 - glob: 7.1.7 - growl: 1.10.5 - he: 1.2.0 - js-yaml: 4.1.0 - log-symbols: 4.1.0 - minimatch: 3.0.4 - ms: 2.1.3 - nanoid: 3.1.23 - serialize-javascript: 6.0.0 - strip-json-comments: 3.1.1 - supports-color: 8.1.1 - which: 2.0.2 - wide-align: 1.1.3 - workerpool: 6.1.5 - yargs: 16.2.0 - yargs-parser: 20.2.4 - yargs-unparser: 2.0.0 - dev: true - - /ms/2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /ms/2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true - - /nanoid/3.1.23: - resolution: {integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /normalize-path/3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} - dependencies: - wrappy: 1.0.2 - dev: true - - /p-limit/3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-locate/5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /path-exists/4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute/1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} - engines: {node: '>=0.10.0'} - dev: true - - /pathval/1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true - - /picomatch/2.3.0: - resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} - engines: {node: '>=8.6'} - dev: true - - /randombytes/2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /readdirp/3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.0 - dev: true - - /require-directory/2.1.1: - resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} - engines: {node: '>=0.10.0'} - dev: true - - /safe-buffer/5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true - - /serialize-javascript/6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - dependencies: - randombytes: 2.1.0 - dev: true - - /string-width/2.1.1: - resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} - engines: {node: '>=4'} - dependencies: - is-fullwidth-code-point: 2.0.0 - strip-ansi: 4.0.0 - dev: true - - /string-width/4.2.2: - resolution: {integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.0 - dev: true - - /strip-ansi/4.0.0: - resolution: {integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=} - engines: {node: '>=4'} - dependencies: - ansi-regex: 3.0.0 - dev: true - - /strip-ansi/6.0.0: - resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-json-comments/3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /supports-color/7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color/8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /to-regex-range/5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /ts-node/10.2.1_typescript@4.4.3: - resolution: {integrity: sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==} - engines: {node: '>=12.0.0'} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.6.1 - '@tsconfig/node10': 1.0.8 - '@tsconfig/node12': 1.0.9 - '@tsconfig/node14': 1.0.1 - '@tsconfig/node16': 1.0.2 - acorn: 8.5.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.4.3 - yn: 3.1.1 - dev: true - - /type-detect/4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /typescript/4.4.3: - resolution: {integrity: sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /which/2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /wide-align/1.1.3: - resolution: {integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==} - dependencies: - string-width: 2.1.1 - dev: true - - /workerpool/6.1.5: - resolution: {integrity: sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==} - dev: true - - /wrap-ansi/7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.2 - strip-ansi: 6.0.0 - dev: true - - /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} - dev: true - - /y18n/5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true - - /yargs-parser/20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} - dev: true - - /yargs-unparser/2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} - dependencies: - camelcase: 6.2.0 - decamelize: 4.0.0 - flat: 5.0.2 - is-plain-obj: 2.1.0 - dev: true - - /yargs/16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.2 - y18n: 5.0.8 - yargs-parser: 20.2.4 - dev: true - - /yn/3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true - - /yocto-queue/0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + /type-fest@4.26.1: + resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} + engines: {node: '>=16'} dev: true diff --git a/packages/utils/src/flatten.ts b/packages/utils/src/flatten.ts new file mode 100644 index 00000000..881e2ff0 --- /dev/null +++ b/packages/utils/src/flatten.ts @@ -0,0 +1,24 @@ +import type { Get, Paths } from "type-fest"; +import { isObject } from "./is-object"; + +export function flatten<T>( + obj: T, + alreadyChecked = new Set<unknown>() +): { [key in Paths<T>]: key extends string ? Get<T, key> : never } { + if (isObject(obj) && !alreadyChecked.has(obj)) { + alreadyChecked.add(obj); + return Object.fromEntries( + Object.entries(obj).flatMap(([key, val]) => { + const flatVal = flatten(val, alreadyChecked); + + if (isObject(flatVal)) { + return Object.entries(flatVal).map(([k2, v2]) => [`${key}.${k2}`, v2]); + } + + return [[key, val]]; + }) + ) as { [key in Paths<T>]: key extends string ? Get<T, key> : never }; + } + + return obj as { [key in Paths<T>]: key extends string ? Get<T, key> : never }; +} diff --git a/packages/utils/src/html-escape.ts b/packages/utils/src/html-escape.ts new file mode 100644 index 00000000..9b9b2dc6 --- /dev/null +++ b/packages/utils/src/html-escape.ts @@ -0,0 +1,12 @@ +export function htmlEscape(str: string): string { + return str.replace(/[&<]/g, (match) => { + switch (match) { + case "&": + return "&"; + case "<": + return "<"; + default: + return match; + } + }); +} diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts new file mode 100644 index 00000000..1cc4bc2e --- /dev/null +++ b/packages/utils/src/index.ts @@ -0,0 +1,7 @@ +export * from "./remove-falsy"; +export * from "./time"; +export * from "./flatten"; +export * from "./is-object"; +export * from "./typed-include"; +export * from "./is-promise"; +export * from "./html-escape"; diff --git a/packages/utils/src/is-object.ts b/packages/utils/src/is-object.ts new file mode 100644 index 00000000..ce81ecff --- /dev/null +++ b/packages/utils/src/is-object.ts @@ -0,0 +1,7 @@ +export function isObject(value: unknown): value is Record<string, unknown> { + if (value === undefined || value === null) { + return false; + } + + return Object.getPrototypeOf(value) === Object.prototype; +} diff --git a/packages/utils/src/is-promise.ts b/packages/utils/src/is-promise.ts new file mode 100644 index 00000000..fd1d41aa --- /dev/null +++ b/packages/utils/src/is-promise.ts @@ -0,0 +1,3 @@ +export function isPromise(p: unknown): p is Promise<unknown> { + return !!p && typeof p === "object" && "then" in p && typeof p.then === "function"; +} diff --git a/packages/utils/remove-falsy.ts b/packages/utils/src/remove-falsy.ts similarity index 51% rename from packages/utils/remove-falsy.ts rename to packages/utils/src/remove-falsy.ts index 36dcd2a1..bfabc771 100644 --- a/packages/utils/remove-falsy.ts +++ b/packages/utils/src/remove-falsy.ts @@ -1,14 +1,14 @@ type NonFalsy<T> = T extends false ? never : T extends null - ? never - : T extends undefined - ? never - : T extends "" - ? never - : T extends 0 - ? never - : T; + ? never + : T extends undefined + ? never + : T extends "" + ? never + : T extends 0 + ? never + : T; export function removeFalsy<T>(x: T[]) { return x.filter(Boolean) as NonFalsy<T>[]; diff --git a/packages/utils/time.spec.ts b/packages/utils/src/time.spec.ts similarity index 99% rename from packages/utils/time.spec.ts rename to packages/utils/src/time.spec.ts index 8b8c7453..07693974 100644 --- a/packages/utils/time.spec.ts +++ b/packages/utils/src/time.spec.ts @@ -1,6 +1,6 @@ -import { expect } from "chai"; import { DateTime } from "luxon"; import { deadline, elapsedSeconds, isPaused } from "./time"; +import { describe, it, expect } from "vitest"; const oneMinute = 60; const oneHour = 3600; diff --git a/packages/utils/time.ts b/packages/utils/src/time.ts similarity index 92% rename from packages/utils/time.ts rename to packages/utils/src/time.ts index 7c20e094..14fb10c5 100644 --- a/packages/utils/time.ts +++ b/packages/utils/src/time.ts @@ -10,7 +10,7 @@ const oneDay = 24 * 3600 * 1000; * @param activeTimer Time range when time is counted every day * @param now End date */ -export function elapsedSeconds(since: Date, activeTimer?: { start: number; end: number }, now = Date.now()) { +export function elapsedSeconds(since: Date, activeTimer?: { start: number; end: number }, now = Date.now()): number { if (!activeTimer || activeTimer.start === undefined || activeTimer.end === undefined) { return Math.floor((now - since.getTime()) / 1000); } @@ -47,7 +47,11 @@ export function elapsedSeconds(since: Date, activeTimer?: { start: number; end: * @param activeTimer Time range when time is counted every day * @Param since The start after which only remainingSeconds remain. Defaults to now. */ -export function deadline(remainingSeconds: number, activeTimer?: { start: number; end: number }, since = new Date()) { +export function deadline( + remainingSeconds: number, + activeTimer?: { start: number; end: number }, + since = new Date() +): Date { if (!activeTimer || activeTimer.start === undefined || activeTimer.end === undefined) { return new Date(since.getTime() + remainingSeconds * 1000); } @@ -71,9 +75,11 @@ export function deadline(remainingSeconds: number, activeTimer?: { start: number date = progressToUTCSeconds(endDate, activeTimer.start); } + + throw new Error("Unreachable code"); } -export function isPaused(date: Date, timerSeconds: { start: number; end: number }) { +export function isPaused(date: Date, timerSeconds: { start: number; end: number }): boolean { const seconds = UTCsecondsSinceMidnight(date); if (timerSeconds.start < timerSeconds.end) { @@ -85,7 +91,7 @@ export function isPaused(date: Date, timerSeconds: { start: number; end: number } } -export function timerDuration(timerSeconds: { start: number; end: number }) { +export function timerDuration(timerSeconds: { start: number; end: number }): number { if (timerSeconds.start < timerSeconds.end) { return timerSeconds.end - timerSeconds.start; } else { diff --git a/packages/utils/src/typed-include.ts b/packages/utils/src/typed-include.ts new file mode 100644 index 00000000..3923ef49 --- /dev/null +++ b/packages/utils/src/typed-include.ts @@ -0,0 +1,3 @@ +export function typedInclude<V, T extends V>(arr: readonly T[], v: V): v is T { + return arr.includes(v as T); +} diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 84e2c129..49e05cea 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,5 +1,8 @@ { + "extends": "../../tsconfig.json", "compilerOptions": { - "types": ["mocha", "chai", "node"] - } + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["src"] } diff --git a/packages/utils/tsconfig.tsbuildinfo b/packages/utils/tsconfig.tsbuildinfo new file mode 100644 index 00000000..d193140c --- /dev/null +++ b/packages/utils/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"fileNames":["../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/typescript@5.6.2/node_modules/typescript/lib/lib.es2022.full.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/primitive.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/typed-array.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/basic.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/observable-like.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/keys-of-union.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/distributed-omit.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/distributed-pick.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/empty-object.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/if-empty-object.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/required-keys-of.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/has-required-keys.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/is-equal.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/except.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/require-at-least-one.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/non-empty-object.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/unknown-record.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/unknown-array.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/tagged-union.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/simplify.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/writable.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/internal/array.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/internal/characters.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/is-any.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/is-float.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/is-integer.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/numeric.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/is-never.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/is-literal.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/trim.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/and.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/or.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/greater-than.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/greater-than-or-equal.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/less-than.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/internal/tuple.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/internal/string.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/internal/keys.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/internal/numeric.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/internal/type.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/internal/object.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/internal/index.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/writable-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/omit-index-signature.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/pick-index-signature.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/merge.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/conditional-simplify.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/non-empty-tuple.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/array-tail.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/enforce-optional.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/simplify-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/merge-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/merge-exclusive.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/require-exactly-one.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/require-all-or-none.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/require-one-or-none.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/single-key-object.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/partial-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/required-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/sum.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/subtract.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/paths.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/union-to-intersection.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/pick-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/array-splice.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/literal-union.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/shared-union-fields-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/omit-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/is-null.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/is-unknown.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/if-unknown.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/partial-on-undefined-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/undefined-on-partial-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/readonly-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/promisable.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/arrayable.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/tagged.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/invariant-of.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/set-optional.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/set-readonly.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/set-required.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/set-non-nullable.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/value-of.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/async-return-type.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/if-never.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/conditional-keys.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/conditional-except.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/conditional-pick.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/conditional-pick-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/stringified.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/join.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/less-than-or-equal.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/array-slice.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/string-slice.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/fixed-length-array.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/multidimensional-array.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/multidimensional-readonly-array.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/iterable-element.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/entry.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/entries.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/set-return-type.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/set-parameter-type.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/asyncify.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/jsonify.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/jsonifiable.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/find-global-type.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/structured-cloneable.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/schema.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/literal-to-primitive.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/literal-to-primitive-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/string-key-of.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/exact.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/readonly-tuple.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/optional-keys-of.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/override-properties.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/has-optional-keys.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/readonly-keys-of.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/has-readonly-keys.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/writable-keys-of.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/has-writable-keys.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/spread.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/tuple-to-union.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/union-to-tuple.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/int-range.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/if-any.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/array-indices.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/array-values.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/set-field-type.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/if-null.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/split-words.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/camel-case.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/camel-cased-properties.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/camel-cased-properties-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/delimiter-case.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/kebab-case.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/delimiter-cased-properties.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/kebab-cased-properties.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/pascal-case.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/pascal-cased-properties.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/snake-case.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/snake-cased-properties.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/snake-cased-properties-deep.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/includes.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/screaming-snake-case.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/split.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/replace.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/string-repeat.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/get.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/last-array-element.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/global-this.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/package-json.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/source/tsconfig-json.d.ts","./node_modules/.pnpm/type-fest@4.26.1/node_modules/type-fest/index.d.ts","./src/is-object.ts","./src/flatten.ts","./src/remove-falsy.ts","./src/time.ts","./src/typed-include.ts","./src/is-promise.ts","./src/index.ts","./node_modules/.pnpm/@types+luxon@2.0.4/node_modules/@types/luxon/src/zone.d.ts","./node_modules/.pnpm/@types+luxon@2.0.4/node_modules/@types/luxon/src/misc.d.ts","./node_modules/.pnpm/@types+luxon@2.0.4/node_modules/@types/luxon/src/duration.d.ts","./node_modules/.pnpm/@types+luxon@2.0.4/node_modules/@types/luxon/src/interval.d.ts","./node_modules/.pnpm/@types+luxon@2.0.4/node_modules/@types/luxon/src/impl/formats.d.ts","./node_modules/.pnpm/@types+luxon@2.0.4/node_modules/@types/luxon/src/datetime.d.ts","./node_modules/.pnpm/@types+luxon@2.0.4/node_modules/@types/luxon/src/info.d.ts","./node_modules/.pnpm/@types+luxon@2.0.4/node_modules/@types/luxon/src/settings.d.ts","./node_modules/.pnpm/@types+luxon@2.0.4/node_modules/@types/luxon/src/luxon.d.ts","./node_modules/.pnpm/@types+luxon@2.0.4/node_modules/@types/luxon/index.d.ts","../../node_modules/.pnpm/@vitest+utils@0.34.6/node_modules/@vitest/utils/dist/types.d.ts","../../node_modules/.pnpm/@vitest+utils@0.34.6/node_modules/@vitest/utils/dist/helpers.d.ts","../../node_modules/.pnpm/@sinclair+typebox@0.27.8/node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/.pnpm/@jest+schemas@29.6.3/node_modules/@jest/schemas/build/index.d.ts","../../node_modules/.pnpm/pretty-format@29.7.0/node_modules/pretty-format/build/index.d.ts","../../node_modules/.pnpm/@vitest+utils@0.34.6/node_modules/@vitest/utils/dist/index.d.ts","../../node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/tasks-e594cd24.d.ts","../../node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/types.d.ts","../../node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/dom-events.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/globals.global.d.ts","../../node_modules/.pnpm/@types+node@20.10.0/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main.d.ts","../../node_modules/.pnpm/vite@4.5.0_@types+node@20.10.0/node_modules/vite/types/metadata.d.ts","../../node_modules/.pnpm/vite@4.5.0_@types+node@20.10.0/node_modules/vite/types/hmrPayload.d.ts","../../node_modules/.pnpm/vite@4.5.0_@types+node@20.10.0/node_modules/vite/types/customEvent.d.ts","../../node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/rollup.d.ts","../../node_modules/.pnpm/vite@4.5.0_@types+node@20.10.0/node_modules/vite/types/importGlob.d.ts","../../node_modules/.pnpm/source-map-js@1.0.2/node_modules/source-map-js/source-map.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/previous-map.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/input.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/css-syntax-error.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/declaration.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/root.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/warning.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/lazy-result.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/no-work-result.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/processor.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/result.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/document.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/rule.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/node.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/comment.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/container.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/at-rule.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/list.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/postcss.d.ts","../../node_modules/.pnpm/postcss@8.4.31/node_modules/postcss/lib/postcss.d.mts","../../node_modules/.pnpm/vite@4.5.0_@types+node@20.10.0/node_modules/vite/dist/node/index.d.ts","../../node_modules/.pnpm/vite-node@0.34.6_@types+node@20.10.0/node_modules/vite-node/dist/trace-mapping.d-e677e8f4.d.ts","../../node_modules/.pnpm/vite-node@0.34.6_@types+node@20.10.0/node_modules/vite-node/dist/index-6fb787b2.d.ts","../../node_modules/.pnpm/vite-node@0.34.6_@types+node@20.10.0/node_modules/vite-node/dist/index.d.ts","../../node_modules/.pnpm/@vitest+snapshot@0.34.6/node_modules/@vitest/snapshot/dist/environment-b0891b0a.d.ts","../../node_modules/.pnpm/@vitest+snapshot@0.34.6/node_modules/@vitest/snapshot/dist/index-69d272f6.d.ts","../../node_modules/.pnpm/@vitest+snapshot@0.34.6/node_modules/@vitest/snapshot/dist/index.d.ts","../../node_modules/.pnpm/@types+chai@4.3.11/node_modules/@types/chai/index.d.ts","../../node_modules/.pnpm/@vitest+utils@0.34.6/node_modules/@vitest/utils/dist/types-f5c02aaf.d.ts","../../node_modules/.pnpm/@vitest+utils@0.34.6/node_modules/@vitest/utils/dist/diff.d.ts","../../node_modules/.pnpm/@vitest+expect@0.34.6/node_modules/@vitest/expect/dist/index.d.ts","../../node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/utils.d.ts","../../node_modules/.pnpm/tinybench@2.5.1/node_modules/tinybench/dist/index.d.ts","../../node_modules/.pnpm/vite-node@0.34.6_@types+node@20.10.0/node_modules/vite-node/dist/client.d.ts","../../node_modules/.pnpm/@vitest+snapshot@0.34.6/node_modules/@vitest/snapshot/dist/manager.d.ts","../../node_modules/.pnpm/vite-node@0.34.6_@types+node@20.10.0/node_modules/vite-node/dist/server.d.ts","../../node_modules/.pnpm/vitest@0.34.6/node_modules/vitest/dist/reporters-5f784f42.d.ts","../../node_modules/.pnpm/tinyspy@2.2.0/node_modules/tinyspy/dist/index.d.ts","../../node_modules/.pnpm/@vitest+spy@0.34.6/node_modules/@vitest/spy/dist/index.d.ts","../../node_modules/.pnpm/@vitest+snapshot@0.34.6/node_modules/@vitest/snapshot/dist/environment.d.ts","../../node_modules/.pnpm/vitest@0.34.6/node_modules/vitest/dist/config.d.ts","../../node_modules/.pnpm/vitest@0.34.6/node_modules/vitest/dist/index.d.ts","./src/time.spec.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/common.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/array.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/collection.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/date.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/function.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/lang.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/math.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/number.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/object.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/seq.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/string.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/common/util.d.ts","./node_modules/.pnpm/@types+lodash@4.14.176/node_modules/@types/lodash/index.d.ts"],"fileIdsList":[[239,324],[324],[246,324],[281,324],[282,287,315,324],[283,294,295,302,312,323,324],[283,284,294,302,324],[285,324],[286,287,295,303,324],[287,312,320,324],[288,290,294,302,324],[289,324],[290,291,324],[294,324],[292,294,324],[281,294,324],[294,295,296,312,323,324],[294,295,296,309,312,315,324],[279,324,328],[290,294,297,302,312,323,324],[294,295,297,298,302,312,320,323,324],[297,299,312,320,323,324],[246,247,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330],[294,300,324],[301,323,324,328],[290,294,302,312,324],[303,324],[304,324],[281,305,324],[306,322,324,328],[307,324],[308,324],[294,309,310,324],[309,311,324,326],[282,294,312,313,314,315,324],[282,312,314,324],[312,313,324],[315,324],[316,324],[281,312,324],[294,318,319,324],[318,319,324],[287,302,312,320,324],[321,324],[302,322,324],[282,297,308,323,324],[287,324],[312,324,325],[301,324,326],[324,327],[282,287,294,296,305,312,323,324,326,328],[312,324,329],[242,324,365,367],[242,243,244,324],[242,324],[242,243,324],[324,362],[241,324,362],[241,324,362,363],[324,375],[241,324,366],[237,324],[237,238,241,324],[241,324],[324,353],[324,351,353],[324,342,350,351,352,354],[324,340],[324,343,348,353,356],[324,339,356],[324,343,344,347,348,349,356],[324,343,344,345,347,348,356],[324,340,341,342,343,344,348,349,350,352,353,354,356],[324,356],[324,338,340,341,342,343,344,345,347,348,349,350,351,352,353,354,355],[324,338,356],[324,343,345,346,348,349,356],[324,347,356],[324,348,349,353,356],[324,341,351],[240,324],[324,338],[256,260,323,324],[256,312,323,324],[251,324],[253,256,320,323,324],[302,320,324],[324,331],[251,324,331],[253,256,302,323,324],[248,249,252,255,282,294,312,323,324],[248,254,324],[252,256,282,315,323,324,331],[282,324,331],[272,282,324,331],[250,251,324,331],[256,324],[250,251,252,253,254,255,256,257,258,260,261,262,263,264,265,266,267,268,269,270,271,273,274,275,276,277,278,324],[256,263,264,324],[254,256,264,265,324],[255,324],[248,251,256,324],[256,260,264,265,324],[260,324],[254,256,259,323,324],[248,253,254,256,260,263,324],[282,312,324],[251,256,272,282,324,328,331],[324,359,360],[324,359],[324,358,359,360,374],[294,295,297,299,302,312,320,323,324,329,331,332,333,334,335,336,337,357],[324,334],[324,336],[242,245,295,324,328,333,336,358,361,364,365,368,369,370,371,372,373,374],[242,245,295,324,328,333,336,358,361,364,365,367,368,369,370,371,372,373,374,376,377,378],[324,381,383,384,385,386,387,388,389,390,391,392,393],[324,381,382,384,385,386,387,388,389,390,391,392,393],[324,382,383,384,385,386,387,388,389,390,391,392,393],[324,381,382,383,385,386,387,388,389,390,391,392,393],[324,381,382,383,384,386,387,388,389,390,391,392,393],[324,381,382,383,384,385,387,388,389,390,391,392,393],[324,381,382,383,384,385,386,388,389,390,391,392,393],[324,381,382,383,384,385,386,387,389,390,391,392,393],[324,381,382,383,384,385,386,387,388,390,391,392,393],[324,381,382,383,384,385,386,387,388,389,391,392,393],[324,381,382,383,384,385,386,387,388,389,390,392,393],[324,381,382,383,384,385,386,387,388,389,390,391,393],[324,381,382,383,384,385,386,387,388,389,390,391,392],[235,324],[227,229,230,231,236,324],[228,232,324],[227,228,324],[229,232,324],[227,228,229,230,232,233,234,324],[227,324],[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,87,88,89,90,91,92,93,94,95,96,97,98,106,107,108,109,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,324],[76,324],[76,90,94,96,97,105,123,128,155,324],[81,97,105,124,324],[105,324],[164,324],[193,324],[81,105,194,324],[194,324],[77,149,324],[148,324],[72,76,80,105,110,150,324],[149,324],[81,105,197,324],[197,324],[69,324],[83,324],[162,324],[65,69,76,105,133,324],[105,125,129,174,211,324],[96,324],[76,90,94,95,105,324],[177,324],[180,324],[74,324],[182,324],[87,324],[72,324],[91,324],[132,324],[133,324],[105,124,324],[81,324],[85,86,99,100,101,102,103,104,324],[87,92,100,324],[81,91,100,324],[81,83,100,101,103,324],[86,90,93,99,324],[81,90,96,98,324],[65,91,324],[90,324],[88,90,105,324],[65,90,91,105,324],[67,324],[66,67,72,81,87,90,91,105,133,324],[201,324],[199,324],[97,324],[107,172,324],[65,324],[80,81,105,107,108,109,110,111,112,113,114,324],[83,107,108,324],[76,124,324],[75,78,324],[88,89,324],[76,81,91,105,114,125,128,129,130,324],[109,324],[67,129,324],[105,109,134,324],[194,203,324],[72,81,87,96,105,124,324],[81,83,91,105,125,126,324],[77,324],[105,117,324],[197,206,209,324],[77,83,324],[81,105,133,324],[81,91,105,324],[105,110,324],[73,105,324],[74,83,324],[90,124,324],[105,154,156,324],[66,169,324],[76,90,94,95,98,105,123,324],[76,90,94,95,105,124,324],[91,126,324],[219,220,324],[220,221,222,223,224,225,324],[223,236,324,379]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"cd51ceafea7762ad639afb3ca5b68e1e4ffeaacaa402d7ef2cae17016e29e098","impliedFormat":1},{"version":"1b8357b3fef5be61b5de6d6a4805a534d68fe3e040c11f1944e27d4aec85936a","impliedFormat":1},{"version":"130ec22c8432ade59047e0225e552c62a47683d870d44785bee95594c8d65408","impliedFormat":1},{"version":"4f24c2781b21b6cd65eede543669327d68a8cf0c6d9cf106a1146b164a7c8ef9","affectsGlobalScope":true,"impliedFormat":1},{"version":"8c44636cd32c9f5279e967d56e67d7623341d90382871adf63eb9ba427a3f820","impliedFormat":1},{"version":"d9720d542df1d7feba0aa80ed11b4584854951f9064232e8d7a76e65dc676136","impliedFormat":1},{"version":"d0fb3d0c64beba3b9ab25916cc018150d78ccb4952fac755c53721d9d624ba0d","impliedFormat":1},{"version":"86b484bcf6344a27a9ee19dd5cef1a5afbbd96aeb07708cc6d8b43d7dfa8466c","impliedFormat":1},{"version":"ba93f0192c9c30d895bee1141dd0c307b75df16245deef7134ac0152294788cc","impliedFormat":1},{"version":"75a7db3b7ddf0ca49651629bb665e0294fda8d19ba04fddc8a14d32bb35eb248","impliedFormat":1},{"version":"eb31477c87de3309cbe4e9984fa74a052f31581edb89103f8590f01874b4e271","impliedFormat":1},{"version":"15ab3db8aa099e50e8e6edd5719b05dd8abf2c75f56dc3895432d92ec3f6cd6b","impliedFormat":1},{"version":"6ff14b0a89cb61cef9424434ee740f91b239c09272c02031db85d388b84b7442","impliedFormat":1},{"version":"865f3db83300a1303349cc49ed80943775a858e0596e7e5a052cc65ac03b10bb","impliedFormat":1},{"version":"28fa41063a242eafcf51e1a62013fccdd9fd5d6760ded6e3ff5ce10a13c2ab31","impliedFormat":1},{"version":"ada60ff3698e7fd0c7ed0e4d93286ee28aed87f648f6748e668a57308fde5a67","impliedFormat":1},{"version":"1a67ba5891772a62706335b59a50720d89905196c90719dad7cec9c81c2990e6","impliedFormat":1},{"version":"5d6f919e1966d45ea297c2478c1985d213e41e2f9a6789964cdb53669e3f7a6f","impliedFormat":1},{"version":"a8289d1d525cf4a3a2d5a8db6b8e14e19f43d122cc47f8fb6b894b0aa2e2bde6","impliedFormat":1},{"version":"d7735a9ccd17767352ab6e799d76735016209aadd5c038a2fc07a29e7b235f02","impliedFormat":1},{"version":"aa1e3e6955faa399dc86747f8a904185a80cefdc1df5c9b952be4a657b3c98e9","impliedFormat":1},{"version":"742be2239f1a967692c4562a16973a08a1177663f972cbb4e1ef2b21bc97c9cf","impliedFormat":1},{"version":"1cf99fe49768500d01d873870085c68caa2b311fd40c1b05e831de0306f5f257","impliedFormat":1},{"version":"bcf177e80d5a2c3499f587886b4a190391fc9ad4388f74ae6aa935a1c22cd623","impliedFormat":1},{"version":"521f9f4dd927972ed9867e3eb2f0dd6990151f9edbb608ce59911864a9a2712d","impliedFormat":1},{"version":"b2a793bde18962a2e1e0f9fa5dce43dd3e801331d36d3e96a7451727185fb16f","impliedFormat":1},{"version":"4e251317bb109337e4918e5d7bcda7ef2d88f106cac531dcea03f7eee1dd2240","impliedFormat":1},{"version":"c71b7d61c20bce394784daa24afcff1a0be74bac91195a61ee47b851851d18fe","impliedFormat":1},{"version":"8504003e88870caa5474ab8bd270f318d0985ba7ede4ee30fe37646768b5362a","impliedFormat":1},{"version":"65465a64d5ee2f989ad4cf8db05f875204a9178f36b07a1e4d3a09a39f762e2e","impliedFormat":1},{"version":"2878f694f7d3a13a88a5e511da7ac084491ca0ddde9539e5dad76737ead9a5a9","impliedFormat":1},{"version":"1c0c6bd0d9b697040f43723d5b1dd6bb9feb743459ff9f95fda9adb6c97c9b37","impliedFormat":1},{"version":"0915ce92bb54e905387b7907e98982620cb7143f7b44291974fb2e592602fe00","impliedFormat":1},{"version":"3cd6df04a43858a6d18402c87a22a68534425e1c8c2fc5bb53fead29af027fcc","impliedFormat":1},{"version":"3aeae89ee20d53e08727a4eb5b5055211a6389a54a9a0a10f800a97616b5cd1b","impliedFormat":1},{"version":"4733c832fb758f546a4246bc62f2e9d68880eb8abf0f08c6bec484decb774dc9","impliedFormat":1},{"version":"58d91c410f31f4dd6fa8d50ad10b4ae9a8d1789306e73a5fbe8abea6a593099b","impliedFormat":1},{"version":"7ca6bb19f016eadcff4eb8993a37ba89be7b42bdf0dbc630d0b0db34e5fc7df0","impliedFormat":1},{"version":"d8d5061cb4521772457a2a3f0fcec028669990daceea78068bc968620641cd25","impliedFormat":1},{"version":"1f0fa44d2aa1edf989a50670c4c92206ac32f1a5acf26a030466cff77583d1cf","impliedFormat":1},{"version":"1f129869a0ee2dcb7ea9a92d6bc8ddf2c2cdaf2d244eec18c3a78efeb5e05c83","impliedFormat":1},{"version":"843e98d09268e2b5b9e6ff60487cf68f4643a72c2e55f7c29b35d1091a4ee4e9","impliedFormat":1},{"version":"4502caaa3fff6c9766bfc145b1b586ef26d53e5f104271db046122b8eef57fd1","impliedFormat":1},{"version":"382f061a24f63ef8bfb1f7a748e1a2568ea62fb91ed1328901a6cf5ad129d61c","impliedFormat":1},{"version":"6927ceeb41bb451f47593de0180c8ff1be7403965d10dc9147ee8d5c91372fff","impliedFormat":1},{"version":"ef4c9ef3ec432ccbf6508f8aa12fbb8b7f4d535c8b484258a3888476de2c6c36","impliedFormat":1},{"version":"77ff2aeb024d9e1679c00705067159c1b98ccac8310987a0bdaf0e38a6ca7333","impliedFormat":1},{"version":"2f28371c56e5d70b77de202e27995373bc46dc07336abbed23c7d74d89910677","impliedFormat":1},{"version":"952c4a8d2338e19ef26c1c0758815b1de6c082a485f88368f5bece1e555f39d4","impliedFormat":1},{"version":"1d953cb875c69aeb1ec8c58298a5226241c6139123b1ff885cedf48ac57b435c","impliedFormat":1},{"version":"1a80e164acd9ee4f3e2a919f9a92bfcdb3412d1fe680b15d60e85eadbaa460f8","impliedFormat":1},{"version":"f981ffdbd651f67db134479a5352dac96648ca195f981284e79dc0a1dbc53fd5","impliedFormat":1},{"version":"a1c85a61ff2b66291676ab84ae03c1b1ff7139ffde1942173f6aee8dc4ee357b","impliedFormat":1},{"version":"ee1969bda02bd6c3172c259d33e9ea5456f1662a74e0acf9fa422bb38263f535","impliedFormat":1},{"version":"f1a5a12e04ad1471647484e7ff11e36eef7960f54740f2e60e17799d99d6f5ab","impliedFormat":1},{"version":"672c1ebc4fa15a1c9b4911f1c68de2bc889f4d166a68c5be8f1e61f94014e9d8","impliedFormat":1},{"version":"ed1b2a459aa469d032f0bd482f4550d0bcd38e9e013532907eb30157054a52d7","impliedFormat":1},{"version":"5a0d920468aa4e792285943cadad77bcb312ba2acf1c665e364ada1b1ee56264","impliedFormat":1},{"version":"de54198142e582c1e26baa21c72321bcdde2a7c38b34cf18e246c7ff95bafd18","impliedFormat":1},{"version":"eccffdb59d6d42e3e773756e8bbe1fa8c23f261ef0cef052f3a8c0194dc6a0e0","impliedFormat":1},{"version":"2d98be5066df3ec9f217b93ef40abab987ec3b55b8f8756a43a081362a356e61","impliedFormat":1},{"version":"928f96b9948742cbaec33e1c34c406c127c2dad5906edb7df08e92b963500a41","impliedFormat":1},{"version":"a2e4333bf0c330ae26b90c68e395ad0a8af06121f1c977979c75c4a5f9f6bc29","impliedFormat":1},{"version":"f29768cdfdf7120ace7341b42cdcf1a215933b65da9b64784e9d5b8c7b0e1d3d","impliedFormat":1},{"version":"2cbf557a03f80df74106cb7cfb38386db82725b720b859e511bdead881171c32","impliedFormat":1},{"version":"e68a372f031a576af235bb036e9fa655c731039145e21f2e53cf9ec05987720a","impliedFormat":1},{"version":"5718274a266c16d3fbe9cd44c0e591ca981c374904137807e0ee7d601524deda","impliedFormat":1},{"version":"dd9694eecd70a405490ad23940ccd8979a628f1d26928090a4b05a943ac61714","impliedFormat":1},{"version":"42ca885a3c8ffdffcd9df252582aef9433438cf545a148e3a5e7568ca8575a56","impliedFormat":1},{"version":"309586820e31406ed70bb03ea8bca88b7ec15215e82d0aa85392da25d0b68630","impliedFormat":1},{"version":"98245fec2e886e8eb5398ce8f734bd0d0b05558c6633aefc09b48c4169596e4e","impliedFormat":1},{"version":"1410d60fe495685e97ed7ca6ff8ac6552b8c609ebe63bd97e51b7afe3c75b563","impliedFormat":1},{"version":"c6843fd4514c67ab4caf76efab7772ceb990fbb1a09085fbcf72b4437a307cf7","impliedFormat":1},{"version":"03ed68319c97cd4ce8f1c4ded110d9b40b8a283c3242b9fe934ccfa834e45572","impliedFormat":1},{"version":"3238e3ed704fe1ba3d523a8a5c8ffd8ca3250a8898cf75ac5e6b13d132a8d226","impliedFormat":1},{"version":"7d8f40a7c4cc81db66ac8eaf88f192996c8a5542c192fdebb7a7f2498c18427d","impliedFormat":1},{"version":"c69ecf92a8a9fb3e4019e6c520260e4074dc6cb0044a71909807b8e7cc05bb65","impliedFormat":1},{"version":"b0cefbc19466a38f5883079f0845babcb856637f7d4f3f594b746d39b74390f7","impliedFormat":1},{"version":"16219e7997bfc39ed9e0bb5f068646c0cdc15de5658d1263e2b44adf0a94ebef","impliedFormat":1},{"version":"4ccedab1527b8bf338730810280cce9f7caf450f1e9e2a6cbabaa880d80d4cf9","impliedFormat":1},{"version":"1f0ee5ddb64540632c6f9a5b63e242b06e49dd6472f3f5bd7dfeb96d12543e15","impliedFormat":1},{"version":"18b86125c67d99150f54225df07349ddd07acde086b55f3eeac1c34c81e424d8","impliedFormat":1},{"version":"2d3f23c577a913d0f396184f31998507e18c8712bc74303a433cf47f94fd7e07","impliedFormat":1},{"version":"0f2c77683296ca2d0e0bee84f8aa944a05df23bc4c5b5fef31dda757e75f660f","impliedFormat":1},{"version":"b848b40bfeb73dfe2e782c5b7588ef521010a3d595297e69386670cbde6b4d82","impliedFormat":1},{"version":"aa79b64f5b3690c66892f292e63dfe3e84eb678a886df86521f67c109d57a0c5","impliedFormat":1},{"version":"a692e092c3b9860c9554698d84baf308ba51fc8f32ddd6646e01a287810b16c6","impliedFormat":1},{"version":"64df9b13259fe3e3fea8ed9cdce950b7a0d40859d706c010eeea8c8d353d53fd","impliedFormat":1},{"version":"1848ebe5252ccb5ca1ca4ff52114516bdbbc7512589d6d0839beeea768bfb400","impliedFormat":1},{"version":"d2e3a1de4fde9291f9fb3b43672a8975a83e79896466f1af0f50066f78dbf39e","impliedFormat":1},{"version":"e37650b39727a6cf036c45a2b6df055e9c69a0afdd6dbab833ab957eb7f1a389","impliedFormat":1},{"version":"84f47c1a2ccfe41176fb5eb37e29fe7f44dbf7b9234d84811b637853b8da705f","impliedFormat":1},{"version":"dd8ded51112dedf953e09e211e423bcc9c8a3943b4b42d0c66c89466e55635a6","impliedFormat":1},{"version":"31073e7d0e51f33b1456ff2ab7f06546c95e24e11c29d5b39a634bc51f86d914","impliedFormat":1},{"version":"9ce0473b0fbaf7287afb01b6a91bd38f73a31093e59ee86de1fd3f352f3fc817","impliedFormat":1},{"version":"6f0d708924c3c4ee64b0fef8f10ad2b4cb87aa70b015eb758848c1ea02db0ed7","impliedFormat":1},{"version":"6addbb18f70100a2de900bace1c800b8d760421cdd33c1d69ee290b71e28003d","impliedFormat":1},{"version":"37569cc8f21262ca62ec9d3aa8eb5740f96e1f325fad3d6aa00a19403bd27b96","impliedFormat":1},{"version":"fa18c6fe108031717db1ada404c14dc75b8b38c54daa3bb3af4c4999861ca653","impliedFormat":1},{"version":"14be139e0f6d380a3d24aaf9b67972add107bea35cf7f2b1b1febac6553c3ede","impliedFormat":1},{"version":"23195b09849686462875673042a12b7f4cd34b4e27d38e40ca9c408dae8e6656","impliedFormat":1},{"version":"ff1731974600a4dad7ec87770e95fc86ca3d329b1ce200032766340f83585e47","impliedFormat":1},{"version":"91bc53a57079cf32e1a10ccf1a1e4a068e9820aa2fc6abc9af6bd6a52f590ffb","impliedFormat":1},{"version":"8dd284442b56814717e70f11ca22f4ea5b35feeca680f475bfcf8f65ba4ba296","impliedFormat":1},{"version":"a304e0af52f81bd7e6491e890fd480f3dc2cb0541dec3c7bd440dba9fea5c34e","impliedFormat":1},{"version":"c60fd0d7a1ba07631dfae8b757be0bffd5ef329e563f9a213e4a5402351c679f","impliedFormat":1},{"version":"a5ca6512e1e0f4aafbbdbc829a3bb5654529aaf299ab760c351e6e6b406548fb","impliedFormat":1},{"version":"e79e530a8216ee171b4aca8fc7b99bd37f5e84555cba57dc3de4cd57580ff21a","impliedFormat":1},{"version":"ceb2c0bc630cca2d0fdd48b0f48915d1e768785efaabf50e31c8399926fee5b1","impliedFormat":1},{"version":"f351eaa598ba2046e3078e5480a7533be7051e4db9212bb40f4eeb84279aa24d","impliedFormat":1},{"version":"12aeda564ee3f1d96ac759553d6749534fafeb2e5142ea2867f22ed39f9d3260","impliedFormat":1},{"version":"4ce53edb8fb1d2f8b2f6814084b773cdf5846f49bf5a426fbe4029327bda95bf","impliedFormat":1},{"version":"1edc9192dfc277c60b92525cdfa1980e1bfd161ae77286c96777d10db36be73c","impliedFormat":1},{"version":"85d63aaff358e8390b666a6bc68d3f56985f18764ab05f750cb67910f7bccb1a","impliedFormat":1},{"version":"0a0bf0cb43af5e0ac1703b48325ebc18ad86f6bf796bdbe96a429c0e95ca4486","impliedFormat":1},{"version":"22fcfd509683e3edfaf0150c255f6afdf437fec04f033f56b43d66fe392e2ad3","impliedFormat":1},{"version":"f08d2151bd91cdaa152532d51af04e29201cfc5d1ea40f8f7cfca0eb4f0b7cf3","impliedFormat":1},{"version":"3d5d9aa6266ea07199ce0a1e1f9268a56579526fad4b511949ddb9f974644202","impliedFormat":1},{"version":"b9c889d8a4595d02ebb3d3a72a335900b2fe9e5b5c54965da404379002b4ac44","impliedFormat":1},{"version":"a3cd30ebae3d0217b6b3204245719fc2c2f29d03b626905cac7127e1fb70e79c","impliedFormat":1},{"version":"1502a23e43fd7e9976a83195dc4eaf54acaff044687e0988a3bd4f19fc26b02b","impliedFormat":1},{"version":"c6e23745504b016ed3ffbe637d69bcc2145d598ecd8bafa4892cafbac09d5fcf","impliedFormat":1},{"version":"2132bf9bdbf54ebcae1ec755ec780a6db1825c306bd6f3e0339d5c1da490f070","impliedFormat":1},{"version":"d9c6f10eebf03d123396d4fee1efbe88bc967a47655ec040ffe7e94271a34fc7","impliedFormat":1},{"version":"380b4fe5dac74984ac6a58a116f7726bede1bdca7cec5362034c0b12971ac9c1","impliedFormat":1},{"version":"00de72aa7abede86b016f0b3bfbf767a08b5cff060991b0722d78b594a4c2105","impliedFormat":1},{"version":"710e09a2711b011cc9681d237da0c1c450d12551b0d21c764826822e548b5464","impliedFormat":1},{"version":"4f5bbef956920cfd90f2cbffccb3c34f8dfc64faaba368d9d41a46925511b6b0","impliedFormat":1},{"version":"11e4e2be18385fa1b4ffa0244c6c626f767058f445bbc66f1c7155cc8e1ec5b4","impliedFormat":1},{"version":"f47280c45ddbc8aa4909396e1d8b526f64dfad4a845aec2356a6c1dc7b6fe722","impliedFormat":1},{"version":"7b7f39411329342a28ea19a4ca3aa4c7f7d888c9f01a411b05e4126280026ea6","impliedFormat":1},{"version":"ba3ef8ea20ac0186dc0d58c1e96ffaf84327d09c377fd82f0ae99236e3430c3a","impliedFormat":1},{"version":"d66e97aa992c0fe797878bcad6257562829582f5f3a2842df71e613e60f7b778","impliedFormat":1},{"version":"a86492d82baf906c071536e8de073e601eaa5deed138c2d9c42d471d72395d7e","impliedFormat":1},{"version":"789110b95e963c99ace4e9ad8b60901201ddc4cab59f32bde5458c1359a4d887","impliedFormat":1},{"version":"92eb8a98444729aa61be5e6e489602363d763da27d1bcfdf89356c1d360484da","impliedFormat":1},{"version":"72bbfa838556113625a605be08f9fed6a4aed73ba03ab787badb317ab6f3bcd7","impliedFormat":1},{"version":"d729b8b400507b9b51ff40d11e012379dbf0acd6e2f66bf596a3bc59444d9bf1","impliedFormat":1},{"version":"32ac4394bb4b0348d46211f2575f22ab762babb399aca1e34cf77998cdef73b2","impliedFormat":1},{"version":"665c7850d78c30326b541d50c4dfad08cea616a7f58df6bb9c4872dd36778ad0","impliedFormat":1},{"version":"1567c6dcf728b0c1044606f830aafd404c00590af56d375399edef82e9ddce92","impliedFormat":1},{"version":"c00b402135ef36fb09d59519e34d03445fd6541c09e68b189abb64151f211b12","impliedFormat":1},{"version":"e08e58ac493a27b29ceee80da90bb31ec64341b520907d480df6244cdbec01f8","impliedFormat":1},{"version":"c0fe2b1135ca803efa203408c953e1e12645b8065e1a4c1336ad8bb11ea1101b","impliedFormat":1},{"version":"d82c245bfb76da44dd573948eca299ff75759b9714f8410468d2d055145a4b64","impliedFormat":1},{"version":"25b1108faedaf2043a97a76218240b1b537459bbca5ae9e2207c236c40dcfdef","impliedFormat":1},{"version":"5a4d0b09de173c391d5d50064fc20166becc194248b1ce738e8a56af5196d28c","impliedFormat":1},{"version":"0e0b8353d6d7f7cc3344adbabf3866e64f2f2813b23477254ba51f69e8fdf0eb","impliedFormat":1},{"version":"fc9ed6f3665b53b9b258ae7eda6394d8387e17fab6d85f48f4603d19633b006b","impliedFormat":1},{"version":"40fbe20b66b8bb3589bf9851283daa52d7aecc3bcae762b2859c1a7093895d61","impliedFormat":1},{"version":"db08c1807e3ae065930d88a3449d926273816d019e6c2a534e82da14e796686d","impliedFormat":1},{"version":"9e5c7463fc0259a38938c9afbdeda92e802cff87560277fd3e385ad24663f214","impliedFormat":1},{"version":"ef83477cca76be1c2d0539408c32b0a2118abcd25c9004f197421155a4649c37","impliedFormat":1},{"version":"b6bf369deed4ac7d681a20efee316018fbfdd044e9d3cd4ec79fdf5821688035","impliedFormat":1},{"version":"d38d37382c93f620216ed2e44e6757d395c141251f244d22aa0983542ec699af","impliedFormat":1},{"version":"675f783c96d906a756c8716faadc70fc944dfbd5581cf1fd0a01e22cd938b502","signature":"42558d7269d6edb9e2c938febc034def2474d9b01c8810e4b1890af5ff2d0b16"},{"version":"56f782a6ff21e4943b1e747072f26d07e867180cea33f8c0454018630a4a5519","signature":"307fc280c73fee7560784b87190bbd091e5a9d3628f52ebc6c99282c0358d808"},{"version":"6b88eb628bdab1dd86ffc023009868846f8f51211cd86595ae13c2c433ad5f3d","signature":"7b0ff60cd70a47f387f1a771e20f3927316c97469ea8c79713717c5116acf9b8"},{"version":"525964c2918bc9764d3a521b12f929b84d3028b0444f9b2573901b12d871710e","signature":"7f2f5b936f48c828cd70864acdd037fe76bc296bac6dbd43a954e556dde5f7be"},{"version":"e1e1f17d82f256849c98eecf5d93eedcf49b8000ec765adb37a96356ea35c97b","signature":"7d09c3dbb0d4e82b6415b35e74b8101a881c878cf3b6b460f608fa2b27341c2e"},{"version":"fd1f44ef442df59f03101ff7078d003c757e79d00c7b9f70b5c78e97a2231941","signature":"7b23d7ea96de028921ef09fa48af82c55eee2512889f128eb9cd182ac7ecef5d"},"fc89af9652b82ffb095fd08b460b59c3ec5f0c00bebf01c99018eaceff74c0c8",{"version":"ec6d1ffbb1455fdf7c75715ce5390172f3c4783b94defaf897e6036c7282d04c","impliedFormat":1},{"version":"52ed17fe2c0a4bb27a4f13e99234b3d1f364dc27f9bd7964946d5ec62792a0cc","impliedFormat":1},{"version":"af5d4fbe44248c666829059b807d6ec6c5bf66899b0ef44635be70ee1ed5f937","impliedFormat":1},{"version":"9f3fd115e0f6969c552fbf60fba7af3f66c070718809e8fba06c963abb59b028","impliedFormat":1},{"version":"29c2abbfb93af588ca79e84e2b0a8d33ab25c7703bd8f48d3ef9fa93ecd9700f","impliedFormat":1},{"version":"6bc9a3af045c3b0993a60b2c5f8800c3fa4be8055043c7c51b9e673d0d2e52d5","impliedFormat":1},{"version":"ed4be5a31cd8dbb8e31ccde91e7b8c1552eb191c4787d19ed028763577674772","impliedFormat":1},{"version":"d40e7cb322841e538e686b8a39f05e8b3e0b6d5b7c6687efa69f0cbf9124c4ec","impliedFormat":1},{"version":"c5641bb951da5d5252e7d8a806ec3c84f42555b5bd6a0879dbf1c7df1b8bd850","impliedFormat":1},{"version":"0816f549b8d5e84f1e7f391dd6ea56a071f71bdda379fd927884646841d0580a","impliedFormat":1},{"version":"19ce9ec982b542ef6d04d29ce678aad2fa52a67d8087e9c6cd95a4d6d98784c8","impliedFormat":99},{"version":"e1a35d120ee5e01503d8d77352d122f0e8f860e9a08584f8183a69816008fa5d","impliedFormat":99},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"93da197145dee1148ae0d2a4a493208deab95a064437919d768a5afbbaa765f5","impliedFormat":99},{"version":"fdeb3d41dd7f0eb1a3a04834d08c12af5a1d1b0102f155d1f33de85b36f7bc97","impliedFormat":99},{"version":"ab8f16cf346d43385bc8caceebf9f06bd84d2986755ef0f4b913e3372f6e0607","impliedFormat":99},{"version":"661a38cc723958af347949e90af9b463504d88dcccac2217287b94192c60cd38","impliedFormat":99},{"version":"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c","impliedFormat":1},{"version":"185282b122cbca820c297a02a57b89cf5967ab43e220e3e174d872d3f9a94d2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","impliedFormat":1},{"version":"7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba","impliedFormat":1},{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"e8968b394e4365588f8f89cfff86435258cf10062585c1d2224627ab92acda22","impliedFormat":1},{"version":"285e512c7a0db217a0599e18c462d565fa35be4a5153dd7b80bee88c83e83ddf","impliedFormat":1},{"version":"b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","impliedFormat":1},{"version":"8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","impliedFormat":1},{"version":"af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","impliedFormat":1},{"version":"b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e","impliedFormat":1},{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true,"impliedFormat":1},{"version":"7aae1df2053572c2cfc2089a77847aadbb38eedbaa837a846c6a49fb37c6e5bd","impliedFormat":1},{"version":"313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","impliedFormat":1},{"version":"1f758340b027b18ae8773ac3d33a60648a2af49eaae9e4fde18d0a0dd608642c","impliedFormat":1},{"version":"87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","impliedFormat":1},{"version":"396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","impliedFormat":1},{"version":"21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac","impliedFormat":1},{"version":"dea4c00820d4fac5e530d4842aed2fb20d6744d75a674b95502cbd433f88bcb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","impliedFormat":1},{"version":"45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","impliedFormat":1},{"version":"0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7","impliedFormat":1},{"version":"0d832a0650a74aafc276cb3f7bb26bde2e2270a6f87e6c871a64122e9203079b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7eadc0b0cba14ab854122810f330314132c5cfdb7800fceb82d521997a1f5b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","impliedFormat":1},{"version":"d742ed2db6d5425b3b6ac5fb1f2e4b1ed2ae74fbeee8d0030d852121a4b05d2f","impliedFormat":1},{"version":"d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","impliedFormat":1},{"version":"8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","impliedFormat":1},{"version":"01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","impliedFormat":1},{"version":"458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","impliedFormat":1},{"version":"831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12","impliedFormat":1},{"version":"2225100373ca3d63bcc7f206e1177152d2e2161285a0bd83c8374db1503a0d1f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","impliedFormat":1},{"version":"eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","impliedFormat":1},{"version":"7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","impliedFormat":1},{"version":"7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df","impliedFormat":1},{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ed13c80faeb2b7160bffb4926ff299c468e67a37a645b3ae0917ba0db633c1b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","impliedFormat":1},{"version":"79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","impliedFormat":1},{"version":"4a34b074b11c3597fb2ff890bc8f1484375b3b80793ab01f974534808d5777c7","impliedFormat":1},{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1},{"version":"850040826cfa77593d44f44487133af21917f4f21507258bd4269501b80d32f0","impliedFormat":1},{"version":"8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","impliedFormat":1},{"version":"bcb6ea18f23dae2c48459d7b86d3adccd6898f824fcbf9da08b935f559896580","impliedFormat":1},{"version":"1363ba7d52f2353d0c4306d0ecdaf171bf4509c0148842f9fd8d3986c098a2eb","impliedFormat":1},{"version":"3a24f4a428f24cad90b83fab329a620c4adbace083a8eda62c63365065b79e73","impliedFormat":1},{"version":"739c2c46edc112421fc023c24b4898b1f413f792bb6a02b40ba182c648e56c2f","impliedFormat":1},{"version":"858d0d831826c6eb563df02f7db71c90e26deadd0938652096bea3cc14899700","impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","impliedFormat":1},{"version":"18c04c22baee54d13b505fa6e8bcd4223f8ba32beee80ec70e6cac972d1cc9a6","impliedFormat":1},{"version":"5e92a2e8ba5cbcdfd9e51428f94f7bd0ab6e45c9805b1c9552b64abaffad3ce3","impliedFormat":1},{"version":"53ca39fe70232633759dd3006fc5f467ecda540252c0c819ab53e9f6ad97b226","impliedFormat":1},{"version":"e7174a839d4732630d904a8b488f22380e5bcf1d6405d1f59614e10795eca17d","impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","impliedFormat":1},{"version":"b9261ac3e9944d3d72c5ee4cf888ad35d9743a5563405c6963c4e43ee3708ca4","impliedFormat":1},{"version":"c84fd54e8400def0d1ef1569cafd02e9f39a622df9fa69b57ccc82128856b916","impliedFormat":1},{"version":"c7a38c1ef8d6ae4bf252be67bd9a8b012b2cdea65bd6225a3d1a726c4f0d52b6","impliedFormat":1},{"version":"e773630f8772a06e82d97046fc92da59ada8414c61689894fff0155dd08f102c","impliedFormat":1},{"version":"74f2815d9e1b8530120dcad409ed5f706df8513c4d93e99fc6213997aa4dd60e","impliedFormat":1},{"version":"9d1f36ccd354f2e286b909bf01d626a3a28dd6590770303a18afa7796fe50db9","impliedFormat":1},{"version":"c4bc6a572f9d763ac7fa0d839be3de80273a67660e2002e3225e00ef716b4f37","impliedFormat":1},{"version":"106e607866d6c3e9a497a696ac949c3e2ec46b6e7dda35aabe76100bf740833b","impliedFormat":1},{"version":"8a6c755dc994d16c4e072bba010830fa2500d98ff322c442c7c91488d160a10d","impliedFormat":1},{"version":"d4514d11e7d11c53da7d43b948654d6e608a3d93d666a36f8d01e18ece04c9bd","impliedFormat":1},{"version":"3d65182eff7bbb16de1a69e17651c51083f740af11a1a92359be6dab939e8bcf","impliedFormat":1},{"version":"bb53fe9074a25dfa9410e2ee1c4db8c71d02275f916d2019de7fd9cadd50c30b","impliedFormat":1},{"version":"77926a706478940016e826b162f95f8e4077b1ad3184b2592dc03bd8b33e0384","impliedFormat":99},{"version":"77b411edffb8d1fa25c07b5c3232e214f5f54b1fbb5e3e9eefcc9fd915bea582","impliedFormat":99},{"version":"05d8e53f6bc3988bc6fa6eb796f32852237752a70567e93df9647de714b4e7ba","impliedFormat":99},{"version":"f09a9b22643cbacec0dfcfce9f8fba8f3ff225aa7a51fc1ebe2da8f0769d727e","impliedFormat":99},{"version":"46bd2ebdf42fb171d7cbe21203a0f6d12854534f13a6831f23c003e5d08f0729","impliedFormat":99},{"version":"9e95cbc1478096467c73a45b2449a12e10c0e9e269ece267d96d6f65b8aab944","impliedFormat":99},{"version":"b4c700cc74490ceb0da7486267589c4a2648884f3ead4a98ba4f77aad4b318c4","impliedFormat":99},{"version":"d3a8062f03b63c9611d27ebd015757149f7fdbc0a2986a2f3748d92fbf369a83","impliedFormat":99},{"version":"4a2c144ea6f441e9616ec77fe9b1009b0cdf6db0cd9727b8d99623975cd6c693","affectsGlobalScope":true,"impliedFormat":1},{"version":"f2b95b4047d5ee9a18a77bbc945e0b3984e58ac418b41d31f3cd620de93f7679","impliedFormat":99},{"version":"6e8fe2b81bcabb2bb7cec054b54e51505d5cc17877467dec84b1ded7a670a4ea","impliedFormat":99},{"version":"47c8c25482eb4844ac9c11758f9a6c0112ecb1c7216f91e3463772e73f989a63","affectsGlobalScope":true,"impliedFormat":99},{"version":"b0195c3cad35486867dc72b15920b4d2209c54033e776f637096b50e8d640d2a","impliedFormat":99},{"version":"80dc9583286c23698e405e9bc9c7e01970bf3f589ed3409cd2260d5d83eefa4a","impliedFormat":99},{"version":"017f8ec681caedd0b963b7efad5b51c33ea4919cadd14ca6cb90aede4e773a0d","impliedFormat":99},{"version":"de317183334fe081395d6c54ddfd068ded9d8f1b86756dddbf9c4a7b1c5493c4","impliedFormat":99},{"version":"ea09c26609414c706f54f522b0e06f86429d6ba6747082adb5feaf3ba41b5deb","impliedFormat":99},{"version":"69fbf077eb9ae7466d64acf2a17969be0cf9b077580a6fe563935df6e35f5aa2","impliedFormat":99},{"version":"3fa571018b674c0cdc74584b04f32c421829c409236e1332af4a87ad904b504d","impliedFormat":99},{"version":"13446337b269b3a8fdac668f9cf831b313529aea23f26621ecf5097c3e53bb25","impliedFormat":99},{"version":"600238f708fdbd3ac9db0a2d574b8c72e28fba3f14beb3551e6c7d9e410bd7b7","impliedFormat":99},{"version":"27ab465d874023a9375fa33c1522f863c829745aef5353bc8e4909140eeb485c","impliedFormat":99},{"version":"f68c8a300bf8518320c2b4270210b7aafeaac1a110c49cc1e6f502ab3c26e8ce","impliedFormat":99},{"version":"6ffdcfc66b3e0d5026d2e83cbdb2cb88b47532aaa036524b20c34241453ba50e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","impliedFormat":1},{"version":"378df8bbbb9e3f6fca05d58f644aab538e1062eab5e778fb0b83d41125df246d","impliedFormat":1},{"version":"d88a479cccf787b4aa82362150fbeba5211a32dbfafa7b92ba6995ecaf9a1a89","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","impliedFormat":1},{"version":"0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","impliedFormat":1},{"version":"9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","impliedFormat":1},{"version":"3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","impliedFormat":1},{"version":"3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","impliedFormat":1},{"version":"9fa6b83a35e897f340858995ca5d77e901d89fd18644cd4c9e8a4afe0b2e6363","impliedFormat":1},{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true,"impliedFormat":1}],"root":[[220,226],380],"options":{"allowJs":true,"composite":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":99,"noUncheckedSideEffectImports":true,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictBuiltinIteratorReturn":true,"strictNullChecks":true,"target":9},"referencedMap":[[240,1],[239,2],[365,2],[246,3],[247,3],[281,4],[282,5],[283,6],[284,7],[285,8],[286,9],[287,10],[288,11],[289,12],[290,13],[291,13],[293,14],[292,15],[294,16],[295,17],[296,18],[280,19],[330,2],[297,20],[298,21],[299,22],[331,23],[300,24],[301,25],[302,26],[303,27],[304,28],[305,29],[306,30],[307,31],[308,32],[309,33],[310,33],[311,34],[312,35],[314,36],[313,37],[315,38],[316,39],[317,40],[318,41],[319,42],[320,43],[321,44],[322,45],[323,46],[324,47],[325,48],[326,49],[327,50],[328,51],[329,52],[368,53],[245,54],[243,55],[244,56],[369,56],[362,2],[377,57],[363,58],[364,59],[372,59],[376,60],[367,61],[238,62],[242,63],[366,64],[237,2],[332,2],[354,65],[352,66],[353,67],[341,68],[342,66],[349,69],[340,70],[345,71],[355,2],[346,72],[351,73],[357,74],[356,75],[339,76],[347,77],[348,78],[343,79],[350,65],[344,80],[241,81],[336,2],[338,82],[370,2],[375,2],[62,2],[63,2],[12,2],[10,2],[11,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[4,2],[26,2],[30,2],[27,2],[28,2],[29,2],[31,2],[32,2],[33,2],[5,2],[34,2],[35,2],[36,2],[37,2],[6,2],[41,2],[38,2],[39,2],[40,2],[42,2],[7,2],[43,2],[48,2],[49,2],[44,2],[45,2],[46,2],[47,2],[8,2],[53,2],[50,2],[51,2],[52,2],[54,2],[9,2],[55,2],[64,2],[56,2],[57,2],[60,2],[58,2],[59,2],[1,2],[61,2],[14,2],[13,2],[263,83],[270,84],[262,83],[277,85],[254,86],[253,87],[276,88],[271,89],[274,90],[256,91],[255,92],[251,93],[250,94],[273,95],[252,96],[257,97],[258,2],[261,97],[248,2],[279,98],[278,97],[265,99],[266,100],[268,101],[264,102],[267,103],[272,88],[259,104],[260,105],[269,106],[249,107],[275,108],[371,109],[360,110],[361,109],[373,111],[359,2],[358,112],[335,113],[334,2],[337,2],[333,114],[378,115],[379,116],[374,115],[382,117],[383,118],[381,119],[384,120],[385,121],[386,122],[387,123],[388,124],[389,125],[390,126],[391,127],[392,128],[393,129],[236,130],[232,131],[229,132],[231,2],[233,133],[230,134],[235,135],[228,2],[234,136],[227,2],[219,137],[94,138],[189,2],[156,139],[128,140],[112,141],[190,2],[139,2],[147,2],[166,142],[67,2],[194,143],[196,144],[195,145],[150,146],[149,147],[152,148],[151,149],[110,2],[197,141],[201,150],[199,151],[70,152],[71,152],[72,2],[113,153],[163,154],[162,2],[175,155],[77,138],[169,2],[158,2],[214,156],[216,2],[97,157],[96,158],[179,159],[181,160],[75,161],[183,162],[188,163],[73,164],[148,165],[192,166],[134,167],[209,138],[187,168],[85,169],[86,2],[105,170],[101,171],[102,172],[104,173],[100,174],[99,175],[103,176],[141,2],[87,2],[76,2],[88,177],[89,178],[92,179],[91,2],[132,2],[133,166],[161,2],[154,2],[168,180],[167,181],[198,151],[202,182],[200,183],[69,2],[215,2],[155,157],[98,184],[173,185],[172,2],[129,186],[115,187],[116,2],[109,188],[159,189],[160,189],[79,190],[111,2],[90,191],[68,2],[131,192],[107,2],[177,2],[95,138],[178,193],[217,194],[121,141],[135,195],[203,145],[205,196],[204,196],[125,197],[127,198],[108,2],[65,2],[138,2],[137,141],[180,138],[176,2],[212,2],[118,141],[78,199],[117,2],[119,200],[122,141],[74,2],[171,2],[210,201],[191,202],[145,2],[142,202],[165,203],[143,202],[144,202],[164,167],[130,204],[114,205],[83,2],[120,206],[206,151],[208,182],[207,183],[193,141],[211,2],[184,207],[174,2],[213,208],[157,209],[153,2],[170,210],[124,211],[123,212],[82,2],[140,2],[93,141],[218,2],[185,2],[66,2],[136,141],[126,2],[186,213],[81,2],[80,2],[146,2],[106,141],[182,138],[84,202],[221,214],[226,215],[220,2],[225,2],[222,2],[380,216],[223,2],[224,2]],"latestChangedDtsFile":"./dist/time.spec.d.ts","version":"5.6.2"} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8f0eed5f..b4e9ea96 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,69 +1,2375 @@ -lockfileVersion: 5.3 +lockfileVersion: '6.0' -specifiers: - prettier: ^2.4.1 - prettier-plugin-organize-imports: ^2.3.3 - prettier-plugin-sort-json: ^0.0.2 - prettier-plugin-svelte: ^2.4.0 - svelte: ^3.42.6 - typescript: ^4.4.3 +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@types/node': + specifier: '20' + version: 20.10.0 devDependencies: - prettier: 2.4.1 - prettier-plugin-organize-imports: 2.3.3_prettier@2.4.1+typescript@4.4.3 - prettier-plugin-sort-json: 0.0.2_prettier@2.4.1 - prettier-plugin-svelte: 2.4.0_prettier@2.4.1+svelte@3.42.6 - svelte: 3.42.6 - typescript: 4.4.3 + '@typescript-eslint/eslint-plugin': + specifier: ^7.7.1 + version: 7.7.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/parser': + specifier: ^7.7.1 + version: 7.7.1(eslint@8.57.0)(typescript@5.6.2) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: ^9.0.0 + version: 9.0.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: ^4.2.1 + version: 4.2.1(eslint-config-prettier@9.0.0)(eslint@8.57.0)(prettier@3.1.0) + eslint-plugin-svelte: + specifier: ^2.30.0 + version: 2.35.1(eslint@8.57.0)(svelte@4.2.7)(ts-node@10.9.1) + prettier: + specifier: ^3.1.0 + version: 3.1.0 + prettier-plugin-svelte: + specifier: ^3.1.2 + version: 3.1.2(prettier@3.1.0)(svelte@4.2.7) + svelte: + specifier: ^4.0.0 + version: 4.2.7 + svelte-check: + specifier: ^3.6.2 + version: 3.6.2(postcss@8.4.31)(svelte@4.2.7) + ts-node: + specifier: ^10.4.0 + version: 10.9.1(@types/node@20.10.0)(typescript@5.6.2) + ts-node-dev: + specifier: ^1.1.8 + version: 1.1.8(typescript@5.6.2) + typescript: + specifier: ^5.6.2 + version: 5.6.2 + vite: + specifier: ^4.4.2 + version: 4.5.0(@types/node@20.10.0) + vitest: + specifier: ^0.34.6 + version: 0.34.6 packages: - /@types/prettier/2.3.0: - resolution: {integrity: sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==} + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /prettier-plugin-organize-imports/2.3.3_prettier@2.4.1+typescript@4.4.3: - resolution: {integrity: sha512-PBOwQ8vEIB2b7B3gCuBG7D+dqsr1fsTR4TSAjNacRVdHJrD0yzgz9grOLPSyfwJm+NUTZLyWeHoZ+1mHaUrk+g==} + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - prettier: '>=2.0' - typescript: '>=2.9' + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@tsconfig/node10@1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: true + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: true + + /@types/chai-subset@1.3.5: + resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} + dependencies: + '@types/chai': 4.3.11 + dev: true + + /@types/chai@4.3.11: + resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + + /@types/node@20.10.0: + resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==} dependencies: - prettier: 2.4.1 - typescript: 4.4.3 + undici-types: 5.26.5 + + /@types/pug@2.0.10: + resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} + dev: true + + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: true + + /@types/strip-bom@3.0.0: + resolution: {integrity: sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==} + dev: true + + /@types/strip-json-comments@0.0.30: + resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==} dev: true - /prettier-plugin-sort-json/0.0.2_prettier@2.4.1: - resolution: {integrity: sha512-St9zu6Alb+cA+FmnIFmjFOrTmBFWohYPReVjcMAI2y9mE0YJcW+RIchjLuOeXkLdh+eQlQtXy+3/6W6ZgyllQw==} + /@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)(typescript@5.6.2): + resolution: {integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - prettier: ^2.1.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@types/prettier': 2.3.0 - prettier: 2.4.1 + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/scope-manager': 7.7.1 + '@typescript-eslint/type-utils': 7.7.1(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/utils': 7.7.1(eslint@8.57.0)(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 7.7.1 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.6.2) + typescript: 5.6.2 + transitivePeerDependencies: + - supports-color dev: true - /prettier-plugin-svelte/2.4.0_prettier@2.4.1+svelte@3.42.6: - resolution: {integrity: sha512-JwJ9bOz4XHLQtiLnX4mTSSDUdhu12WH8sTwy/XTDCSyPlah6IcV7NWeYBZscPEcceu2YnW8Y9sJCP40Z2UH9GA==} + /@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.6.2): + resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - prettier: ^1.16.4 || ^2.0.0 - svelte: ^3.2.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - prettier: 2.4.1 - svelte: 3.42.6 + '@typescript-eslint/scope-manager': 7.7.1 + '@typescript-eslint/types': 7.7.1 + '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 7.7.1 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.6.2 + transitivePeerDependencies: + - supports-color dev: true - /prettier/2.4.1: - resolution: {integrity: sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==} - engines: {node: '>=10.13.0'} + /@typescript-eslint/scope-manager@7.7.1: + resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.7.1 + '@typescript-eslint/visitor-keys': 7.7.1 + dev: true + + /@typescript-eslint/type-utils@7.7.1(eslint@8.57.0)(typescript@5.6.2): + resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.6.2) + '@typescript-eslint/utils': 7.7.1(eslint@8.57.0)(typescript@5.6.2) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.6.2) + typescript: 5.6.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@7.7.1: + resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==} + engines: {node: ^18.18.0 || >=20.0.0} + dev: true + + /@typescript-eslint/typescript-estree@7.7.1(typescript@5.6.2): + resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.7.1 + '@typescript-eslint/visitor-keys': 7.7.1 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.6.2) + typescript: 5.6.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@7.7.1(eslint@8.57.0)(typescript@5.6.2): + resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.7.1 + '@typescript-eslint/types': 7.7.1 + '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.6.2) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@7.7.1: + resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.7.1 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitest/expect@0.34.6: + resolution: {integrity: sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==} + dependencies: + '@vitest/spy': 0.34.6 + '@vitest/utils': 0.34.6 + chai: 4.3.10 + dev: true + + /@vitest/runner@0.34.6: + resolution: {integrity: sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==} + dependencies: + '@vitest/utils': 0.34.6 + p-limit: 4.0.0 + pathe: 1.1.1 + dev: true + + /@vitest/snapshot@0.34.6: + resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==} + dependencies: + magic-string: 0.30.5 + pathe: 1.1.1 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@0.34.6: + resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==} + dependencies: + tinyspy: 2.2.0 + dev: true + + /@vitest/utils@0.34.6: + resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} + dependencies: + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /acorn-jsx@5.3.2(acorn@8.11.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.2 + dev: true + + /acorn-walk@8.3.0: + resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} hasBin: true dev: true - /svelte/3.42.6: - resolution: {integrity: sha512-lAcryr9Do2PeGtbodspX5I4kWj4yWYAa2WGpDCwzNkP3y8WZTxigMd4/TMO1rBZEOkMYGn4ZXrbAlSEGhK6q3w==} + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + dependencies: + dequal: 2.0.3 + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /chai@4.3.10: + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /code-red@1.0.4: + resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + '@types/estree': 1.0.5 + acorn: 8.11.2 + estree-walker: 3.0.3 + periscopic: 3.1.0 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 dev: true - /typescript/4.4.3: - resolution: {integrity: sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==} - engines: {node: '>=4.2.0'} + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} hasBin: true dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: true + + /detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dynamic-dedupe@0.3.0: + resolution: {integrity: sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==} + dependencies: + xtend: 4.0.2 + dev: true + + /es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + dev: true + + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-compat-utils@0.1.2(eslint@8.57.0): + resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-config-prettier@9.0.0(eslint@8.57.0): + resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.0.0)(eslint@8.57.0)(prettier@3.1.0): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.0.0(eslint@8.57.0) + prettier: 3.1.0 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-plugin-svelte@2.35.1(eslint@8.57.0)(svelte@4.2.7)(ts-node@10.9.1): + resolution: {integrity: sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0-0 + svelte: ^3.37.0 || ^4.0.0 + peerDependenciesMeta: + svelte: + optional: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@jridgewell/sourcemap-codec': 1.4.15 + debug: 4.3.4 + eslint: 8.57.0 + eslint-compat-utils: 0.1.2(eslint@8.57.0) + esutils: 2.0.3 + known-css-properties: 0.29.0 + postcss: 8.4.31 + postcss-load-config: 3.1.4(postcss@8.4.31)(ts-node@10.9.1) + postcss-safe-parser: 6.0.0(postcss@8.4.31) + postcss-selector-parser: 6.0.13 + semver: 7.5.4 + svelte: 4.2.7 + svelte-eslint-parser: 0.33.1(svelte@4.2.7) + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.0 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + engines: {node: '>= 4'} + dev: true + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /known-css-properties@0.29.0: + resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + + /locate-character@3.0.0: + resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string@0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.11.2 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.2 + dev: true + + /mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.2 + pathe: 1.1.1 + dev: true + + /postcss-load-config@3.1.4(postcss@8.4.31)(ts-node@10.9.1): + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.31 + ts-node: 10.9.1(@types/node@20.10.0)(typescript@5.6.2) + yaml: 1.10.2 + dev: true + + /postcss-safe-parser@6.0.0(postcss@8.4.31): + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.31 + dev: true + + /postcss-scss@4.0.9(postcss@8.4.31): + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.29 + dependencies: + postcss: 8.4.31 + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier-plugin-svelte@3.1.2(prettier@3.1.0)(svelte@4.2.7): + resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==} + peerDependencies: + prettier: ^3.0.0 + svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 + dependencies: + prettier: 3.1.0 + svelte: 4.2.7 + dev: true + + /prettier@3.1.0: + resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + dependencies: + mri: 1.2.0 + dev: true + + /sander@0.5.1: + resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} + dependencies: + es6-promise: 3.3.1 + graceful-fs: 4.2.11 + mkdirp: 0.5.6 + rimraf: 2.7.1 + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /sorcery@0.11.0: + resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} + hasBin: true + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + buffer-crc32: 0.2.13 + minimist: 1.2.8 + sander: 0.5.1 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /std-env@3.5.0: + resolution: {integrity: sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA==} + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + dependencies: + acorn: 8.11.2 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svelte-check@3.6.2(postcss@8.4.31)(svelte@4.2.7): + resolution: {integrity: sha512-E6iFh4aUCGJLRz6QZXH3gcN/VFfkzwtruWSRmlKrLWQTiO6VzLsivR6q02WYLGNAGecV3EocqZuCDrC2uttZ0g==} + hasBin: true + peerDependencies: + svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + chokidar: 3.5.3 + fast-glob: 3.3.2 + import-fresh: 3.3.0 + picocolors: 1.0.0 + sade: 1.8.1 + svelte: 4.2.7 + svelte-preprocess: 5.1.1(postcss@8.4.31)(svelte@4.2.7)(typescript@5.6.2) + typescript: 5.6.2 + transitivePeerDependencies: + - '@babel/core' + - coffeescript + - less + - postcss + - postcss-load-config + - pug + - sass + - stylus + - sugarss + dev: true + + /svelte-eslint-parser@0.33.1(svelte@4.2.7): + resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + svelte: ^3.37.0 || ^4.0.0 + peerDependenciesMeta: + svelte: + optional: true + dependencies: + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + postcss: 8.4.31 + postcss-scss: 4.0.9(postcss@8.4.31) + svelte: 4.2.7 + dev: true + + /svelte-preprocess@5.1.1(postcss@8.4.31)(svelte@4.2.7)(typescript@5.6.2): + resolution: {integrity: sha512-p/Dp4hmrBW5mrCCq29lEMFpIJT2FZsRlouxEc5qpbOmXRbaFs7clLs8oKPwD3xCFyZfv1bIhvOzpQkhMEVQdMw==} + engines: {node: '>= 14.10.0'} + requiresBuild: true + peerDependencies: + '@babel/core': ^7.10.2 + coffeescript: ^2.5.1 + less: ^3.11.3 || ^4.0.0 + postcss: ^7 || ^8 + postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 + pug: ^3.0.0 + sass: ^1.26.8 + stylus: ^0.55.0 + sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 + svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 + typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' + peerDependenciesMeta: + '@babel/core': + optional: true + coffeescript: + optional: true + less: + optional: true + postcss: + optional: true + postcss-load-config: + optional: true + pug: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + typescript: + optional: true + dependencies: + '@types/pug': 2.0.10 + detect-indent: 6.1.0 + magic-string: 0.27.0 + postcss: 8.4.31 + sorcery: 0.11.0 + strip-indent: 3.0.0 + svelte: 4.2.7 + typescript: 5.6.2 + dev: true + + /svelte@4.2.7: + resolution: {integrity: sha512-UExR1KS7raTdycsUrKLtStayu4hpdV3VZQgM0akX8XbXgLBlosdE/Sf3crOgyh9xIjqSYB3UEBuUlIQKRQX2hg==} + engines: {node: '>=16'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.20 + acorn: 8.11.2 + aria-query: 5.3.0 + axobject-query: 3.2.1 + code-red: 1.0.4 + css-tree: 2.3.1 + estree-walker: 3.0.3 + is-reference: 3.0.2 + locate-character: 3.0.0 + magic-string: 0.30.5 + periscopic: 3.1.0 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /tinybench@2.5.1: + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + dev: true + + /tinypool@0.7.0: + resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: true + + /ts-api-utils@1.3.0(typescript@5.6.2): + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.6.2 + dev: true + + /ts-node-dev@1.1.8(typescript@5.6.2): + resolution: {integrity: sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg==} + engines: {node: '>=0.8.0'} + hasBin: true + peerDependencies: + node-notifier: '*' + typescript: '*' + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + chokidar: 3.5.3 + dynamic-dedupe: 0.3.0 + minimist: 1.2.8 + mkdirp: 1.0.4 + resolve: 1.22.8 + rimraf: 2.7.1 + source-map-support: 0.5.21 + tree-kill: 1.2.2 + ts-node: 9.1.1(typescript@5.6.2) + tsconfig: 7.0.0 + typescript: 5.6.2 + dev: true + + /ts-node@10.9.1(@types/node@20.10.0)(typescript@5.6.2): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.10.0 + acorn: 8.11.2 + acorn-walk: 8.3.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.6.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /ts-node@9.1.1(typescript@5.6.2): + resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} + engines: {node: '>=10.0.0'} + hasBin: true + peerDependencies: + typescript: '>=2.7' + dependencies: + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + source-map-support: 0.5.21 + typescript: 5.6.2 + yn: 3.1.1 + dev: true + + /tsconfig@7.0.0: + resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==} + dependencies: + '@types/strip-bom': 3.0.0 + '@types/strip-json-comments': 0.0.30 + strip-bom: 3.0.0 + strip-json-comments: 2.0.1 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /ufo@1.3.2: + resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + + /vite-node@0.34.6(@types/node@20.10.0): + resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.4.2 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.5.0(@types/node@20.10.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@4.5.0(@types/node@20.10.0): + resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.10.0 + esbuild: 0.18.20 + postcss: 8.4.31 + rollup: 3.29.4 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@0.34.6: + resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} + engines: {node: '>=v14.18.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + dependencies: + '@types/chai': 4.3.11 + '@types/chai-subset': 1.3.5 + '@types/node': 20.10.0 + '@vitest/expect': 0.34.6 + '@vitest/runner': 0.34.6 + '@vitest/snapshot': 0.34.6 + '@vitest/spy': 0.34.6 + '@vitest/utils': 0.34.6 + acorn: 8.11.2 + acorn-walk: 8.3.0 + cac: 6.7.14 + chai: 4.3.10 + debug: 4.3.4 + local-pkg: 0.4.3 + magic-string: 0.30.5 + pathe: 1.1.1 + picocolors: 1.0.0 + std-env: 3.5.0 + strip-literal: 1.3.0 + tinybench: 2.5.1 + tinypool: 0.7.0 + vite: 4.5.0(@types/node@20.10.0) + vite-node: 0.34.6(@types/node@20.10.0) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 72427296..b8807634 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,5 @@ packages: - - "apps/docs" + # - "apps/docs" - "apps/api" - "apps/admin" - "apps/web" diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..5aa16958 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "allowJs": true, + "baseUrl": ".", + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "isolatedModules": true, + "module": "ESNext", + "moduleResolution": "Bundler", + "resolveJsonModule": true, + "sourceMap": true, + "strict": true, + "strictNullChecks": true, + "skipLibCheck": true, + "target": "ES2022", + "strictBuiltinIteratorReturn": true, + "noUncheckedSideEffectImports": true, + "composite": true, + "incremental": true + } +}