From 6453d339b17da0871b848f6269b244edc14817bf Mon Sep 17 00:00:00 2001 From: agczsz Date: Sun, 25 Jun 2023 09:36:49 +0000 Subject: [PATCH] Initial commit Created from https://vercel.com/new --- .browserslistrc | 2 + .drone.yml | 30 + .gitignore | 34 + .gitlab-ci.yml | 47 + .gitlab/ISSUE_TEMPLATE/bug-report.md | 39 + .gitlab/ISSUE_TEMPLATE/new-feature.md | 26 + .nvmrc | 1 + .prettierrc.js | 42 + Dockerfile | 10 + LICENSE | 21 + README.md | 98 + babel.config.js | 12 + extension-manifest.json | 16 + jest.config.js | 7 + make-extension.js | 25 + package-lock.json | 37703 ++++++++++++++++ package.json | 59 + patches/threads+1.7.0.patch | 11 + postcss.config.js | 5 + public/favicon.ico | Bin 0 -> 4286 bytes public/img/icons/android-chrome-192x192.png | Bin 0 -> 10263 bytes public/img/icons/android-chrome-512x512.png | Bin 0 -> 32881 bytes public/img/icons/apple-touch-icon-152x152.png | Bin 0 -> 8083 bytes public/img/icons/favicon-16x16.png | Bin 0 -> 641 bytes public/img/icons/favicon-32x32.png | Bin 0 -> 1302 bytes .../img/icons/msapplication-icon-144x144.png | Bin 0 -> 7495 bytes public/img/icons/safari-pinned-tab.svg | 17 + public/index.html | 39 + public/loader.js | 25 + scripts/build-and-package.sh | 29 + scripts/build-wasm.sh | 13 + scripts/upload-packages.sh | 19 + src/App.vue | 94 + src/KgmWasm/CMakeLists.txt | 65 + src/KgmWasm/KgmWasm.cpp | 20 + src/KgmWasm/KgmWasm.h | 18 + src/KgmWasm/README.md | 9 + src/KgmWasm/build-wasm | 41 + src/KgmWasm/kgm.hpp | 112 + src/QmcWasm/CMakeLists.txt | 65 + src/QmcWasm/QmcWasm.cpp | 57 + src/QmcWasm/QmcWasm.h | 23 + src/QmcWasm/README.md | 9 + src/QmcWasm/TencentTea.hpp | 289 + src/QmcWasm/base64.hpp | 207 + src/QmcWasm/build-wasm | 41 + src/QmcWasm/qmc.hpp | 230 + src/QmcWasm/qmc_cipher.hpp | 290 + src/QmcWasm/qmc_key.hpp | 217 + src/__test__/setup_jest.js | 2 + src/component/ConfigDialog.vue | 113 + src/component/EditDialog.vue | 178 + src/component/FileSelector.vue | 91 + src/component/PreviewTable.vue | 66 + src/component/Ruby.vue | 18 + src/decrypt/__test__/fixture/joox_1.bin | Bin 0 -> 28 bytes .../__test__/fixture/qmc_cache_expected.bin | Bin 0 -> 256 bytes src/decrypt/__test__/joox.test.ts | 52 + src/decrypt/entity.ts | 25 + src/decrypt/index.ts | 115 + src/decrypt/joox.ts | 44 + src/decrypt/kgm.ts | 77 + src/decrypt/kgm_wasm.ts | 67 + src/decrypt/kwm.ts | 78 + src/decrypt/mg3d.ts | 71 + src/decrypt/ncm.ts | 237 + src/decrypt/ncmcache.ts | 28 + src/decrypt/qmc.test.ts | 29 + src/decrypt/qmc.ts | 185 + src/decrypt/qmc_cipher.test.ts | 117 + src/decrypt/qmc_cipher.ts | 199 + src/decrypt/qmc_key.test.ts | 26 + src/decrypt/qmc_key.ts | 127 + src/decrypt/qmc_wasm.ts | 73 + src/decrypt/qmccache.ts | 67 + src/decrypt/raw.ts | 32 + src/decrypt/tm.ts | 14 + src/decrypt/utils.ts | 262 + src/decrypt/ximalaya.ts | 193 + src/decrypt/xm.ts | 67 + src/extension/popup.html | 13 + src/extension/popup.js | 2 + src/main.ts | 56 + src/registerServiceWorker.js | 30 + src/scss/_dark-mode.scss | 256 + src/scss/_element-ui-overrite.scss | 39 + src/scss/_gaps.scss | 18 + src/scss/_normal.scss | 38 + src/scss/_utility.scss | 72 + src/scss/_variables.scss | 35 + src/scss/unlock-music.scss | 26 + src/shims-browser-id3-writer.d.ts | 23 + src/shims-fs.d.ts | 54 + src/shims-tsx.d.ts | 15 + src/shims-vue.d.ts | 4 + src/utils/MergeUint8Array.ts | 15 + src/utils/__mocks__/qm_meta.ts | 1 + src/utils/__mocks__/storage.ts | 4 + src/utils/api.ts | 113 + src/utils/qm_meta.ts | 156 + src/utils/storage.ts | 3 + src/utils/storage/BaseStorage.ts | 17 + src/utils/storage/BrowserNativeStorage.ts | 43 + src/utils/storage/ChromeExtensionStorage.ts | 47 + src/utils/storage/InMemoryStorage.ts | 32 + src/utils/storage/StorageFactory.ts | 13 + src/utils/tea.test.ts | 73 + src/utils/tea.ts | 80 + src/utils/utils.ts | 80 + src/utils/worker.ts | 4 + src/view/Home.vue | 255 + testdata/mflac0_rc4_key.bin | 1 + testdata/mflac0_rc4_key_raw.bin | 1 + testdata/mflac0_rc4_raw.bin | Bin 0 -> 65536 bytes testdata/mflac0_rc4_suffix.bin | Bin 0 -> 724 bytes testdata/mflac0_rc4_target.bin | Bin 0 -> 65536 bytes testdata/mflac_map_key.bin | 1 + testdata/mflac_map_key_raw.bin | 1 + testdata/mflac_map_raw.bin | Bin 0 -> 65536 bytes testdata/mflac_map_suffix.bin | Bin 0 -> 368 bytes testdata/mflac_map_target.bin | Bin 0 -> 65536 bytes testdata/mflac_rc4_key.bin | 1 + testdata/mflac_rc4_key_raw.bin | 1 + testdata/mflac_rc4_raw.bin | Bin 0 -> 65536 bytes testdata/mflac_rc4_suffix.bin | Bin 0 -> 708 bytes testdata/mflac_rc4_target.bin | Bin 0 -> 65536 bytes testdata/mgg_map_key.bin | 1 + testdata/mgg_map_key_raw.bin | 1 + testdata/mgg_map_raw.bin | Bin 0 -> 65536 bytes testdata/mgg_map_suffix.bin | Bin 0 -> 368 bytes testdata/mgg_map_target.bin | Bin 0 -> 65536 bytes testdata/qmc0_static_raw.bin | Bin 0 -> 65536 bytes testdata/qmc0_static_suffix.bin | 0 testdata/qmc0_static_target.bin | Bin 0 -> 65536 bytes tsconfig.json | 43 + vue.config.js | 43 + 136 files changed, 44481 insertions(+) create mode 100644 .browserslistrc create mode 100644 .drone.yml create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .gitlab/ISSUE_TEMPLATE/bug-report.md create mode 100644 .gitlab/ISSUE_TEMPLATE/new-feature.md create mode 100644 .nvmrc create mode 100644 .prettierrc.js create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 babel.config.js create mode 100644 extension-manifest.json create mode 100644 jest.config.js create mode 100644 make-extension.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 patches/threads+1.7.0.patch create mode 100644 postcss.config.js create mode 100644 public/favicon.ico create mode 100644 public/img/icons/android-chrome-192x192.png create mode 100644 public/img/icons/android-chrome-512x512.png create mode 100644 public/img/icons/apple-touch-icon-152x152.png create mode 100644 public/img/icons/favicon-16x16.png create mode 100644 public/img/icons/favicon-32x32.png create mode 100644 public/img/icons/msapplication-icon-144x144.png create mode 100644 public/img/icons/safari-pinned-tab.svg create mode 100644 public/index.html create mode 100644 public/loader.js create mode 100755 scripts/build-and-package.sh create mode 100755 scripts/build-wasm.sh create mode 100755 scripts/upload-packages.sh create mode 100644 src/App.vue create mode 100644 src/KgmWasm/CMakeLists.txt create mode 100644 src/KgmWasm/KgmWasm.cpp create mode 100644 src/KgmWasm/KgmWasm.h create mode 100644 src/KgmWasm/README.md create mode 100755 src/KgmWasm/build-wasm create mode 100644 src/KgmWasm/kgm.hpp create mode 100644 src/QmcWasm/CMakeLists.txt create mode 100644 src/QmcWasm/QmcWasm.cpp create mode 100644 src/QmcWasm/QmcWasm.h create mode 100644 src/QmcWasm/README.md create mode 100644 src/QmcWasm/TencentTea.hpp create mode 100644 src/QmcWasm/base64.hpp create mode 100755 src/QmcWasm/build-wasm create mode 100644 src/QmcWasm/qmc.hpp create mode 100644 src/QmcWasm/qmc_cipher.hpp create mode 100644 src/QmcWasm/qmc_key.hpp create mode 100644 src/__test__/setup_jest.js create mode 100644 src/component/ConfigDialog.vue create mode 100644 src/component/EditDialog.vue create mode 100644 src/component/FileSelector.vue create mode 100644 src/component/PreviewTable.vue create mode 100644 src/component/Ruby.vue create mode 100644 src/decrypt/__test__/fixture/joox_1.bin create mode 100644 src/decrypt/__test__/fixture/qmc_cache_expected.bin create mode 100644 src/decrypt/__test__/joox.test.ts create mode 100644 src/decrypt/entity.ts create mode 100644 src/decrypt/index.ts create mode 100644 src/decrypt/joox.ts create mode 100644 src/decrypt/kgm.ts create mode 100644 src/decrypt/kgm_wasm.ts create mode 100644 src/decrypt/kwm.ts create mode 100644 src/decrypt/mg3d.ts create mode 100644 src/decrypt/ncm.ts create mode 100644 src/decrypt/ncmcache.ts create mode 100644 src/decrypt/qmc.test.ts create mode 100644 src/decrypt/qmc.ts create mode 100644 src/decrypt/qmc_cipher.test.ts create mode 100644 src/decrypt/qmc_cipher.ts create mode 100644 src/decrypt/qmc_key.test.ts create mode 100644 src/decrypt/qmc_key.ts create mode 100644 src/decrypt/qmc_wasm.ts create mode 100644 src/decrypt/qmccache.ts create mode 100644 src/decrypt/raw.ts create mode 100644 src/decrypt/tm.ts create mode 100644 src/decrypt/utils.ts create mode 100644 src/decrypt/ximalaya.ts create mode 100644 src/decrypt/xm.ts create mode 100644 src/extension/popup.html create mode 100644 src/extension/popup.js create mode 100644 src/main.ts create mode 100644 src/registerServiceWorker.js create mode 100644 src/scss/_dark-mode.scss create mode 100644 src/scss/_element-ui-overrite.scss create mode 100644 src/scss/_gaps.scss create mode 100644 src/scss/_normal.scss create mode 100644 src/scss/_utility.scss create mode 100644 src/scss/_variables.scss create mode 100644 src/scss/unlock-music.scss create mode 100644 src/shims-browser-id3-writer.d.ts create mode 100644 src/shims-fs.d.ts create mode 100644 src/shims-tsx.d.ts create mode 100644 src/shims-vue.d.ts create mode 100644 src/utils/MergeUint8Array.ts create mode 100644 src/utils/__mocks__/qm_meta.ts create mode 100644 src/utils/__mocks__/storage.ts create mode 100644 src/utils/api.ts create mode 100644 src/utils/qm_meta.ts create mode 100644 src/utils/storage.ts create mode 100644 src/utils/storage/BaseStorage.ts create mode 100644 src/utils/storage/BrowserNativeStorage.ts create mode 100644 src/utils/storage/ChromeExtensionStorage.ts create mode 100644 src/utils/storage/InMemoryStorage.ts create mode 100644 src/utils/storage/StorageFactory.ts create mode 100644 src/utils/tea.test.ts create mode 100644 src/utils/tea.ts create mode 100644 src/utils/utils.ts create mode 100644 src/utils/worker.ts create mode 100644 src/view/Home.vue create mode 100644 testdata/mflac0_rc4_key.bin create mode 100644 testdata/mflac0_rc4_key_raw.bin create mode 100644 testdata/mflac0_rc4_raw.bin create mode 100644 testdata/mflac0_rc4_suffix.bin create mode 100644 testdata/mflac0_rc4_target.bin create mode 100644 testdata/mflac_map_key.bin create mode 100644 testdata/mflac_map_key_raw.bin create mode 100644 testdata/mflac_map_raw.bin create mode 100644 testdata/mflac_map_suffix.bin create mode 100644 testdata/mflac_map_target.bin create mode 100644 testdata/mflac_rc4_key.bin create mode 100644 testdata/mflac_rc4_key_raw.bin create mode 100644 testdata/mflac_rc4_raw.bin create mode 100644 testdata/mflac_rc4_suffix.bin create mode 100644 testdata/mflac_rc4_target.bin create mode 100644 testdata/mgg_map_key.bin create mode 100644 testdata/mgg_map_key_raw.bin create mode 100644 testdata/mgg_map_raw.bin create mode 100644 testdata/mgg_map_suffix.bin create mode 100644 testdata/mgg_map_target.bin create mode 100644 testdata/qmc0_static_raw.bin create mode 100644 testdata/qmc0_static_suffix.bin create mode 100644 testdata/qmc0_static_target.bin create mode 100644 tsconfig.json create mode 100644 vue.config.js diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..d6471a3 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,2 @@ +> 1% +last 2 versions diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..72763ef --- /dev/null +++ b/.drone.yml @@ -0,0 +1,30 @@ +--- +kind: pipeline +type: docker +name: default + +steps: + - name: build-wasm + image: emscripten/emsdk:3.0.0 + commands: + - ./scripts/build-wasm.sh + + - name: build + image: node:16.18-bullseye + commands: + - apt-get update + - apt-get install -y jq zip + - npm ci + - npm run test + - ./scripts/build-and-package.sh legacy + - ./scripts/build-and-package.sh extension + - ./scripts/build-and-package.sh modern + + - name: upload artifact + image: node:16.18-bullseye + environment: + DRONE_GITEA_SERVER: https://git.unlock-music.dev + GITEA_API_KEY: + from_secret: GITEA_API_KEY + commands: + - ./scripts/upload-packages.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..75eba67 --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +.DS_Store +node_modules +/dist +/build +/coverage + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +/src/KgmWasm/build +/src/KgmWasm/*.js +/src/KgmWasm/*.wasm +/src/QmcWasm/build +/src/QmcWasm/*.js +/src/QmcWasm/*.wasm + +*.zip +*.tar.gz +/sha256sum.txt diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..44670b2 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,47 @@ +image: node:16 +cache: + paths: + - node_modules/ + +stages: + - build + + +build-job: + stage: build + script: | + sed -i 's/deb.debian.org/mirrors.cloud.tencent.com/g' /etc/apt/sources.list + apt-get update + apt-get -y install zip + + npm config set registry http://mirrors.cloud.tencent.com/npm/ + npm ci + + npm run build + tar -czf legacy.tar.gz -C ./dist . + cd dist + zip -rJ9 ../legacy.zip * + cd .. + + npm run make-extension + cd dist + zip -rJ9 ../extension.zip * + cd .. + + npm run build -- --modern + tar -czf modern.tar.gz -C ./dist . + cd dist + zip -rJ9 ../modern.zip * + cd .. + + sha256sum *.tar.gz *.zip > sha256sum.txt + + artifacts: + name: "$CI_JOB_NAME" + paths: + - legacy.zip + - legacy.tar.gz + - extension.zip + - modern.zip + - modern.tar.gz + - sha256sum.txt diff --git a/.gitlab/ISSUE_TEMPLATE/bug-report.md b/.gitlab/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 0000000..8181d6a --- /dev/null +++ b/.gitlab/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,39 @@ +--- +name: Bug报告 +about: 报告Bug以帮助改进程序 +title: '' +labels: bug +assignees: '' + +--- + +* 请按照此模板填写,否则可能立即被关闭 + +- [x] 我确认已经搜索过Issue不存并确认相同的Issue +- [x] 我有证据表明这是程序导致的问题(如不确认,可以在[Discussions](https://github.com/ix64/unlock-music/discussions)内提出) + + +**Bug描述** + +简要地复述你遇到的Bug + +**复现方法** + +描述复现方法,必要时请提供样本文件 + +**程序截图或者Console报错信息** + +如果可以请提供二者之一 + + +**环境信息:** + + - 操作系统和浏览器: + - 程序版本: + - 获取音乐文件所使用的客户端及其版本信息: + + +**附加信息** + +其他能够帮助确认问题的信息 + diff --git a/.gitlab/ISSUE_TEMPLATE/new-feature.md b/.gitlab/ISSUE_TEMPLATE/new-feature.md new file mode 100644 index 0000000..8d05080 --- /dev/null +++ b/.gitlab/ISSUE_TEMPLATE/new-feature.md @@ -0,0 +1,26 @@ +--- +name: 新功能 +about: 对于程序新的想法或建议 +title: '' +labels: enhancement +assignees: '' + +--- + +- 请按照此模板填写,否则可能立即被关闭 + +**背景和说明** + +简要说明产生此想法的背景和此想法的具体内容 + + +**实现途径** + +- 如果没有设计方案,请简要描述实现思路 +- 如果你没有任何的实现思路,请通过[Discussions](https://github.com/ix64/unlock-music/discussions)或者Telegram进行讨论 + + +**附加信息** + +更多你想要表达的内容 + diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..0c19c7b --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v16.18.1 diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..77bbe08 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,42 @@ +// .prettierrc.js +module.exports = { + // 一行最多 120 字符 + printWidth: 120, + // 使用 2 个空格缩进 + tabWidth: 2, + // 不使用缩进符,而使用空格 + useTabs: false, + // 行尾需要有分号 + semi: true, + // 使用单引号 + singleQuote: true, + // 对象的 key 仅在必要时用引号 + quoteProps: 'as-needed', + // jsx 不使用单引号,而使用双引号 + jsxSingleQuote: false, + // 末尾需要有逗号 + trailingComma: 'all', + // 大括号内的首尾需要空格 + bracketSpacing: true, + // jsx 标签的反尖括号需要换行 + bracketSameLine: false, + // 箭头函数,只有一个参数的时候,也需要括号 + arrowParens: 'always', + // 每个文件格式化的范围是文件的全部内容 + rangeStart: 0, + rangeEnd: Infinity, + // 不需要写文件开头的 @prettier + requirePragma: false, + // 不需要自动在文件开头插入 @prettier + insertPragma: false, + // 使用默认的折行标准 + proseWrap: 'preserve', + // 根据显示样式决定 html 要不要折行 + htmlWhitespaceSensitivity: 'css', + // vue 文件中的 script 和 style 内不用缩进 + vueIndentScriptAndStyle: false, + // 换行符使用 lf + endOfLine: 'lf', + // 格式化嵌入的内容 + embeddedLanguageFormatting: 'auto', +}; diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b82692b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM --platform=$TARGETPLATFORM nginx:stable-alpine + +LABEL org.opencontainers.image.title="Unlock Music" +LABEL org.opencontainers.image.description="Unlock encrypted music file in browser" +LABEL org.opencontainers.image.authors="MengYX" +LABEL org.opencontainers.image.source="https://github.com/ix64/unlock-music" +LABEL org.opencontainers.image.licenses="MIT" +LABEL maintainer="MengYX" + +COPY ./dist /usr/share/nginx/html diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6e26d40 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019-2023 MengYX + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..90c9c51 --- /dev/null +++ b/README.md @@ -0,0 +1,98 @@ +# 关于仓库官方 + +本仓库原始地址(已 DMCA):https://github.com/unlock-music/unlock-music + +本仓库目前官方地址:https://git.unlock-music.dev/um/web + +你所看到的这个仓库是依照 MIT 协议授权转载的,代码与[本人](https://github.com/ipid)无关。 + +# Unlock Music 音乐解锁 + +[![Build Status](https://ci.unlock-music.dev/api/badges/um/web/status.svg)](https://ci.unlock-music.dev/um/web) + +- 在浏览器中解锁加密的音乐文件。 Unlock encrypted music file in the browser. +- Unlock Music 项目是以学习和技术研究的初衷创建的,修改、再分发时请遵循[授权协议]。 +- Unlock Music 的 CLI 版本可以在 [unlock-music/cli] 找到,大批量转换建议使用 CLI 版本。 +- 我们新建了 Telegram 群组 [`@unlock_music_chat`] ,欢迎加入! +- CI 自动构建已经部署,可以在 [UM-Packages] 下载 + +[授权协议]: https://git.unlock-music.dev/um/web/src/branch/master/LICENSE +[unlock-music/cli]: https://git.unlock-music.dev/um/cli +[`@unlock_music_chat`]: https://t.me/unlock_music_chat +[UM-Packages]: https://git.unlock-music.dev/um/-/packages/generic/web-build/ + +## 特性 + +### 支持的格式 + +- [x] QQ 音乐 (.qmc0/.qmc2/.qmc3/.qmcflac/.qmcogg/.tkm) +- [x] Moo 音乐格式 (.bkcmp3/.bkcflac/...) +- [x] QQ 音乐 Tm 格式 (.tm0/.tm2/.tm3/.tm6) +- [x] QQ 音乐新格式 (.mflac/.mgg/.mflac0/.mgg1/.mggl) +- [x] QQ 音乐海外版JOOX Music (.ofl_en) +- [x] 网易云音乐格式 (.ncm) +- [x] 虾米音乐格式 (.xm) +- [x] 酷我音乐格式 (.kwm) +- [x] 酷狗音乐格式 (.kgm/.vpr) +- [x] Android版喜马拉雅文件格式 (.x2m/.x3m) +- [x] 咪咕音乐格式 (.mg3d) + +### 其他特性 + +- [x] 在浏览器中解锁 +- [x] 拖放文件 +- [x] 批量解锁 +- [x] 渐进式 Web 应用 (PWA) +- [x] 多线程 +- [x] 写入和编辑元信息与专辑封面 + +## 使用方法 + +### 使用预构建版本 + +- 从 [Release] 或 [CI 构建][UM-Packages] 下载预构建的版本 + - :warning: 本地使用请下载`legacy版本`(`modern版本`只能通过 **http(s)协议** 访问) +- 解压缩后即可部署或本地使用(**请勿直接运行源代码**) + +[release]: https://git.unlock-music.dev/um/web/releases/latest + +### 自行构建 + +#### JS部分 + +- 环境要求 + - nodejs (v16.x) + - npm + +1. 获取项目源代码后安装相关依赖: + + ```sh + npm ci + ``` + +2. 然后进行构建: + + ```sh + npm run build + ``` + + - 构建后的产物可以在 `dist` 目录找到。 + - 如果是用于开发,可以执行 `npm run serve`。 + +3. 如需构建浏览器扩展,构建成功后还需要执行: + + ```sh + npm run make-extension + ``` + +#### WASM部分 + +- 环境要求 + - Linux + - python3 + +- 运行此目录下的build-wasm + + ```sh + ./scripts/build-wasm.sh + ``` diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..64f86fd --- /dev/null +++ b/babel.config.js @@ -0,0 +1,12 @@ +module.exports = { + presets: [ + '@vue/app', + '@babel/preset-typescript' + ], + plugins: [ + ["component", { + "libraryName": "element-ui", + "styleLibraryName": "theme-chalk" + }] + ] +}; diff --git a/extension-manifest.json b/extension-manifest.json new file mode 100644 index 0000000..eaa9512 --- /dev/null +++ b/extension-manifest.json @@ -0,0 +1,16 @@ +{ + "manifest_version": 2, + "name": "音乐解锁", + "short_name": "音乐解锁", + "icons": { + "128": "./img/icons/msapplication-icon-144x144.png" + }, + "description": "在任何设备上解锁已购的加密音乐!", + "permissions": ["storage"], + "offline_enabled": true, + "options_page": "./index.html", + "homepage_url": "https://github.com/ix64/unlock-music", + "browser_action": { + "default_popup": "./popup.html" + } +} diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..d59ea14 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,7 @@ +module.exports = { + testPathIgnorePatterns: ['/build/', '/dist/', '/node_modules/'], + setupFilesAfterEnv: ['./src/__test__/setup_jest.js'], + moduleNameMapper: { + '@/(.*)': '/src/$1', + }, +}; diff --git a/make-extension.js b/make-extension.js new file mode 100644 index 0000000..eee814b --- /dev/null +++ b/make-extension.js @@ -0,0 +1,25 @@ +const fs = require('fs') +const path = require('path') +const src = __dirname + "/src/extension/" +const dst = __dirname + "/dist" +fs.readdirSync(src).forEach(file => { + let srcPath = path.join(src, file) + let dstPath = path.join(dst, file) + fs.copyFileSync(srcPath, dstPath) + console.log(`Copy: ${srcPath} => ${dstPath}`) +}) + +const manifestRaw = fs.readFileSync(__dirname + "/extension-manifest.json", "utf-8") +const manifest = JSON.parse(manifestRaw) + +const pkgRaw = fs.readFileSync(__dirname + "/package.json", "utf-8") +const pkg = JSON.parse(pkgRaw) + +verExt = pkg["version"] +if (verExt.startsWith("v")) verExt = verExt.slice(1) +if (verExt.includes("-")) verExt = verExt.split("-")[0] +manifest["version"] = `${verExt}.${pkg["ext_build"]}` +manifest["version_name"] = pkg["version"] + +fs.writeFileSync(__dirname + "/dist/manifest.json", JSON.stringify(manifest), "utf-8") +console.log("Write: manifest.json") diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..80e2a66 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,37703 @@ +{ + "name": "unlock-music", + "version": "v1.10.3", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "unlock-music", + "version": "v1.10.3", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@babel/preset-typescript": "^7.16.5", + "@jixun/kugou-crypto": "^1.0.3", + "@unlock-music/joox-crypto": "^0.0.1-R5", + "base64-js": "^1.5.1", + "browser-id3-writer": "^4.4.0", + "core-js": "^3.16.0", + "crypto-js": "^4.1.1", + "element-ui": "^2.15.5", + "iconv-lite": "^0.6.3", + "jimp": "^0.16.1", + "metaflac-js": "^1.0.5", + "music-metadata": "7.9.0", + "music-metadata-browser": "2.2.7", + "register-service-worker": "^1.7.2", + "threads": "^1.6.5", + "vue": "^2.6.14" + }, + "devDependencies": { + "@types/crypto-js": "^4.0.2", + "@types/jest": "^27.0.3", + "@vue/cli-plugin-babel": "^4.5.13", + "@vue/cli-plugin-pwa": "^4.5.13", + "@vue/cli-plugin-typescript": "^4.5.13", + "@vue/cli-service": "^4.5.13", + "babel-plugin-component": "^1.1.1", + "jest": "^27.4.5", + "patch-package": "^6.4.7", + "prettier": "2.5.1", + "sass": "^1.38.1", + "sass-loader": "^10.2.0", + "semver": "^7.3.5", + "threads-plugin": "^1.4.0", + "typescript": "^4.5.4", + "vue-cli-plugin-element": "^1.0.1", + "vue-template-compiler": "^2.6.14" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", + "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.7.tgz", + "integrity": "sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg==", + "dependencies": { + "@babel/types": "^7.16.7", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", + "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "dependencies": { + "@babel/compat-data": "^7.16.4", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz", + "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", + "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^4.7.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz", + "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", + "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", + "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.7.tgz", + "integrity": "sha512-C3o117GnP/j/N2OWo+oepeWbFEKRfNaay+F1Eo5Mj3A1SRjyx+qaFhm23nlipub7Cjv2azdUUiDH+VlpdwUFRg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", + "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.7.tgz", + "integrity": "sha512-7a9sABeVwcunnztZZ7WTgSw6jVYLzM1wua0Z4HIXm9S3/HC96WKQTkFgGEaj5W06SHHihPJ6Le6HzS5cGOQMNw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", + "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", + "dependencies": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", + "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.7.tgz", + "integrity": "sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.7.tgz", + "integrity": "sha512-TTXBT3A5c11eqRzaC6beO6rlFT3Mo9C2e8eB44tTr52ESXSK2CIc2fOp1ynpAwQA8HhBMho+WXhMHWlAe3xkpw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", + "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.7.tgz", + "integrity": "sha512-DoEpnuXK14XV9btI1k8tzNGCutMclpj4yru8aXKoHlVmbO1s+2A+g2+h4JhcjrxkFJqzbymnLG6j/niOf3iFXQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-decorators": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", + "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz", + "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.7.tgz", + "integrity": "sha512-vQ+PxL+srA7g6Rx6I1e15m55gftknl2X8GCUW1JTlkTaXZLJOS0UcaY0eK9jYT7IYf4awn6qwyghVHLDz1WyMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", + "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.7.tgz", + "integrity": "sha512-pFEfjnK4DfXCfAlA5I98BYdDJD8NltMzx19gt6DAmfE+2lXRfPUoa0/5SUjT4+TDE1W/rcxU/1lgN55vpAjjdg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", + "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.7.tgz", + "integrity": "sha512-h2RP2kE7He1ZWKyAlanMZrAbdv+Acw1pA8dQZhE025WJZE2z0xzFADAinXA9fxd5bn7JnM+SdOGcndGx1ARs9w==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", + "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.7.tgz", + "integrity": "sha512-kFy35VwmwIQwCjwrAQhl3+c/kr292i4KdLPKp5lPH03Ltc51qnFlIADoyPxc/6Naz3ok3WdYKg+KK6AH+D4utg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", + "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.14.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.7.tgz", + "integrity": "sha512-2FoHiSAWkdq4L06uaDN3rS43i6x28desUVxq+zAFuE6kbWYQeiLPJI5IC7Sg9xKYVcrBKSQkVUfH6aeQYbl9QA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.4.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.7.tgz", + "integrity": "sha512-Hzx1lvBtOCWuCEwMmYOfpQpO7joFeXLgoPuzZZBtTxXqSqUGUubvFGZv2ygo1tB5Bp9q6PXV3H0E/kf7KM0RLA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-typescript": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.7.tgz", + "integrity": "sha512-urX3Cee4aOZbRWOSa3mKPk0aqDikfILuo+C7qq7HY0InylGNZ1fekq9jmlr3pLWwZHF4yD7heQooc2Pow2KMyQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.7", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.7", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.7", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.7", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.7", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.4.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.19.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.7.tgz", + "integrity": "sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ==", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.7.tgz", + "integrity": "sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "deprecated": "Moved to 'npm install @sideway/address'", + "dev": true + }, + "node_modules/@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true + }, + "node_modules/@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true + }, + "node_modules/@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "deprecated": "Switch to 'npm install joi'", + "dev": true, + "dependencies": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "node_modules/@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true, + "dependencies": { + "@hapi/hoek": "^8.3.0" + } + }, + "node_modules/@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", + "dev": true, + "dependencies": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz", + "integrity": "sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.4.6", + "jest-util": "^27.4.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz", + "integrity": "sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==", + "dev": true, + "dependencies": { + "@jest/console": "^27.4.6", + "@jest/reporters": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^27.4.2", + "jest-config": "^27.4.7", + "jest-haste-map": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-regex-util": "^27.4.0", + "jest-resolve": "^27.4.6", + "jest-resolve-dependencies": "^27.4.6", + "jest-runner": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "jest-watcher": "^27.4.6", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "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 + } + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@jest/core/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/core/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz", + "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz", + "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.4.6", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz", + "integrity": "sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/types": "^27.4.2", + "expect": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz", + "integrity": "sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.4.6", + "jest-resolve": "^27.4.6", + "jest-util": "^27.4.2", + "jest-worker": "^27.4.6", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "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 + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/source-map": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.4.0.tgz", + "integrity": "sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz", + "integrity": "sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==", + "dev": true, + "dependencies": { + "@jest/console": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz", + "integrity": "sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.4.6", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "jest-runtime": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.6.tgz", + "integrity": "sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.4.2", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "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.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@jest/transform/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz", + "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jimp/bmp": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", + "integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "bmp-js": "^0.1.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/core": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz", + "integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "^0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + } + }, + "node_modules/@jimp/custom": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", + "integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/core": "^0.16.1" + } + }, + "node_modules/@jimp/gif": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz", + "integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "gifwrap": "^0.9.2", + "omggif": "^1.0.9" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/jpeg": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz", + "integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "jpeg-js": "0.4.2" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-blit": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz", + "integrity": "sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-blur": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz", + "integrity": "sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-circle": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz", + "integrity": "sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-color": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.1.tgz", + "integrity": "sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "tinycolor2": "^1.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-contain": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz", + "integrity": "sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-cover": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz", + "integrity": "sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-crop": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz", + "integrity": "sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-displace": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz", + "integrity": "sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-dither": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz", + "integrity": "sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-fisheye": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz", + "integrity": "sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-flip": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz", + "integrity": "sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-rotate": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-gaussian": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz", + "integrity": "sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-invert": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz", + "integrity": "sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-mask": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz", + "integrity": "sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-normalize": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz", + "integrity": "sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-print": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.1.tgz", + "integrity": "sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "load-bmfont": "^1.4.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-resize": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz", + "integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-rotate": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz", + "integrity": "sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-scale": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz", + "integrity": "sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-shadow": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz", + "integrity": "sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blur": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-threshold": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz", + "integrity": "sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-color": ">=0.8.0", + "@jimp/plugin-resize": ">=0.8.0" + } + }, + "node_modules/@jimp/plugins": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.1.tgz", + "integrity": "sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/plugin-blit": "^0.16.1", + "@jimp/plugin-blur": "^0.16.1", + "@jimp/plugin-circle": "^0.16.1", + "@jimp/plugin-color": "^0.16.1", + "@jimp/plugin-contain": "^0.16.1", + "@jimp/plugin-cover": "^0.16.1", + "@jimp/plugin-crop": "^0.16.1", + "@jimp/plugin-displace": "^0.16.1", + "@jimp/plugin-dither": "^0.16.1", + "@jimp/plugin-fisheye": "^0.16.1", + "@jimp/plugin-flip": "^0.16.1", + "@jimp/plugin-gaussian": "^0.16.1", + "@jimp/plugin-invert": "^0.16.1", + "@jimp/plugin-mask": "^0.16.1", + "@jimp/plugin-normalize": "^0.16.1", + "@jimp/plugin-print": "^0.16.1", + "@jimp/plugin-resize": "^0.16.1", + "@jimp/plugin-rotate": "^0.16.1", + "@jimp/plugin-scale": "^0.16.1", + "@jimp/plugin-shadow": "^0.16.1", + "@jimp/plugin-threshold": "^0.16.1", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/png": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz", + "integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "pngjs": "^3.3.3" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/tiff": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz", + "integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "utif": "^2.0.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz", + "integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/bmp": "^0.16.1", + "@jimp/gif": "^0.16.1", + "@jimp/jpeg": "^0.16.1", + "@jimp/png": "^0.16.1", + "@jimp/tiff": "^0.16.1", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/utils": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz", + "integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "regenerator-runtime": "^0.13.3" + } + }, + "node_modules/@jixun/kugou-crypto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@jixun/kugou-crypto/-/kugou-crypto-1.0.3.tgz", + "integrity": "sha512-ZiwSkpIAH8IkFcTfMjdQMpP/xco3iXEdYDEQo4wquYpSAln5RmSed3iBctnpoE6s3X1cxmBGhpCYW6v6vZfs+g==", + "dependencies": { + "commander": "^9.2.0" + } + }, + "node_modules/@jixun/kugou-crypto/node_modules/commander": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "dependencies": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true + }, + "node_modules/@tokenizer/token": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", + "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.18", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz", + "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/crypto-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.1.0.tgz", + "integrity": "sha512-DCFfy/vh2lG6qHSGezQ+Sn2Ulf/1Mx51dqOdmOKyW5nMK3maLlxeS3onC7r212OnBM2pBR95HkAmAjjF08YkxQ==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.27", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.27.tgz", + "integrity": "sha512-e/sVallzUTPdyOTiqi8O8pMdBBphscvI6E4JYaKlja4Lm+zh7UFSSdW5VMkRbhDtmrONqOUHOXRguPsDckzxNA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-proxy": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz", + "integrity": "sha512-gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==", + "dev": true, + "dependencies": { + "jest-diff": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "17.0.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz", + "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true, + "optional": true + }, + "node_modules/@types/prettier": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.2.tgz", + "integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==", + "dev": true + }, + "node_modules/@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/tapable": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", + "dev": true + }, + "node_modules/@types/uglify-js": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", + "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/@types/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/webpack": { + "version": "4.41.32", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", + "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@types/webpack-dev-server": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz", + "integrity": "sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==", + "dev": true, + "dependencies": { + "@types/connect-history-api-fallback": "*", + "@types/express": "*", + "@types/serve-static": "*", + "@types/webpack": "^4", + "http-proxy-middleware": "^1.0.0" + } + }, + "node_modules/@types/webpack-env": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.3.tgz", + "integrity": "sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw==", + "dev": true + }, + "node_modules/@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + } + }, + "node_modules/@types/webpack-sources/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/webpack/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", + "dev": true + }, + "node_modules/@unlock-music/joox-crypto": { + "version": "0.0.1-R5", + "resolved": "https://registry.npmjs.org/@unlock-music/joox-crypto/-/joox-crypto-0.0.1-R5.tgz", + "integrity": "sha512-+FhGT4bjzfb1Q7dAwHps/XqbqXrRA6Qg7pkDPzyXfeRmQocAySQ/dekojxkaFBf7ZX5ToIAopwxkKZ5NFt5bFw==", + "dependencies": { + "crypto-js": "^4.1.1" + }, + "bin": { + "joox-decrypt": "joox-decrypt" + } + }, + "node_modules/@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", + "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==", + "dev": true + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz", + "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx/node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/babel-preset-app": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.15.tgz", + "integrity": "sha512-J+YttzvwRfV1BPczf8r3qCevznYk+jh531agVF+5EYlHF4Sgh/cGXTz9qkkiux3LQgvhEGXgmCteg1n38WuuKg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.0", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.11.0", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.0", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.2.4", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", + "core-js-compat": "^3.6.5", + "semver": "^6.1.0" + }, + "peerDependencies": { + "@babel/core": "*", + "core-js": "^3", + "vue": "^2 || ^3.0.0-0" + }, + "peerDependenciesMeta": { + "core-js": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/babel-preset-app/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@vue/babel-preset-jsx": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz", + "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==", + "dev": true, + "dependencies": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", + "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", + "@vue/babel-sugar-functional-vue": "^1.2.2", + "@vue/babel-sugar-inject-h": "^1.2.2", + "@vue/babel-sugar-v-model": "^1.2.3", + "@vue/babel-sugar-v-on": "^1.2.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-composition-api-inject-h": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz", + "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-composition-api-render-instance": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz", + "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-functional-vue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz", + "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-inject-h": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz", + "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz", + "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/babel-sugar-v-model/node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/babel-sugar-v-on": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz", + "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-on/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/cli-overlay": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.15.tgz", + "integrity": "sha512-0zI0kANAVmjFO2LWGUIzdGPMeE3+9k+KeRDXsUqB30YfRF7abjfiiRPq5BU9pOzlJbVdpRkisschBrvdJqDuDg==", + "dev": true + }, + "node_modules/@vue/cli-plugin-babel": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.15.tgz", + "integrity": "sha512-hBLrwYfFkHldEe34op/YNgPhpOWI5n5DB2Qt9I/1Epeif4M4iFaayrgjvOR9AVM6WbD3Yx7WCFszYpWrQZpBzQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.0", + "@vue/babel-preset-app": "^4.5.15", + "@vue/cli-shared-utils": "^4.5.15", + "babel-loader": "^8.1.0", + "cache-loader": "^4.1.0", + "thread-loader": "^2.1.3", + "webpack": "^4.0.0" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-pwa": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.5.15.tgz", + "integrity": "sha512-yQzsspaIkjeQyN6btF8ATgbJFU023q1HC8uUpmiBa4QE9EyBlR8fSrKFhcJ0EmT6KnU7PMwlnOJ/OqjguFnufA==", + "dev": true, + "dependencies": { + "@vue/cli-shared-utils": "^4.5.15", + "webpack": "^4.0.0", + "workbox-webpack-plugin": "^4.3.1" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-router": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.15.tgz", + "integrity": "sha512-q7Y6kP9b3k55Ca2j59xJ7XPA6x+iSRB+N4ac0ZbcL1TbInVQ4j5wCzyE+uqid40hLy4fUdlpl4X9fHJEwuVxPA==", + "dev": true, + "dependencies": { + "@vue/cli-shared-utils": "^4.5.15" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-typescript": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-typescript/-/cli-plugin-typescript-4.5.15.tgz", + "integrity": "sha512-g2HDBwWBboTzNvVrS+w4Ctl7CCErboTlx7PyQrXgY+7uGdPVUT9PWuv4DjaZhosSk7WI3qSIpruCBIkdHX5bwQ==", + "dev": true, + "dependencies": { + "@types/webpack-env": "^1.15.2", + "@vue/cli-shared-utils": "^4.5.15", + "cache-loader": "^4.1.0", + "fork-ts-checker-webpack-plugin": "^3.1.1", + "globby": "^9.2.0", + "thread-loader": "^2.1.3", + "ts-loader": "^6.2.2", + "tslint": "^5.20.1", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + }, + "optionalDependencies": { + "fork-ts-checker-webpack-plugin-v5": "npm:fork-ts-checker-webpack-plugin@^5.0.11" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0", + "@vue/compiler-sfc": "^3.0.0-beta.14", + "typescript": ">=2" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + } + } + }, + "node_modules/@vue/cli-plugin-vuex": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.15.tgz", + "integrity": "sha512-fqap+4HN+w+InDxlA3hZTOGE0tzBTgXhKLoDydhywqgmhQ1D9JA6Feh94ze6tG8DsWX58/ujYUqA8jAz17FJtg==", + "dev": true, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0" + } + }, + "node_modules/@vue/cli-service": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.15.tgz", + "integrity": "sha512-sFWnLYVCn4zRfu45IcsIE9eXM0YpDV3S11vlM2/DVbIPAGoYo5ySpSof6aHcIvkeGsIsrHFpPHzNvDZ/efs7jA==", + "dev": true, + "dependencies": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@soda/get-current-script": "^1.0.0", + "@types/minimist": "^1.2.0", + "@types/webpack": "^4.0.0", + "@types/webpack-dev-server": "^3.11.0", + "@vue/cli-overlay": "^4.5.15", + "@vue/cli-plugin-router": "^4.5.15", + "@vue/cli-plugin-vuex": "^4.5.15", + "@vue/cli-shared-utils": "^4.5.15", + "@vue/component-compiler-utils": "^3.1.2", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^7.4.0", + "acorn-walk": "^7.1.1", + "address": "^1.1.2", + "autoprefixer": "^9.8.6", + "browserslist": "^4.12.0", + "cache-loader": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.4", + "clipboardy": "^2.3.0", + "cliui": "^6.0.0", + "copy-webpack-plugin": "^5.1.1", + "css-loader": "^3.5.3", + "cssnano": "^4.1.10", + "debug": "^4.1.1", + "default-gateway": "^5.0.5", + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^4.2.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.9.0", + "minimist": "^1.2.5", + "pnp-webpack-plugin": "^1.6.4", + "portfinder": "^1.0.26", + "postcss-loader": "^3.0.0", + "ssri": "^8.0.1", + "terser-webpack-plugin": "^1.4.4", + "thread-loader": "^2.1.3", + "url-loader": "^2.2.0", + "vue-loader": "^15.9.2", + "vue-style-loader": "^4.1.2", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.8.0", + "webpack-chain": "^6.4.0", + "webpack-dev-server": "^3.11.0", + "webpack-merge": "^4.2.2" + }, + "bin": { + "vue-cli-service": "bin/vue-cli-service.js" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "vue-loader-v16": "npm:vue-loader@^16.1.0" + }, + "peerDependencies": { + "@vue/compiler-sfc": "^3.0.0-beta.14", + "vue-template-compiler": "^2.0.0" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + }, + "less-loader": { + "optional": true + }, + "pug-plain-loader": { + "optional": true + }, + "raw-loader": { + "optional": true + }, + "sass-loader": { + "optional": true + }, + "stylus-loader": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/@vue/cli-shared-utils": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.15.tgz", + "integrity": "sha512-SKaej9hHzzjKSOw1NlFmc6BSE0vcqUQMQiv1cxQ2DhVyy4QxZXBmzmiLBUBe+hYZZs1neXW7n//udeN9bCAY+Q==", + "dev": true, + "dependencies": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "dependencies": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/@vue/preload-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "html-webpack-plugin": ">=2.26.0", + "webpack": ">=4.0.0" + } + }, + "node_modules/@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/async-validator": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", + "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", + "dependencies": { + "babel-runtime": "6.x" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "dev": true, + "dependencies": { + "babylon": "^6.18.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" + }, + "node_modules/babel-jest": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz", + "integrity": "sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==", + "dev": true, + "dependencies": { + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.4.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-plugin-component": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-component/-/babel-plugin-component-1.1.1.tgz", + "integrity": "sha512-WUw887kJf2GH80Ng/ZMctKZ511iamHNqPhd9uKo14yzisvV7Wt1EckIrb8oq/uCz3B3PpAW7Xfl7AkTLDYT6ag==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "7.0.0-beta.35" + } + }, + "node_modules/babel-plugin-component/node_modules/@babel/helper-module-imports": { + "version": "7.0.0-beta.35", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.35.tgz", + "integrity": "sha512-vaC1KyIZSuyWb3Lj277fX0pxivyHwuDU4xZsofqgYAbkDxNieMg2vuhzP5AgMweMY7fCQUMTi+BgPqTLjkxXFg==", + "dev": true, + "dependencies": { + "@babel/types": "7.0.0-beta.35", + "lodash": "^4.2.0" + } + }, + "node_modules/babel-plugin-component/node_modules/@babel/types": { + "version": "7.0.0-beta.35", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.35.tgz", + "integrity": "sha512-y9XT11CozHDgjWcTdxmhSj13rJVXpa5ZXwjjOiTedjaM0ba5ItqdS02t31EhPl7HtOWxsZkYCCUNrSfrOisA6w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz", + "integrity": "sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz", + "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.0", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz", + "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.0", + "core-js-compat": "^3.18.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz", + "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "node_modules/babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "dependencies": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz", + "integrity": "sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^27.4.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.4 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. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=" + }, + "node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", + "dev": true, + "dependencies": { + "bytes": "3.1.1", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.9.6", + "raw-body": "2.4.2", + "type-is": "~1.6.18" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "dev": true, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/bonjour/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "node_modules/browser-id3-writer": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/browser-id3-writer/-/browser-id3-writer-4.4.0.tgz", + "integrity": "sha512-8xce9wo4VoKNR4udEGOAf8vndYxhToqQS+1wyrjdYVPQKRc4Wm6xwGG6XrKYgax28y5AvrbCkqK6t1RplPN2Ew==" + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "dependencies": { + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/browserslist/node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "node_modules/buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", + "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/cacache/node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", + "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", + "dev": true, + "dependencies": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001434", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", + "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==" + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "dev": true + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "bin": { + "highlight": "bin/highlight" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/cli-highlight/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cli-highlight/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cli-highlight/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cli-highlight/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cli-highlight/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "dependencies": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/color-string": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "dependencies": { + "bluebird": "^3.1.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", + "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", + "dev": true, + "dependencies": { + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "node_modules/copy-webpack-plugin/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.2.tgz", + "integrity": "sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz", + "integrity": "sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg==", + "dev": true, + "dependencies": { + "browserslist": "^4.19.1", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "engines": { + "node": ">4" + } + }, + "node_modules/css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/css-loader/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/css-select": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", + "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^5.1.0", + "domhandler": "^4.3.0", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "dev": true, + "dependencies": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", + "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", + "dev": true, + "dependencies": { + "execa": "^3.3.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/default-gateway/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/del/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz", + "integrity": "sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "dependencies": { + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "node_modules/dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.38", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.38.tgz", + "integrity": "sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ==" + }, + "node_modules/element-ui": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.6.tgz", + "integrity": "sha512-rcYXEKd/j2G0AgficAOk1Zd1AsnHRkhmrK4yLHmNOiimU2JfsywgfKUjMoFuT6pQx0luhovj8lFjpE4Fnt58Iw==", + "dependencies": { + "async-validator": "~1.8.1", + "babel-helper-vue-jsx-merge-props": "^2.0.0", + "deepmerge": "^1.2.0", + "normalize-wheel": "^1.0.1", + "resize-observer-polyfill": "^1.5.0", + "throttle-debounce": "^1.0.1" + }, + "peerDependencies": { + "vue": "^2.5.17" + } + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "dependencies": { + "stackframe": "^1.1.1" + } + }, + "node_modules/es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "dev": true, + "dependencies": { + "original": "^1.0.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/expect": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz", + "integrity": "sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "jest-get-type": "^27.4.0", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", + "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.4.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.9.6", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "dev": true, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "node_modules/file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "dev": true, + "dependencies": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/find-yarn-workspace-root/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/follow-redirects": { + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz", + "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz", + "integrity": "sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^3.3.0", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "engines": { + "node": ">=6.11.5", + "yarn": ">=1.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5": { + "name": "fork-ts-checker-webpack-plugin", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz", + "integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "optional": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "optional": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "optional": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "optional": true, + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true, + "optional": true + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/gifwrap": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", + "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", + "dependencies": { + "image-q": "^1.1.1", + "omggif": "^1.0.10" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true + }, + "node_modules/gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "dependencies": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "deprecated": "3.x is no longer supported", + "dev": true, + "dependencies": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/html-webpack-plugin/node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/html-webpack-plugin/node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/html-webpack-plugin/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/html-webpack-plugin/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", + "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", + "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-q": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", + "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=", + "engines": { + "node": ">=0.9.0" + } + }, + "node_modules/image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "dev": true + }, + "node_modules/import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "dependencies": { + "import-from": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-ip/node_modules/default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-observable": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-2.1.0.tgz", + "integrity": "sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", + "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz", + "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true + }, + "node_modules/jest": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz", + "integrity": "sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==", + "dev": true, + "dependencies": { + "@jest/core": "^27.4.7", + "import-local": "^3.0.2", + "jest-cli": "^27.4.7" + }, + "bin": { + "jest": "bin/jest.js" + }, + "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 + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.4.2.tgz", + "integrity": "sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/jest-changed-files/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-circus": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz", + "integrity": "sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.4.6", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "pretty-format": "^27.4.6", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz", + "integrity": "sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==", + "dev": true, + "dependencies": { + "@jest/core": "^27.4.7", + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "jest-config": "^27.4.7", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "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 + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz", + "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.4.6", + "@jest/types": "^27.4.2", + "babel-jest": "^27.4.6", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-circus": "^27.4.6", + "jest-environment-jsdom": "^27.4.6", + "jest-environment-node": "^27.4.6", + "jest-get-type": "^27.4.0", + "jest-jasmine2": "^27.4.6", + "jest-regex-util": "^27.4.0", + "jest-resolve": "^27.4.6", + "jest-runner": "^27.4.6", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "micromatch": "^4.0.4", + "pretty-format": "^27.4.6", + "slash": "^3.0.0" + }, + "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 + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-config/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-config/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz", + "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.4.0", + "jest-get-type": "^27.4.0", + "pretty-format": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.4.0.tgz", + "integrity": "sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz", + "integrity": "sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "jest-get-type": "^27.4.0", + "jest-util": "^27.4.2", + "pretty-format": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz", + "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.6.tgz", + "integrity": "sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz", + "integrity": "sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz", + "integrity": "sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^27.4.0", + "jest-serializer": "^27.4.0", + "jest-util": "^27.4.2", + "jest-worker": "^27.4.6", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz", + "integrity": "sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/source-map": "^27.4.0", + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.4.6", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "pretty-format": "^27.4.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz", + "integrity": "sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==", + "dev": true, + "dependencies": { + "jest-get-type": "^27.4.0", + "pretty-format": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz", + "integrity": "sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.4.6", + "jest-get-type": "^27.4.0", + "pretty-format": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz", + "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.4.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.4.6", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz", + "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.4.0.tgz", + "integrity": "sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz", + "integrity": "sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz", + "integrity": "sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "jest-regex-util": "^27.4.0", + "jest-snapshot": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz", + "integrity": "sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==", + "dev": true, + "dependencies": { + "@jest/console": "^27.4.6", + "@jest/environment": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-docblock": "^27.4.0", + "jest-environment-jsdom": "^27.4.6", + "jest-environment-node": "^27.4.6", + "jest-haste-map": "^27.4.6", + "jest-leak-detector": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-resolve": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-util": "^27.4.2", + "jest-worker": "^27.4.6", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz", + "integrity": "sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/globals": "^27.4.6", + "@jest/source-map": "^27.4.0", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-mock": "^27.4.6", + "jest-regex-util": "^27.4.0", + "jest-resolve": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-runtime/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-runtime/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/jest-runtime/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-runtime/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-runtime/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-runtime/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-serializer": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.4.0.tgz", + "integrity": "sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz", + "integrity": "sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.4.6", + "graceful-fs": "^4.2.4", + "jest-diff": "^27.4.6", + "jest-get-type": "^27.4.0", + "jest-haste-map": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-util": "^27.4.2", + "natural-compare": "^1.4.0", + "pretty-format": "^27.4.6", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz", + "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.4", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz", + "integrity": "sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.4.2", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.4.0", + "leven": "^3.1.0", + "pretty-format": "^27.4.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz", + "integrity": "sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.4.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", + "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jimp": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.1.tgz", + "integrity": "sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/custom": "^0.16.1", + "@jimp/plugins": "^0.16.1", + "@jimp/types": "^0.16.1", + "regenerator-runtime": "^0.13.3" + } + }, + "node_modules/jpeg-js": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", + "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==" + }, + "node_modules/js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/js-queue": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.2.tgz", + "integrity": "sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==", + "dev": true, + "dependencies": { + "easy-stack": "^1.0.1" + }, + "engines": { + "node": ">=1.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "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.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsdom/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/launch-editor": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.3.0.tgz", + "integrity": "sha512-3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.6.1" + } + }, + "node_modules/launch-editor-middleware": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.3.0.tgz", + "integrity": "sha512-GJR64trLdFFwCoL9DMn/d1SZX0OzTDPixu4mcfWTShQ4tIqCHCGvlg9fOEYQXyBlrSMQwylsJfUWncheShfV2w==", + "dev": true, + "dependencies": { + "launch-editor": "^2.3.0" + } + }, + "node_modules/launch-editor/node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/load-bmfont": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", + "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", + "dependencies": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "node_modules/lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "node_modules/lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/loglevel": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/memfs": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", + "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "dev": true, + "optional": true, + "dependencies": { + "fs-monkey": "1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/metaflac-js": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/metaflac-js/-/metaflac-js-1.0.5.tgz", + "integrity": "sha512-JxMDjEWQRHu+JTvA77vk0uOSt2NGqKYFAcheI8Qop7V5fxsEbRhSSjg8QnAhcmCuMo9zkSLjpj6ndRyZHb77sg==", + "dependencies": { + "commander": "^2.19.0", + "file-type": "^10.7.0", + "image-size": "^0.6.3" + }, + "bin": { + "metaflac-js": "cli.js" + } + }, + "node_modules/metaflac-js/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/metaflac-js/node_modules/file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==", + "dev": true + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "dependencies": { + "mime-db": "1.51.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.4.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "node_modules/music-metadata": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/music-metadata/-/music-metadata-7.9.0.tgz", + "integrity": "sha512-wylvGz7krEzSYR6vousdO5Oy/6T/SEOwFmUWQfNscp73XWTGXF5yVBauuc3nyrnyDLcVYNmOkkdvt9euw5ixVg==", + "dependencies": { + "content-type": "^1.0.4", + "debug": "^4.3.2", + "file-type": "^16.5.1", + "media-typer": "^1.1.0", + "strtok3": "~6.1.3", + "token-types": "~3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/music-metadata-browser": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/music-metadata-browser/-/music-metadata-browser-2.2.7.tgz", + "integrity": "sha512-SBCrvDiQq7n8WGaacRfgZaflH90lE0ccCblXeh91uJWO4lhK1pnwc1B9JyxMvdTv7eUa05yd2bkhCiyAXebNCA==", + "dependencies": { + "buffer": "^6.0.3", + "debug": "^4.0.1", + "music-metadata": "^7.8.8", + "readable-stream": "^3.6.0", + "readable-web-to-node-stream": "^3.0.1", + "typedarray-to-buffer": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/music-metadata-browser/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/music-metadata-browser/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/music-metadata/node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + }, + "node_modules/music-metadata/node_modules/file-type": { + "version": "16.5.3", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz", + "integrity": "sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==", + "dependencies": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/music-metadata/node_modules/file-type/node_modules/strtok3": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.2.4.tgz", + "integrity": "sha512-GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw==", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^4.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/music-metadata/node_modules/file-type/node_modules/token-types": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.1.1.tgz", + "integrity": "sha512-hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w==", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/music-metadata/node_modules/peek-readable": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.0.2.tgz", + "integrity": "sha512-9fMaz6zoxw9ypO1KZy5RDJgSupEtu0Q+g/OqqsVHX3rKGR8qehRLYzsFARZ4bVvdvfknKiXvuDbkMnO1g6cRpQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node_modules/node-ipc": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz", + "integrity": "sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==", + "dev": true, + "dependencies": { + "event-pubsub": "4.3.0", + "js-message": "1.0.7", + "js-queue": "2.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/observable-fns": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/observable-fns/-/observable-fns-0.6.1.tgz", + "integrity": "sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==" + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/open/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opn/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "dependencies": { + "url-parse": "^1.4.3" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "dependencies": { + "retry": "^0.12.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "optional": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" + }, + "node_modules/parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" + }, + "node_modules/parse-bmfont-xml": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", + "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", + "dependencies": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.4.5" + } + }, + "node_modules/parse-headers": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", + "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/patch-package": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz", + "integrity": "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==", + "dev": true, + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^7.0.1", + "is-ci": "^2.0.0", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.0", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^5.6.0", + "slash": "^2.0.0", + "tmp": "^0.0.33" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "npm": ">5" + } + }, + "node_modules/patch-package/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/patch-package/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/peek-readable": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.4.tgz", + "integrity": "sha512-DX7ec7frSMtCWw+zMd27f66hcxIz/w9LQTY2RflB4WNHCVPAye1pJiP2t3gvaaOhu7IOhtPbHw8MemMj+F5lrg==", + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/phin": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" + }, + "node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz", + "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "dependencies": { + "pngjs": "^3.0.0" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "dev": true, + "dependencies": { + "ts-pnp": "^1.1.6" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-colormin/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "dependencies": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "dependencies": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "dev": true, + "dependencies": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "dependencies": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "dependencies": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-url/node_modules/normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz", + "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-svgo/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/postcss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prettier": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "node_modules/pretty-format": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz", + "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", + "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", + "dev": true, + "dependencies": { + "bytes": "3.1.1", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dependencies": { + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/register-service-worker": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.2.tgz", + "integrity": "sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==" + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + } + }, + "node_modules/renderkid/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/renderkid/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "node_modules/resolve": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz", + "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.8.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sass": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.47.0.tgz", + "integrity": "sha512-GtXwvwgD7/6MLUZPnlA5/8cdRgC9SzT5kAnnJMRmEZQFRE3J56Foswig4NyyyQGsnmNvg6EUM/FP0Pe9Y2zywQ==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sass-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz", + "integrity": "sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", + "sass": "^1.3.0", + "webpack": "^4.36.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/sass-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sass-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "node_modules/selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "dev": true, + "dependencies": { + "node-forge": "^0.10.0" + } + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "1.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "dev": true + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "dev": true + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs-client": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz", + "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==", + "dev": true, + "dependencies": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.3" + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz", + "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "dev": true + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "dev": true, + "dependencies": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strtok3": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.1.3.tgz", + "integrity": "sha512-ssWSKFOeUTurMSucgyUf+a6Z9mVTYrsYiyEK5RLnh8BM6sFrKSljVlnjZXIDxMguYfdQI+mUPFHo88FYTxq1XA==", + "dependencies": { + "@tokenizer/token": "^0.1.1", + "peek-readable": "^3.1.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/terser-webpack-plugin/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/terser-webpack-plugin/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "dependencies": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + }, + "engines": { + "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/threads": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/threads/-/threads-1.7.0.tgz", + "integrity": "sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==", + "dependencies": { + "callsites": "^3.1.0", + "debug": "^4.2.0", + "is-observable": "^2.1.0", + "observable-fns": "^0.6.1" + }, + "funding": { + "url": "https://github.com/andywer/threads.js?sponsor=1" + }, + "optionalDependencies": { + "tiny-worker": ">= 2" + } + }, + "node_modules/threads-plugin": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/threads-plugin/-/threads-plugin-1.4.0.tgz", + "integrity": "sha512-lQENPueZLsD+6Cvxvj/QaQyUskwnFZO+2ZGDMnPIvtytSeywWvYzete8paZ9L+5IR4v8jnSYNZPlIQrEhSK1EA==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0" + }, + "peerDependencies": { + "@babel/types": ">= 7", + "webpack": ">= 4" + } + }, + "node_modules/threads/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "node_modules/throttle-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", + "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timm": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", + "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "node_modules/tiny-worker": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz", + "integrity": "sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==", + "optional": true, + "dependencies": { + "esm": "^3.2.25" + } + }, + "node_modules/tinycolor2": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", + "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==", + "engines": { + "node": "*" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-regex-range/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/token-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-3.0.0.tgz", + "integrity": "sha512-1cV7R6TRKfCG1++se5xGy9fUpD+L1u/7XgmViGA1Y5bubHt6W4w1r1j0uOk+5ngM6yhssRJ+qR+IaviVgAizJA==", + "dependencies": { + "@tokenizer/token": "^0.1.1", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "node_modules/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "node_modules/ts-loader": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.2.2.tgz", + "integrity": "sha512-HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ==", + "dev": true, + "dependencies": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8.6" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/ts-loader/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/ts-loader/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tslint": { + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", + "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.29.0" + }, + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev" + } + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-4.0.0.tgz", + "integrity": "sha512-6dOYeZfS3O9RtRD1caom0sMxgK59b27+IwoNy8RDPsmslSGOyU+mpTamlaIW7aNKi90ZQZ9DFaZL3YRoiSCULQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/typescript": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "dependencies": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-js/node_modules/commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "node_modules/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", + "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", + "dev": true, + "dependencies": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.4.tgz", + "integrity": "sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/utif": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "dependencies": { + "pako": "^1.0.5" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz", + "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/vue": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" + }, + "node_modules/vue-cli-plugin-element": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-element/-/vue-cli-plugin-element-1.0.1.tgz", + "integrity": "sha512-OJSOnJtn7f1v/8xX+MJae+RrE8WguhiiG9QTBx/MNOPXYsxqut6Ommo+ZD3raNc7eryhqdM2T/DlMfdvIKpCtw==", + "dev": true + }, + "node_modules/vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "node_modules/vue-loader": { + "version": "15.9.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", + "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", + "dev": true, + "dependencies": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "peerDependencies": { + "css-loader": "*", + "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/vue-loader-v16": { + "name": "vue-loader", + "version": "16.8.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", + "dev": true, + "optional": true, + "dependencies": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "peerDependencies": { + "webpack": "^4.1.0 || ^5.0.0-0" + } + }, + "node_modules/vue-loader-v16/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/vue-loader-v16/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/vue-loader-v16/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/vue-loader-v16/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "node_modules/vue-loader-v16/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/vue-loader-v16/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "optional": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/vue-loader-v16/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vue-loader/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/vue-style-loader/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "node_modules/vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.19", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 6.14.4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "dev": true, + "dependencies": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", + "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", + "dev": true, + "dependencies": { + "ansi-html-community": "0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-server/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/webpack-dev-server/node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack-dev-server/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "dependencies": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", + "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", + "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", + "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==", + "dev": true + }, + "node_modules/workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", + "dev": true, + "dependencies": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", + "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", + "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", + "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", + "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", + "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", + "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==", + "dev": true + }, + "node_modules/workbox-webpack-plugin": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz", + "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "json-stable-stringify": "^1.0.1", + "workbox-build": "^4.3.1" + }, + "engines": { + "node": ">=4.0.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", + "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "dev": true, + "dependencies": { + "microevent.ts": "~0.1.1" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/write-file-atomic/node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/ws": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", + "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "dev": true, + "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 + } + } + }, + "node_modules/xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" + }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/yargs/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/yargs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/yargs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/yargs/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/yargs/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "node_modules/yorkie/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/yorkie/node_modules/execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/yorkie/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/yorkie/node_modules/normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yorkie/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/compat-data": { + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==" + }, + "@babel/core": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", + "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/generator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.7.tgz", + "integrity": "sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg==", + "requires": { + "@babel/types": "^7.16.7", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", + "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "requires": { + "@babel/compat-data": "^7.16.4", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz", + "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz", + "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz", + "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "requires": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz", + "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-module-transforms": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", + "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.7.tgz", + "integrity": "sha512-C3o117GnP/j/N2OWo+oepeWbFEKRfNaay+F1Eo5Mj3A1SRjyx+qaFhm23nlipub7Cjv2azdUUiDH+VlpdwUFRg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", + "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + }, + "@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==" + }, + "@babel/helper-wrap-function": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.7.tgz", + "integrity": "sha512-7a9sABeVwcunnztZZ7WTgSw6jVYLzM1wua0Z4HIXm9S3/HC96WKQTkFgGEaj5W06SHHihPJ6Le6HzS5cGOQMNw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helpers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", + "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", + "requires": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/highlight": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", + "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.7.tgz", + "integrity": "sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.7.tgz", + "integrity": "sha512-TTXBT3A5c11eqRzaC6beO6rlFT3Mo9C2e8eB44tTr52ESXSK2CIc2fOp1ynpAwQA8HhBMho+WXhMHWlAe3xkpw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz", + "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.7.tgz", + "integrity": "sha512-DoEpnuXK14XV9btI1k8tzNGCutMclpj4yru8aXKoHlVmbO1s+2A+g2+h4JhcjrxkFJqzbymnLG6j/niOf3iFXQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-decorators": "^7.16.7" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz", + "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz", + "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.7.tgz", + "integrity": "sha512-vQ+PxL+srA7g6Rx6I1e15m55gftknl2X8GCUW1JTlkTaXZLJOS0UcaY0eK9jYT7IYf4awn6qwyghVHLDz1WyMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", + "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.7.tgz", + "integrity": "sha512-pFEfjnK4DfXCfAlA5I98BYdDJD8NltMzx19gt6DAmfE+2lXRfPUoa0/5SUjT4+TDE1W/rcxU/1lgN55vpAjjdg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.7" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz", + "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.7.tgz", + "integrity": "sha512-h2RP2kE7He1ZWKyAlanMZrAbdv+Acw1pA8dQZhE025WJZE2z0xzFADAinXA9fxd5bn7JnM+SdOGcndGx1ARs9w==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz", + "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.7.tgz", + "integrity": "sha512-kFy35VwmwIQwCjwrAQhl3+c/kr292i4KdLPKp5lPH03Ltc51qnFlIADoyPxc/6Naz3ok3WdYKg+KK6AH+D4utg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", + "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.7.tgz", + "integrity": "sha512-2FoHiSAWkdq4L06uaDN3rS43i6x28desUVxq+zAFuE6kbWYQeiLPJI5IC7Sg9xKYVcrBKSQkVUfH6aeQYbl9QA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.4.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.7.tgz", + "integrity": "sha512-Hzx1lvBtOCWuCEwMmYOfpQpO7joFeXLgoPuzZZBtTxXqSqUGUubvFGZv2ygo1tB5Bp9q6PXV3H0E/kf7KM0RLA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-typescript": "^7.16.7" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/preset-env": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.7.tgz", + "integrity": "sha512-urX3Cee4aOZbRWOSa3mKPk0aqDikfILuo+C7qq7HY0InylGNZ1fekq9jmlr3pLWwZHF4yD7heQooc2Pow2KMyQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.4", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.7", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.7", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.7", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.7", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.7", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.4.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.19.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.16.7" + } + }, + "@babel/runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/traverse": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.7.tgz", + "integrity": "sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ==", + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.7.tgz", + "integrity": "sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", + "dev": true, + "requires": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.4.6.tgz", + "integrity": "sha512-jauXyacQD33n47A44KrlOVeiXHEXDqapSdfb9kTekOchH/Pd18kBIO1+xxJQRLuG+LUuljFCwTG92ra4NW7SpA==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.4.6", + "jest-util": "^27.4.2", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.4.7.tgz", + "integrity": "sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==", + "dev": true, + "requires": { + "@jest/console": "^27.4.6", + "@jest/reporters": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^27.4.2", + "jest-config": "^27.4.7", + "jest-haste-map": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-regex-util": "^27.4.0", + "jest-resolve": "^27.4.6", + "jest-resolve-dependencies": "^27.4.6", + "jest-runner": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "jest-watcher": "^27.4.6", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz", + "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6" + } + }, + "@jest/fake-timers": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz", + "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.4.6", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2" + } + }, + "@jest/globals": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.4.6.tgz", + "integrity": "sha512-kAiwMGZ7UxrgPzu8Yv9uvWmXXxsy0GciNejlHvfPIfWkSxChzv6bgTS3YqBkGuHcis+ouMFI2696n2t+XYIeFw==", + "dev": true, + "requires": { + "@jest/environment": "^27.4.6", + "@jest/types": "^27.4.2", + "expect": "^27.4.6" + } + }, + "@jest/reporters": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.4.6.tgz", + "integrity": "sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.4.6", + "jest-resolve": "^27.4.6", + "jest-util": "^27.4.2", + "jest-worker": "^27.4.6", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/source-map": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.4.0.tgz", + "integrity": "sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@jest/test-result": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.4.6.tgz", + "integrity": "sha512-fi9IGj3fkOrlMmhQqa/t9xum8jaJOOAi/lZlm6JXSc55rJMXKHxNDN1oCP39B0/DhNOa2OMupF9BcKZnNtXMOQ==", + "dev": true, + "requires": { + "@jest/console": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.4.6.tgz", + "integrity": "sha512-3GL+nsf6E1PsyNsJuvPyIz+DwFuCtBdtvPpm/LMXVkBJbdFvQYCDpccYT56qq5BGniXWlE81n2qk1sdXfZebnw==", + "dev": true, + "requires": { + "@jest/test-result": "^27.4.6", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "jest-runtime": "^27.4.6" + } + }, + "@jest/transform": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.4.6.tgz", + "integrity": "sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.4.2", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "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.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz", + "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jimp/bmp": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz", + "integrity": "sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "bmp-js": "^0.1.0" + } + }, + "@jimp/core": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.16.1.tgz", + "integrity": "sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "^0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + } + }, + "@jimp/custom": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.1.tgz", + "integrity": "sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/core": "^0.16.1" + } + }, + "@jimp/gif": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.1.tgz", + "integrity": "sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "gifwrap": "^0.9.2", + "omggif": "^1.0.9" + } + }, + "@jimp/jpeg": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.1.tgz", + "integrity": "sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "jpeg-js": "0.4.2" + } + }, + "@jimp/plugin-blit": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz", + "integrity": "sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-blur": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz", + "integrity": "sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-circle": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz", + "integrity": "sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-color": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.1.tgz", + "integrity": "sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "tinycolor2": "^1.4.1" + } + }, + "@jimp/plugin-contain": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz", + "integrity": "sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-cover": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz", + "integrity": "sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-crop": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz", + "integrity": "sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-displace": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz", + "integrity": "sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-dither": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz", + "integrity": "sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-fisheye": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz", + "integrity": "sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-flip": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz", + "integrity": "sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-gaussian": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz", + "integrity": "sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-invert": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz", + "integrity": "sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-mask": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz", + "integrity": "sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-normalize": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz", + "integrity": "sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-print": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.1.tgz", + "integrity": "sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "load-bmfont": "^1.4.0" + } + }, + "@jimp/plugin-resize": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz", + "integrity": "sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-rotate": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz", + "integrity": "sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-scale": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz", + "integrity": "sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-shadow": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz", + "integrity": "sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugin-threshold": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz", + "integrity": "sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1" + } + }, + "@jimp/plugins": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.1.tgz", + "integrity": "sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/plugin-blit": "^0.16.1", + "@jimp/plugin-blur": "^0.16.1", + "@jimp/plugin-circle": "^0.16.1", + "@jimp/plugin-color": "^0.16.1", + "@jimp/plugin-contain": "^0.16.1", + "@jimp/plugin-cover": "^0.16.1", + "@jimp/plugin-crop": "^0.16.1", + "@jimp/plugin-displace": "^0.16.1", + "@jimp/plugin-dither": "^0.16.1", + "@jimp/plugin-fisheye": "^0.16.1", + "@jimp/plugin-flip": "^0.16.1", + "@jimp/plugin-gaussian": "^0.16.1", + "@jimp/plugin-invert": "^0.16.1", + "@jimp/plugin-mask": "^0.16.1", + "@jimp/plugin-normalize": "^0.16.1", + "@jimp/plugin-print": "^0.16.1", + "@jimp/plugin-resize": "^0.16.1", + "@jimp/plugin-rotate": "^0.16.1", + "@jimp/plugin-scale": "^0.16.1", + "@jimp/plugin-shadow": "^0.16.1", + "@jimp/plugin-threshold": "^0.16.1", + "timm": "^1.6.1" + } + }, + "@jimp/png": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.16.1.tgz", + "integrity": "sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.16.1", + "pngjs": "^3.3.3" + } + }, + "@jimp/tiff": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.1.tgz", + "integrity": "sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "utif": "^2.0.1" + } + }, + "@jimp/types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.16.1.tgz", + "integrity": "sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/bmp": "^0.16.1", + "@jimp/gif": "^0.16.1", + "@jimp/jpeg": "^0.16.1", + "@jimp/png": "^0.16.1", + "@jimp/tiff": "^0.16.1", + "timm": "^1.6.1" + } + }, + "@jimp/utils": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.1.tgz", + "integrity": "sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw==", + "requires": { + "@babel/runtime": "^7.7.2", + "regenerator-runtime": "^0.13.3" + } + }, + "@jixun/kugou-crypto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@jixun/kugou-crypto/-/kugou-crypto-1.0.3.tgz", + "integrity": "sha512-ZiwSkpIAH8IkFcTfMjdQMpP/xco3iXEdYDEQo4wquYpSAln5RmSed3iBctnpoE6s3X1cxmBGhpCYW6v6vZfs+g==", + "requires": { + "commander": "^9.2.0" + }, + "dependencies": { + "commander": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==" + } + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true + }, + "@tokenizer/token": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", + "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.18", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz", + "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/crypto-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.1.0.tgz", + "integrity": "sha512-DCFfy/vh2lG6qHSGezQ+Sn2Ulf/1Mx51dqOdmOKyW5nMK3maLlxeS3onC7r212OnBM2pBR95HkAmAjjF08YkxQ==", + "dev": true + }, + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.27", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.27.tgz", + "integrity": "sha512-e/sVallzUTPdyOTiqi8O8pMdBBphscvI6E4JYaKlja4Lm+zh7UFSSdW5VMkRbhDtmrONqOUHOXRguPsDckzxNA==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/http-proxy": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz", + "integrity": "sha512-gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==", + "dev": true, + "requires": { + "jest-diff": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/node": { + "version": "17.0.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz", + "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true, + "optional": true + }, + "@types/prettier": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.2.tgz", + "integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==", + "dev": true + }, + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/tapable": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", + "dev": true + }, + "@types/uglify-js": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", + "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@types/webpack": { + "version": "4.41.32", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", + "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@types/webpack-dev-server": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz", + "integrity": "sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==", + "dev": true, + "requires": { + "@types/connect-history-api-fallback": "*", + "@types/express": "*", + "@types/serve-static": "*", + "@types/webpack": "^4", + "http-proxy-middleware": "^1.0.0" + } + }, + "@types/webpack-env": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.3.tgz", + "integrity": "sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw==", + "dev": true + }, + "@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", + "dev": true + }, + "@unlock-music/joox-crypto": { + "version": "0.0.1-R5", + "resolved": "https://registry.npmjs.org/@unlock-music/joox-crypto/-/joox-crypto-0.0.1-R5.tgz", + "integrity": "sha512-+FhGT4bjzfb1Q7dAwHps/XqbqXrRA6Qg7pkDPzyXfeRmQocAySQ/dekojxkaFBf7ZX5ToIAopwxkKZ5NFt5bFw==", + "requires": { + "crypto-js": "^4.1.1" + } + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", + "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==", + "dev": true + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz", + "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@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" + }, + "dependencies": { + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + } + } + }, + "@vue/babel-preset-app": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.15.tgz", + "integrity": "sha512-J+YttzvwRfV1BPczf8r3qCevznYk+jh531agVF+5EYlHF4Sgh/cGXTz9qkkiux3LQgvhEGXgmCteg1n38WuuKg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.11.0", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.0", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.2.4", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", + "core-js-compat": "^3.6.5", + "semver": "^6.1.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/babel-preset-jsx": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz", + "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", + "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", + "@vue/babel-sugar-functional-vue": "^1.2.2", + "@vue/babel-sugar-inject-h": "^1.2.2", + "@vue/babel-sugar-v-model": "^1.2.3", + "@vue/babel-sugar-v-on": "^1.2.3" + } + }, + "@vue/babel-sugar-composition-api-inject-h": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz", + "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-composition-api-render-instance": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz", + "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz", + "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz", + "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz", + "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + } + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz", + "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "@vue/cli-overlay": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.15.tgz", + "integrity": "sha512-0zI0kANAVmjFO2LWGUIzdGPMeE3+9k+KeRDXsUqB30YfRF7abjfiiRPq5BU9pOzlJbVdpRkisschBrvdJqDuDg==", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.15.tgz", + "integrity": "sha512-hBLrwYfFkHldEe34op/YNgPhpOWI5n5DB2Qt9I/1Epeif4M4iFaayrgjvOR9AVM6WbD3Yx7WCFszYpWrQZpBzQ==", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@vue/babel-preset-app": "^4.5.15", + "@vue/cli-shared-utils": "^4.5.15", + "babel-loader": "^8.1.0", + "cache-loader": "^4.1.0", + "thread-loader": "^2.1.3", + "webpack": "^4.0.0" + } + }, + "@vue/cli-plugin-pwa": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.5.15.tgz", + "integrity": "sha512-yQzsspaIkjeQyN6btF8ATgbJFU023q1HC8uUpmiBa4QE9EyBlR8fSrKFhcJ0EmT6KnU7PMwlnOJ/OqjguFnufA==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.15", + "webpack": "^4.0.0", + "workbox-webpack-plugin": "^4.3.1" + } + }, + "@vue/cli-plugin-router": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.15.tgz", + "integrity": "sha512-q7Y6kP9b3k55Ca2j59xJ7XPA6x+iSRB+N4ac0ZbcL1TbInVQ4j5wCzyE+uqid40hLy4fUdlpl4X9fHJEwuVxPA==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.15" + } + }, + "@vue/cli-plugin-typescript": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-typescript/-/cli-plugin-typescript-4.5.15.tgz", + "integrity": "sha512-g2HDBwWBboTzNvVrS+w4Ctl7CCErboTlx7PyQrXgY+7uGdPVUT9PWuv4DjaZhosSk7WI3qSIpruCBIkdHX5bwQ==", + "dev": true, + "requires": { + "@types/webpack-env": "^1.15.2", + "@vue/cli-shared-utils": "^4.5.15", + "cache-loader": "^4.1.0", + "fork-ts-checker-webpack-plugin": "^3.1.1", + "fork-ts-checker-webpack-plugin-v5": "npm:fork-ts-checker-webpack-plugin@^5.0.11", + "globby": "^9.2.0", + "thread-loader": "^2.1.3", + "ts-loader": "^6.2.2", + "tslint": "^5.20.1", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + } + }, + "@vue/cli-plugin-vuex": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.15.tgz", + "integrity": "sha512-fqap+4HN+w+InDxlA3hZTOGE0tzBTgXhKLoDydhywqgmhQ1D9JA6Feh94ze6tG8DsWX58/ujYUqA8jAz17FJtg==", + "dev": true, + "requires": {} + }, + "@vue/cli-service": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.15.tgz", + "integrity": "sha512-sFWnLYVCn4zRfu45IcsIE9eXM0YpDV3S11vlM2/DVbIPAGoYo5ySpSof6aHcIvkeGsIsrHFpPHzNvDZ/efs7jA==", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@soda/get-current-script": "^1.0.0", + "@types/minimist": "^1.2.0", + "@types/webpack": "^4.0.0", + "@types/webpack-dev-server": "^3.11.0", + "@vue/cli-overlay": "^4.5.15", + "@vue/cli-plugin-router": "^4.5.15", + "@vue/cli-plugin-vuex": "^4.5.15", + "@vue/cli-shared-utils": "^4.5.15", + "@vue/component-compiler-utils": "^3.1.2", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^7.4.0", + "acorn-walk": "^7.1.1", + "address": "^1.1.2", + "autoprefixer": "^9.8.6", + "browserslist": "^4.12.0", + "cache-loader": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.4", + "clipboardy": "^2.3.0", + "cliui": "^6.0.0", + "copy-webpack-plugin": "^5.1.1", + "css-loader": "^3.5.3", + "cssnano": "^4.1.10", + "debug": "^4.1.1", + "default-gateway": "^5.0.5", + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^4.2.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.9.0", + "minimist": "^1.2.5", + "pnp-webpack-plugin": "^1.6.4", + "portfinder": "^1.0.26", + "postcss-loader": "^3.0.0", + "ssri": "^8.0.1", + "terser-webpack-plugin": "^1.4.4", + "thread-loader": "^2.1.3", + "url-loader": "^2.2.0", + "vue-loader": "^15.9.2", + "vue-loader-v16": "npm:vue-loader@^16.1.0", + "vue-style-loader": "^4.1.2", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.8.0", + "webpack-chain": "^6.4.0", + "webpack-dev-server": "^3.11.0", + "webpack-merge": "^4.2.2" + } + }, + "@vue/cli-shared-utils": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.15.tgz", + "integrity": "sha512-SKaej9hHzzjKSOw1NlFmc6BSE0vcqUQMQiv1cxQ2DhVyy4QxZXBmzmiLBUBe+hYZZs1neXW7n//udeN9bCAY+Q==", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2 || ^2.0.0", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "@vue/preload-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", + "dev": true, + "requires": {} + }, + "@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "requires": {} + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "async-validator": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", + "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", + "requires": { + "babel-runtime": "6.x" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "optional": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "dev": true, + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" + }, + "babel-jest": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.4.6.tgz", + "integrity": "sha512-qZL0JT0HS1L+lOuH+xC2DVASR3nunZi/ozGhpgauJHgmI7f8rudxf6hUjEHympdQ/J64CdKmPkgfJ+A3U6QCrg==", + "dev": true, + "requires": { + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.4.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-component": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-component/-/babel-plugin-component-1.1.1.tgz", + "integrity": "sha512-WUw887kJf2GH80Ng/ZMctKZ511iamHNqPhd9uKo14yzisvV7Wt1EckIrb8oq/uCz3B3PpAW7Xfl7AkTLDYT6ag==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "7.0.0-beta.35" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.0.0-beta.35", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.35.tgz", + "integrity": "sha512-vaC1KyIZSuyWb3Lj277fX0pxivyHwuDU4xZsofqgYAbkDxNieMg2vuhzP5AgMweMY7fCQUMTi+BgPqTLjkxXFg==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.35", + "lodash": "^4.2.0" + } + }, + "@babel/types": { + "version": "7.0.0-beta.35", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.35.tgz", + "integrity": "sha512-y9XT11CozHDgjWcTdxmhSj13rJVXpa5ZXwjjOiTedjaM0ba5ItqdS02t31EhPl7HtOWxsZkYCCUNrSfrOisA6w==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz", + "integrity": "sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz", + "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.0", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz", + "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.0", + "core-js-compat": "^3.18.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz", + "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.0" + } + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz", + "integrity": "sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^27.4.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=" + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "body-parser": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", + "dev": true, + "requires": { + "bytes": "3.1.1", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.9.6", + "raw-body": "2.4.2", + "type-is": "~1.6.18" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-id3-writer": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/browser-id3-writer/-/browser-id3-writer-4.4.0.tgz", + "integrity": "sha512-8xce9wo4VoKNR4udEGOAf8vndYxhToqQS+1wyrjdYVPQKRc4Wm6xwGG6XrKYgax28y5AvrbCkqK6t1RplPN2Ew==" + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "requires": { + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + } + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", + "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", + "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", + "dev": true, + "requires": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001434", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", + "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==" + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-string": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", + "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", + "dev": true, + "requires": { + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "core-js": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.2.tgz", + "integrity": "sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw==" + }, + "core-js-compat": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz", + "integrity": "sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg==", + "dev": true, + "requires": { + "browserslist": "^4.19.1", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "css-select": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", + "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.1.0", + "domhandler": "^4.3.0", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" + }, + "default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", + "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", + "dev": true, + "requires": { + "execa": "^3.3.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "diff-sequences": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz", + "integrity": "sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + } + } + }, + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.38", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.38.tgz", + "integrity": "sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ==" + }, + "element-ui": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.6.tgz", + "integrity": "sha512-rcYXEKd/j2G0AgficAOk1Zd1AsnHRkhmrK4yLHmNOiimU2JfsywgfKUjMoFuT6pQx0luhovj8lFjpE4Fnt58Iw==", + "requires": { + "async-validator": "~1.8.1", + "babel-helper-vue-jsx-merge-props": "^2.0.0", + "deepmerge": "^1.2.0", + "normalize-wheel": "^1.0.1", + "resize-observer-polyfill": "^1.5.0", + "throttle-debounce": "^1.0.1" + } + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "optional": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expect": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz", + "integrity": "sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "jest-get-type": "^27.4.0", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6" + } + }, + "express": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", + "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.4.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.9.6", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "dev": true + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + } + }, + "file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "requires": { + "micromatch": "^4.0.2" + }, + "dependencies": { + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + } + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz", + "integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "fork-ts-checker-webpack-plugin": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz", + "integrity": "sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^3.3.0", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "fork-ts-checker-webpack-plugin-v5": { + "version": "npm:fork-ts-checker-webpack-plugin@5.2.1", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz", + "integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==", + "dev": true, + "optional": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "optional": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "optional": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "optional": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "optional": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "optional": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "optional": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "optional": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "optional": true + } + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true, + "optional": true + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gifwrap": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", + "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", + "requires": { + "image-q": "^1.1.1", + "omggif": "^1.0.10" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + } + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + } + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", + "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", + "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "image-q": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", + "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=" + }, + "image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + }, + "immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "dependencies": { + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + } + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + }, + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + } + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-observable": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-2.1.0.tgz", + "integrity": "sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==" + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", + "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz", + "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true + }, + "jest": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz", + "integrity": "sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==", + "dev": true, + "requires": { + "@jest/core": "^27.4.7", + "import-local": "^3.0.2", + "jest-cli": "^27.4.7" + } + }, + "jest-changed-files": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.4.2.tgz", + "integrity": "sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "jest-circus": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.4.6.tgz", + "integrity": "sha512-UA7AI5HZrW4wRM72Ro80uRR2Fg+7nR0GESbSI/2M+ambbzVuA63mn5T1p3Z/wlhntzGpIG1xx78GP2YIkf6PhQ==", + "dev": true, + "requires": { + "@jest/environment": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.4.6", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "pretty-format": "^27.4.6", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.4.7.tgz", + "integrity": "sha512-zREYhvjjqe1KsGV15mdnxjThKNDgza1fhDT+iUsXWLCq3sxe9w5xnvyctcYVT5PcdLSjv7Y5dCwTS3FCF1tiuw==", + "dev": true, + "requires": { + "@jest/core": "^27.4.7", + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "jest-config": "^27.4.7", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "27.4.7", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.4.7.tgz", + "integrity": "sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==", + "dev": true, + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.4.6", + "@jest/types": "^27.4.2", + "babel-jest": "^27.4.6", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-circus": "^27.4.6", + "jest-environment-jsdom": "^27.4.6", + "jest-environment-node": "^27.4.6", + "jest-get-type": "^27.4.0", + "jest-jasmine2": "^27.4.6", + "jest-regex-util": "^27.4.0", + "jest-resolve": "^27.4.6", + "jest-runner": "^27.4.6", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "micromatch": "^4.0.4", + "pretty-format": "^27.4.6", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz", + "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.4.0", + "jest-get-type": "^27.4.0", + "pretty-format": "^27.4.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.4.0.tgz", + "integrity": "sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.4.6.tgz", + "integrity": "sha512-n6QDq8y2Hsmn22tRkgAk+z6MCX7MeVlAzxmZDshfS2jLcaBlyhpF3tZSJLR+kXmh23GEvS0ojMR8i6ZeRvpQcA==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "jest-get-type": "^27.4.0", + "jest-util": "^27.4.2", + "pretty-format": "^27.4.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz", + "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==", + "dev": true, + "requires": { + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.4.6.tgz", + "integrity": "sha512-yfHlZ9m+kzTKZV0hVfhVu6GuDxKAYeFHrfulmy7Jxwsq4V7+ZK7f+c0XP/tbVDMQW7E4neG2u147hFkuVz0MlQ==", + "dev": true, + "requires": { + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2" + } + }, + "jest-get-type": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz", + "integrity": "sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==", + "dev": true + }, + "jest-haste-map": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.4.6.tgz", + "integrity": "sha512-0tNpgxg7BKurZeFkIOvGCkbmOHbLFf4LUQOxrQSMjvrQaQe3l6E8x6jYC1NuWkGo5WDdbr8FEzUxV2+LWNawKQ==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^27.4.0", + "jest-serializer": "^27.4.0", + "jest-util": "^27.4.2", + "jest-worker": "^27.4.6", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "dependencies": { + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-jasmine2": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.4.6.tgz", + "integrity": "sha512-uAGNXF644I/whzhsf7/qf74gqy9OuhvJ0XYp8SDecX2ooGeaPnmJMjXjKt0mqh1Rl5dtRGxJgNrHlBQIBfS5Nw==", + "dev": true, + "requires": { + "@jest/environment": "^27.4.6", + "@jest/source-map": "^27.4.0", + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.4.6", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "pretty-format": "^27.4.6", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.4.6.tgz", + "integrity": "sha512-kkaGixDf9R7CjHm2pOzfTxZTQQQ2gHTIWKY/JZSiYTc90bZp8kSZnUMS3uLAfwTZwc0tcMRoEX74e14LG1WapA==", + "dev": true, + "requires": { + "jest-get-type": "^27.4.0", + "pretty-format": "^27.4.6" + } + }, + "jest-matcher-utils": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz", + "integrity": "sha512-XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.4.6", + "jest-get-type": "^27.4.0", + "pretty-format": "^27.4.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz", + "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.4.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.4.6", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz", + "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.4.0.tgz", + "integrity": "sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg==", + "dev": true + }, + "jest-resolve": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.4.6.tgz", + "integrity": "sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.4.2", + "jest-validate": "^27.4.6", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.6.tgz", + "integrity": "sha512-W85uJZcFXEVZ7+MZqIPCscdjuctruNGXUZ3OHSXOfXR9ITgbUKeHj+uGcies+0SsvI5GtUfTw4dY7u9qjTvQOw==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "jest-regex-util": "^27.4.0", + "jest-snapshot": "^27.4.6" + } + }, + "jest-runner": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.4.6.tgz", + "integrity": "sha512-IDeFt2SG4DzqalYBZRgbbPmpwV3X0DcntjezPBERvnhwKGWTW7C5pbbA5lVkmvgteeNfdd/23gwqv3aiilpYPg==", + "dev": true, + "requires": { + "@jest/console": "^27.4.6", + "@jest/environment": "^27.4.6", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-docblock": "^27.4.0", + "jest-environment-jsdom": "^27.4.6", + "jest-environment-node": "^27.4.6", + "jest-haste-map": "^27.4.6", + "jest-leak-detector": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-resolve": "^27.4.6", + "jest-runtime": "^27.4.6", + "jest-util": "^27.4.2", + "jest-worker": "^27.4.6", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.4.6.tgz", + "integrity": "sha512-eXYeoR/MbIpVDrjqy5d6cGCFOYBFFDeKaNWqTp0h6E74dK0zLHzASQXJpl5a2/40euBmKnprNLJ0Kh0LCndnWQ==", + "dev": true, + "requires": { + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/globals": "^27.4.6", + "@jest/source-map": "^27.4.0", + "@jest/test-result": "^27.4.6", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-mock": "^27.4.6", + "jest-regex-util": "^27.4.0", + "jest-resolve": "^27.4.6", + "jest-snapshot": "^27.4.6", + "jest-util": "^27.4.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "jest-serializer": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.4.0.tgz", + "integrity": "sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.4.6.tgz", + "integrity": "sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.4.6", + "graceful-fs": "^4.2.4", + "jest-diff": "^27.4.6", + "jest-get-type": "^27.4.0", + "jest-haste-map": "^27.4.6", + "jest-matcher-utils": "^27.4.6", + "jest-message-util": "^27.4.6", + "jest-util": "^27.4.2", + "natural-compare": "^1.4.0", + "pretty-format": "^27.4.6", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz", + "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.4", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.4.6.tgz", + "integrity": "sha512-872mEmCPVlBqbA5dToC57vA3yJaMRfIdpCoD3cyHWJOMx+SJwLNw0I71EkWs41oza/Er9Zno9XuTkRYCPDUJXQ==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.4.0", + "leven": "^3.1.0", + "pretty-format": "^27.4.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.4.6.tgz", + "integrity": "sha512-yKQ20OMBiCDigbD0quhQKLkBO+ObGN79MO4nT7YaCuQ5SM+dkBNWE8cZX0FjU6czwMvWw6StWbe+Wv4jJPJ+fw==", + "dev": true, + "requires": { + "@jest/test-result": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.4.2", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", + "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jimp": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.1.tgz", + "integrity": "sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/custom": "^0.16.1", + "@jimp/plugins": "^0.16.1", + "@jimp/types": "^0.16.1", + "regenerator-runtime": "^0.13.3" + } + }, + "jpeg-js": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz", + "integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw==" + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true + }, + "js-queue": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.2.tgz", + "integrity": "sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==", + "dev": true, + "requires": { + "easy-stack": "^1.0.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "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.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true + }, + "launch-editor": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.3.0.tgz", + "integrity": "sha512-3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA==", + "dev": true, + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.6.1" + }, + "dependencies": { + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + } + } + }, + "launch-editor-middleware": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.3.0.tgz", + "integrity": "sha512-GJR64trLdFFwCoL9DMn/d1SZX0OzTDPixu4mcfWTShQ4tIqCHCGvlg9fOEYQXyBlrSMQwylsJfUWncheShfV2w==", + "dev": true, + "requires": { + "launch-editor": "^2.3.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "load-bmfont": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", + "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", + "requires": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevel": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", + "dev": true + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==" + }, + "memfs": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", + "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "dev": true, + "optional": true, + "requires": { + "fs-monkey": "1.0.3" + } + }, + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "metaflac-js": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/metaflac-js/-/metaflac-js-1.0.5.tgz", + "integrity": "sha512-JxMDjEWQRHu+JTvA77vk0uOSt2NGqKYFAcheI8Qop7V5fxsEbRhSSjg8QnAhcmCuMo9zkSLjpj6ndRyZHb77sg==", + "requires": { + "commander": "^2.19.0", + "file-type": "^10.7.0", + "image-size": "^0.6.3" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==" + } + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true + }, + "mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "requires": { + "mime-db": "1.51.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "music-metadata": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/music-metadata/-/music-metadata-7.9.0.tgz", + "integrity": "sha512-wylvGz7krEzSYR6vousdO5Oy/6T/SEOwFmUWQfNscp73XWTGXF5yVBauuc3nyrnyDLcVYNmOkkdvt9euw5ixVg==", + "requires": { + "content-type": "^1.0.4", + "debug": "^4.3.2", + "file-type": "^16.5.1", + "media-typer": "^1.1.0", + "strtok3": "~6.1.3", + "token-types": "~3.0.0" + }, + "dependencies": { + "@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + }, + "file-type": { + "version": "16.5.3", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz", + "integrity": "sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==", + "requires": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + }, + "dependencies": { + "strtok3": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.2.4.tgz", + "integrity": "sha512-GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw==", + "requires": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^4.0.1" + } + }, + "token-types": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.1.1.tgz", + "integrity": "sha512-hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w==", + "requires": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + } + } + } + }, + "peek-readable": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.0.2.tgz", + "integrity": "sha512-9fMaz6zoxw9ypO1KZy5RDJgSupEtu0Q+g/OqqsVHX3rKGR8qehRLYzsFARZ4bVvdvfknKiXvuDbkMnO1g6cRpQ==" + } + } + }, + "music-metadata-browser": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/music-metadata-browser/-/music-metadata-browser-2.2.7.tgz", + "integrity": "sha512-SBCrvDiQq7n8WGaacRfgZaflH90lE0ccCblXeh91uJWO4lhK1pnwc1B9JyxMvdTv7eUa05yd2bkhCiyAXebNCA==", + "requires": { + "buffer": "^6.0.3", + "debug": "^4.0.1", + "music-metadata": "^7.8.8", + "readable-stream": "^3.6.0", + "readable-web-to-node-stream": "^3.0.1", + "typedarray-to-buffer": "^4.0.0" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-ipc": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz", + "integrity": "sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==", + "dev": true, + "requires": { + "event-pubsub": "4.3.0", + "js-message": "1.0.7", + "js-queue": "2.0.2" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "observable-fns": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/observable-fns/-/observable-fns-0.6.1.tgz", + "integrity": "sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==" + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + } + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "optional": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "optional": true + } + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" + }, + "parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" + }, + "parse-bmfont-xml": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", + "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", + "requires": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.4.5" + } + }, + "parse-headers": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", + "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "patch-package": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz", + "integrity": "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==", + "dev": true, + "requires": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^7.0.1", + "is-ci": "^2.0.0", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.0", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^5.6.0", + "slash": "^2.0.0", + "tmp": "^0.0.33" + }, + "dependencies": { + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "peek-readable": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.4.tgz", + "integrity": "sha512-DX7ec7frSMtCWw+zMd27f66hcxIz/w9LQTY2RflB4WNHCVPAye1pJiP2t3gvaaOhu7IOhtPbHw8MemMj+F5lrg==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "phin": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz", + "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==", + "dev": true + }, + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "requires": { + "pngjs": "^3.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + }, + "pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-selector-parser": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz", + "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "prettier": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "pretty-format": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz", + "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", + "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", + "dev": true, + "requires": { + "bytes": "3.1.1", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "requires": { + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpu-core": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "register-service-worker": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.2.tgz", + "integrity": "sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==" + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz", + "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==", + "dev": true, + "requires": { + "is-core-module": "^2.8.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.47.0.tgz", + "integrity": "sha512-GtXwvwgD7/6MLUZPnlA5/8cdRgC9SzT5kAnnJMRmEZQFRE3J56Foswig4NyyyQGsnmNvg6EUM/FP0Pe9Y2zywQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz", + "integrity": "sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "1.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } + } + }, + "sockjs-client": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz", + "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==", + "dev": true, + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz", + "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "dev": true, + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strtok3": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.1.3.tgz", + "integrity": "sha512-ssWSKFOeUTurMSucgyUf+a6Z9mVTYrsYiyEK5RLnh8BM6sFrKSljVlnjZXIDxMguYfdQI+mUPFHo88FYTxq1XA==", + "requires": { + "@tokenizer/token": "^0.1.1", + "peek-readable": "^3.1.4" + } + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + } + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } + }, + "threads": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/threads/-/threads-1.7.0.tgz", + "integrity": "sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==", + "requires": { + "callsites": "^3.1.0", + "debug": "^4.2.0", + "is-observable": "^2.1.0", + "observable-fns": "^0.6.1", + "tiny-worker": ">= 2" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + } + } + }, + "threads-plugin": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/threads-plugin/-/threads-plugin-1.4.0.tgz", + "integrity": "sha512-lQENPueZLsD+6Cvxvj/QaQyUskwnFZO+2ZGDMnPIvtytSeywWvYzete8paZ9L+5IR4v8jnSYNZPlIQrEhSK1EA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "throttle-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", + "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timm": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", + "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tiny-worker": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz", + "integrity": "sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==", + "optional": true, + "requires": { + "esm": "^3.2.25" + } + }, + "tinycolor2": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", + "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + }, + "dependencies": { + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + } + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "token-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-3.0.0.tgz", + "integrity": "sha512-1cV7R6TRKfCG1++se5xGy9fUpD+L1u/7XgmViGA1Y5bubHt6W4w1r1j0uOk+5ngM6yhssRJ+qR+IaviVgAizJA==", + "requires": { + "@tokenizer/token": "^0.1.1", + "ieee754": "^1.2.1" + } + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "ts-loader": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.2.2.tgz", + "integrity": "sha512-HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tslint": { + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", + "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.29.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "dependencies": { + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + } + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-4.0.0.tgz", + "integrity": "sha512-6dOYeZfS3O9RtRD1caom0sMxgK59b27+IwoNy8RDPsmslSGOyU+mpTamlaIW7aNKi90ZQZ9DFaZL3YRoiSCULQ==" + }, + "typescript": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", + "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + } + } + }, + "url-parse": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.4.tgz", + "integrity": "sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "utif": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "requires": { + "pako": "^1.0.5" + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-to-istanbul": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz", + "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "vue": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" + }, + "vue-cli-plugin-element": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-element/-/vue-cli-plugin-element-1.0.1.tgz", + "integrity": "sha512-OJSOnJtn7f1v/8xX+MJae+RrE8WguhiiG9QTBx/MNOPXYsxqut6Ommo+ZD3raNc7eryhqdM2T/DlMfdvIKpCtw==", + "dev": true + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-loader": { + "version": "15.9.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", + "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.8.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "optional": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "optional": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.19", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", + "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", + "dev": true, + "requires": { + "ansi-html-community": "0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", + "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", + "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", + "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==", + "dev": true + }, + "workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", + "dev": true, + "requires": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } + }, + "workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", + "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", + "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", + "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", + "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", + "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", + "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==", + "dev": true + }, + "workbox-webpack-plugin": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz", + "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "json-stable-stringify": "^1.0.1", + "workbox-build": "^4.3.1" + } + }, + "workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", + "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "dev": true, + "requires": { + "microevent.ts": "~0.1.1" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + }, + "dependencies": { + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + } + } + }, + "ws": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", + "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "dev": true, + "requires": {} + }, + "xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "requires": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "optional": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + } + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..8373728 --- /dev/null +++ b/package.json @@ -0,0 +1,59 @@ +{ + "name": "unlock-music", + "version": "1.10.3", + "ext_build": 0, + "updateInfo": "完善音乐标签编辑功能,支持编辑更多标签", + "license": "MIT", + "description": "Unlock encrypted music file in browser.", + "repository": { + "type": "git", + "url": "https://github.com/ix64/unlock-music" + }, + "private": true, + "scripts": { + "postinstall": "patch-package", + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "test": "jest", + "pretty": "prettier --write src/{**/*,*}.{js,ts,jsx,tsx,vue}", + "pretty:check": "prettier --check src/{**/*,*}.{js,ts,jsx,tsx,vue}", + "make-extension": "node ./make-extension.js" + }, + "dependencies": { + "@babel/preset-typescript": "^7.16.5", + "@jixun/kugou-crypto": "^1.0.3", + "@unlock-music/joox-crypto": "^0.0.1-R5", + "base64-js": "^1.5.1", + "browser-id3-writer": "^4.4.0", + "core-js": "^3.16.0", + "crypto-js": "^4.1.1", + "element-ui": "^2.15.5", + "iconv-lite": "^0.6.3", + "jimp": "^0.16.1", + "metaflac-js": "^1.0.5", + "music-metadata": "7.9.0", + "music-metadata-browser": "2.2.7", + "register-service-worker": "^1.7.2", + "threads": "^1.6.5", + "vue": "^2.6.14" + }, + "devDependencies": { + "@types/crypto-js": "^4.0.2", + "@types/jest": "^27.0.3", + "@vue/cli-plugin-babel": "^4.5.13", + "@vue/cli-plugin-pwa": "^4.5.13", + "@vue/cli-plugin-typescript": "^4.5.13", + "@vue/cli-service": "^4.5.13", + "babel-plugin-component": "^1.1.1", + "jest": "^27.4.5", + "patch-package": "^6.4.7", + "prettier": "2.5.1", + "sass": "^1.38.1", + "sass-loader": "^10.2.0", + "semver": "^7.3.5", + "threads-plugin": "^1.4.0", + "typescript": "^4.5.4", + "vue-cli-plugin-element": "^1.0.1", + "vue-template-compiler": "^2.6.14" + } +} \ No newline at end of file diff --git a/patches/threads+1.7.0.patch b/patches/threads+1.7.0.patch new file mode 100644 index 0000000..970b334 --- /dev/null +++ b/patches/threads+1.7.0.patch @@ -0,0 +1,11 @@ +diff --git a/node_modules/threads/worker.mjs b/node_modules/threads/worker.mjs +index c53ac7d..619007b 100644 +--- a/node_modules/threads/worker.mjs ++++ b/node_modules/threads/worker.mjs +@@ -1,4 +1,5 @@ +-import WorkerContext from "./dist/worker/index.js" ++// Workaround: use of import seems to break minifier. ++const WorkerContext = require("./dist/worker/index.js") + + export const expose = WorkerContext.expose + export const registerSerializer = WorkerContext.registerSerializer diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..961986e --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {} + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..14d2a312c221a836f257666d15d7fd8f71bb3aeb GIT binary patch literal 4286 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 M07*qoM6N<$f&=Jf&Hw-a literal 0 HcmV?d00001 diff --git a/public/img/icons/msapplication-icon-144x144.png b/public/img/icons/msapplication-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..feb4091d6ce1a6c5c148f275770f21290533177c GIT binary patch literal 7495 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 + + + + + + + + + + \ No newline at end of file diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..0b295d7 --- /dev/null +++ b/public/index.html @@ -0,0 +1,39 @@ + + + + + + + + 音乐解锁 + + + + + + + + +
+
+ +

请勿直接运行源代码!

+ + +
+
+ + + diff --git a/public/loader.js b/public/loader.js new file mode 100644 index 0000000..b257fa5 --- /dev/null +++ b/public/loader.js @@ -0,0 +1,25 @@ +(function () { + setTimeout(function () { + var ele = document.getElementById("loader-tips-timeout"); + if (ele != null) { + ele.hidden = false; + } + }, 2000); + + var ua = navigator && navigator.userAgent; + var detected = (function () { + var m; + if (!ua) return true; + if (/MSIE |Trident\//.exec(ua)) return true; // no IE + m = /Edge\/([\d.]+)/.exec(ua); // Edge >= 17 + if (m && Number(m[1]) < 17) return true; + m = /Chrome\/([\d.]+)/.exec(ua); // Chrome >= 58 + if (m && Number(m[1]) < 58) return true; + m = /Firefox\/([\d.]+)/.exec(ua); // Firefox >= 45 + return m && Number(m[1]) < 45; + })(); + if (detected) { + document.getElementById('loader-tips-outdated').hidden = false; + document.getElementById("loader-tips-timeout").hidden = false; + } +})(); diff --git a/scripts/build-and-package.sh b/scripts/build-and-package.sh new file mode 100755 index 0000000..5d8c6d7 --- /dev/null +++ b/scripts/build-and-package.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +set -ex + +cd "$(git rev-parse --show-toplevel)" + +VERSION="$(jq -r ".version" + + + + + + + 音乐解锁({{ version }}) + :移除已购音乐的加密保护。 + 使用提示 + + + 目前支持 网易云音乐(ncm), QQ音乐(qmc, mflac, mgg), 酷狗音乐(kgm), 虾米音乐(xm), 酷我音乐(.kwm) + 更多。 + + + + Copyright © 2019 - {{ new Date().getFullYear() }} MengYX + 音乐解锁使用 + MIT许可协议 + 开放源代码 + + + + + + + + diff --git a/src/KgmWasm/CMakeLists.txt b/src/KgmWasm/CMakeLists.txt new file mode 100644 index 0000000..1014b3b --- /dev/null +++ b/src/KgmWasm/CMakeLists.txt @@ -0,0 +1,65 @@ +# CMakeList.txt : CMake project for KgmWasm, include source and define +# project specific logic here. +# +cmake_minimum_required (VERSION 3.8) + +project ("KgmWasm") + +set(CMAKE_CXX_STANDARD 14) + +include_directories( + $ +) + +# Add source to this project's executable. +set(RUNTIME_METHODS_LIST + getValue + writeArrayToMemory + UTF8ToString +) +list(JOIN RUNTIME_METHODS_LIST "," RUNTIME_METHODS) + +set(EMSCRIPTEN_FLAGS + "--bind" + "-s NO_DYNAMIC_EXECUTION=1" + "-s MODULARIZE=1" + "-s EXPORT_NAME=KgmCryptoModule" + "-s EXPORTED_RUNTIME_METHODS=${RUNTIME_METHODS}" +) +set(EMSCRIPTEN_LEGACY_FLAGS + ${EMSCRIPTEN_FLAGS} + "-s WASM=0" + "--memory-init-file 0" +) +set(EMSCRIPTEN_WASM_BUNDLE_FLAGS + ${EMSCRIPTEN_FLAGS} + "-s SINGLE_FILE=1" +) + +list(JOIN EMSCRIPTEN_FLAGS " " EMSCRIPTEN_FLAGS_STR) +list(JOIN EMSCRIPTEN_LEGACY_FLAGS " " EMSCRIPTEN_LEGACY_FLAGS_STR) +list(JOIN EMSCRIPTEN_WASM_BUNDLE_FLAGS " " EMSCRIPTEN_WASM_BUNDLE_FLAGS_STR) + +# Define projects config +set(WASM_SOURCES + "KgmWasm.cpp" +) + +add_executable(KgmWasm ${WASM_SOURCES}) +set_target_properties( + KgmWasm + PROPERTIES LINK_FLAGS ${EMSCRIPTEN_FLAGS_STR} +) + +add_executable(KgmWasmBundle ${WASM_SOURCES}) +set_target_properties( + KgmWasmBundle + PROPERTIES LINK_FLAGS ${EMSCRIPTEN_WASM_BUNDLE_FLAGS_STR} +) + +add_executable(KgmLegacy ${WASM_SOURCES}) +set_target_properties( + KgmLegacy + PROPERTIES LINK_FLAGS ${EMSCRIPTEN_LEGACY_FLAGS_STR} +) + diff --git a/src/KgmWasm/KgmWasm.cpp b/src/KgmWasm/KgmWasm.cpp new file mode 100644 index 0000000..7901fed --- /dev/null +++ b/src/KgmWasm/KgmWasm.cpp @@ -0,0 +1,20 @@ +// KgmWasm.cpp : Defines the entry point for the application. +// + +#include "KgmWasm.h" + +#include "kgm.hpp" + +#include +#include + +size_t preDec(uintptr_t blob, size_t blobSize, std::string ext) +{ + return PreDec((uint8_t*)blob, blobSize, ext == "vpr"); +} + +void decBlob(uintptr_t blob, size_t blobSize, size_t offset) +{ + Decrypt((uint8_t*)blob, blobSize, offset); + return; +} diff --git a/src/KgmWasm/KgmWasm.h b/src/KgmWasm/KgmWasm.h new file mode 100644 index 0000000..0b1d7eb --- /dev/null +++ b/src/KgmWasm/KgmWasm.h @@ -0,0 +1,18 @@ +// KgmWasm.h : Include file for standard system include files, +// or project specific include files. + +#pragma once + +#include +#include + +namespace em = emscripten; + +size_t preDec(uintptr_t blob, size_t blobSize, std::string ext); +void decBlob(uintptr_t blob, size_t blobSize, size_t offset); + +EMSCRIPTEN_BINDINGS(QmcCrypto) +{ + em::function("preDec", &preDec, em::allow_raw_pointers()); + em::function("decBlob", &decBlob, em::allow_raw_pointers()); +} diff --git a/src/KgmWasm/README.md b/src/KgmWasm/README.md new file mode 100644 index 0000000..0ad5092 --- /dev/null +++ b/src/KgmWasm/README.md @@ -0,0 +1,9 @@ +# KgmWasm + +## 构建 + +在 Linux 环境下执行 `bash build-wasm` 即可构建。 + +## Build + +Linux environment required. Build wasm binary by execute `bash build-wasm`. diff --git a/src/KgmWasm/build-wasm b/src/KgmWasm/build-wasm new file mode 100755 index 0000000..599b97c --- /dev/null +++ b/src/KgmWasm/build-wasm @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +set -e + +pushd "$(realpath "$(dirname "$0")")" + +CURR_DIR="${PWD}" + +BUILD_TYPE="$1" +if [ -z "$BUILD_TYPE" ]; then + BUILD_TYPE=Release +fi + +# CI: already had emsdk installed. +if ! command -v emcc; then + if [ ! -d ../../build/emsdk ]; then + git clone https://github.com/emscripten-core/emsdk.git ../../build/emsdk + fi + + pushd ../../build/emsdk + ./emsdk install 3.0.0 + ./emsdk activate 3.0.0 + source ./emsdk_env.sh + popd # ../../build/emsdk +fi + +mkdir -p build/wasm +pushd build/wasm +emcmake cmake -DCMAKE_BUILD_TYPE="$BUILD_TYPE" ../.. +make -j +TARGET_FILES=" + KgmLegacy.js + KgmWasm.js + KgmWasm.wasm + KgmWasmBundle.js +" + +cp $TARGET_FILES "${CURR_DIR}/" +popd # build/wasm + +popd diff --git a/src/KgmWasm/kgm.hpp b/src/KgmWasm/kgm.hpp new file mode 100644 index 0000000..b3493e5 --- /dev/null +++ b/src/KgmWasm/kgm.hpp @@ -0,0 +1,112 @@ +#include + +std::vector VprHeader = { + 0x05, 0x28, 0xBC, 0x96, 0xE9, 0xE4, 0x5A, 0x43, + 0x91, 0xAA, 0xBD, 0xD0, 0x7A, 0xF5, 0x36, 0x31 }; +std::vector KgmHeader = { + 0x7C, 0xD5, 0x32, 0xEB, 0x86, 0x02, 0x7F, 0x4B, + 0xA8, 0xAF, 0xA6, 0x8E, 0x0F, 0xFF, 0x99, 0x14 }; +std::vector VprMaskDiff = { + 0x25, 0xDF, 0xE8, 0xA6, 0x75, 0x1E, 0x75, 0x0E, + 0x2F, 0x80, 0xF3, 0x2D, 0xB8, 0xB6, 0xE3, 0x11, 0x00 }; + +std::vector MaskV2; + +std::vector table1 = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x21, 0x01, 0x61, 0x01, 0x21, 0x01, 0xe1, 0x01, 0x21, 0x01, 0x61, 0x01, 0x21, 0x01, + 0xd2, 0x23, 0x02, 0x02, 0x42, 0x42, 0x02, 0x02, 0xc2, 0xc2, 0x02, 0x02, 0x42, 0x42, 0x02, 0x02, + 0xd3, 0xd3, 0x02, 0x03, 0x63, 0x43, 0x63, 0x03, 0xe3, 0xc3, 0xe3, 0x03, 0x63, 0x43, 0x63, 0x03, + 0x94, 0xb4, 0x94, 0x65, 0x04, 0x04, 0x04, 0x04, 0x84, 0x84, 0x84, 0x84, 0x04, 0x04, 0x04, 0x04, + 0x95, 0x95, 0x95, 0x95, 0x04, 0x05, 0x25, 0x05, 0xe5, 0x85, 0xa5, 0x85, 0xe5, 0x05, 0x25, 0x05, + 0xd6, 0xb6, 0x96, 0xb6, 0xd6, 0x27, 0x06, 0x06, 0xc6, 0xc6, 0x86, 0x86, 0xc6, 0xc6, 0x06, 0x06, + 0xd7, 0xd7, 0x97, 0x97, 0xd7, 0xd7, 0x06, 0x07, 0xe7, 0xc7, 0xe7, 0x87, 0xe7, 0xc7, 0xe7, 0x07, + 0x18, 0x38, 0x18, 0x78, 0x18, 0x38, 0x18, 0xe9, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x08, 0x09, 0x29, 0x09, 0x69, 0x09, 0x29, 0x09, + 0xda, 0x3a, 0x1a, 0x3a, 0x5a, 0x3a, 0x1a, 0x3a, 0xda, 0x2b, 0x0a, 0x0a, 0x4a, 0x4a, 0x0a, 0x0a, + 0xdb, 0xdb, 0x1b, 0x1b, 0x5b, 0x5b, 0x1b, 0x1b, 0xdb, 0xdb, 0x0a, 0x0b, 0x6b, 0x4b, 0x6b, 0x0b, + 0x9c, 0xbc, 0x9c, 0x7c, 0x1c, 0x3c, 0x1c, 0x7c, 0x9c, 0xbc, 0x9c, 0x6d, 0x0c, 0x0c, 0x0c, 0x0c, + 0x9d, 0x9d, 0x9d, 0x9d, 0x1d, 0x1d, 0x1d, 0x1d, 0x9d, 0x9d, 0x9d, 0x9d, 0x0c, 0x0d, 0x2d, 0x0d, + 0xde, 0xbe, 0x9e, 0xbe, 0xde, 0x3e, 0x1e, 0x3e, 0xde, 0xbe, 0x9e, 0xbe, 0xde, 0x2f, 0x0e, 0x0e, + 0xdf, 0xdf, 0x9f, 0x9f, 0xdf, 0xdf, 0x1f, 0x1f, 0xdf, 0xdf, 0x9f, 0x9f, 0xdf, 0xdf, 0x0e, 0x0f, + 0x00, 0x20, 0x00, 0x60, 0x00, 0x20, 0x00, 0xe0, 0x00, 0x20, 0x00, 0x60, 0x00, 0x20, 0x00, 0xf1 +}; + +std::vector table2 = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x23, 0x01, 0x67, 0x01, 0x23, 0x01, 0xef, 0x01, 0x23, 0x01, 0x67, 0x01, 0x23, 0x01, + 0xdf, 0x21, 0x02, 0x02, 0x46, 0x46, 0x02, 0x02, 0xce, 0xce, 0x02, 0x02, 0x46, 0x46, 0x02, 0x02, + 0xde, 0xde, 0x02, 0x03, 0x65, 0x47, 0x65, 0x03, 0xed, 0xcf, 0xed, 0x03, 0x65, 0x47, 0x65, 0x03, + 0x9d, 0xbf, 0x9d, 0x63, 0x04, 0x04, 0x04, 0x04, 0x8c, 0x8c, 0x8c, 0x8c, 0x04, 0x04, 0x04, 0x04, + 0x9c, 0x9c, 0x9c, 0x9c, 0x04, 0x05, 0x27, 0x05, 0xeb, 0x8d, 0xaf, 0x8d, 0xeb, 0x05, 0x27, 0x05, + 0xdb, 0xbd, 0x9f, 0xbd, 0xdb, 0x25, 0x06, 0x06, 0xca, 0xca, 0x8e, 0x8e, 0xca, 0xca, 0x06, 0x06, + 0xda, 0xda, 0x9e, 0x9e, 0xda, 0xda, 0x06, 0x07, 0xe9, 0xcb, 0xe9, 0x8f, 0xe9, 0xcb, 0xe9, 0x07, + 0x19, 0x3b, 0x19, 0x7f, 0x19, 0x3b, 0x19, 0xe7, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, 0x09, 0x2b, 0x09, 0x6f, 0x09, 0x2b, 0x09, + 0xd7, 0x39, 0x1b, 0x39, 0x5f, 0x39, 0x1b, 0x39, 0xd7, 0x29, 0x0a, 0x0a, 0x4e, 0x4e, 0x0a, 0x0a, + 0xd6, 0xd6, 0x1a, 0x1a, 0x5e, 0x5e, 0x1a, 0x1a, 0xd6, 0xd6, 0x0a, 0x0b, 0x6d, 0x4f, 0x6d, 0x0b, + 0x95, 0xb7, 0x95, 0x7b, 0x1d, 0x3f, 0x1d, 0x7b, 0x95, 0xb7, 0x95, 0x6b, 0x0c, 0x0c, 0x0c, 0x0c, + 0x94, 0x94, 0x94, 0x94, 0x1c, 0x1c, 0x1c, 0x1c, 0x94, 0x94, 0x94, 0x94, 0x0c, 0x0d, 0x2f, 0x0d, + 0xd3, 0xb5, 0x97, 0xb5, 0xd3, 0x3d, 0x1f, 0x3d, 0xd3, 0xb5, 0x97, 0xb5, 0xd3, 0x2d, 0x0e, 0x0e, + 0xd2, 0xd2, 0x96, 0x96, 0xd2, 0xd2, 0x1e, 0x1e, 0xd2, 0xd2, 0x96, 0x96, 0xd2, 0xd2, 0x0e, 0x0f, + 0x00, 0x22, 0x00, 0x66, 0x00, 0x22, 0x00, 0xee, 0x00, 0x22, 0x00, 0x66, 0x00, 0x22, 0x00, 0xfe +}; + +std::vector MaskV2PreDef = { + 0xB8, 0xD5, 0x3D, 0xB2, 0xE9, 0xAF, 0x78, 0x8C, 0x83, 0x33, 0x71, 0x51, 0x76, 0xA0, 0xCD, 0x37, + 0x2F, 0x3E, 0x35, 0x8D, 0xA9, 0xBE, 0x98, 0xB7, 0xE7, 0x8C, 0x22, 0xCE, 0x5A, 0x61, 0xDF, 0x68, + 0x69, 0x89, 0xFE, 0xA5, 0xB6, 0xDE, 0xA9, 0x77, 0xFC, 0xC8, 0xBD, 0xBD, 0xE5, 0x6D, 0x3E, 0x5A, + 0x36, 0xEF, 0x69, 0x4E, 0xBE, 0xE1, 0xE9, 0x66, 0x1C, 0xF3, 0xD9, 0x02, 0xB6, 0xF2, 0x12, 0x9B, + 0x44, 0xD0, 0x6F, 0xB9, 0x35, 0x89, 0xB6, 0x46, 0x6D, 0x73, 0x82, 0x06, 0x69, 0xC1, 0xED, 0xD7, + 0x85, 0xC2, 0x30, 0xDF, 0xA2, 0x62, 0xBE, 0x79, 0x2D, 0x62, 0x62, 0x3D, 0x0D, 0x7E, 0xBE, 0x48, + 0x89, 0x23, 0x02, 0xA0, 0xE4, 0xD5, 0x75, 0x51, 0x32, 0x02, 0x53, 0xFD, 0x16, 0x3A, 0x21, 0x3B, + 0x16, 0x0F, 0xC3, 0xB2, 0xBB, 0xB3, 0xE2, 0xBA, 0x3A, 0x3D, 0x13, 0xEC, 0xF6, 0x01, 0x45, 0x84, + 0xA5, 0x70, 0x0F, 0x93, 0x49, 0x0C, 0x64, 0xCD, 0x31, 0xD5, 0xCC, 0x4C, 0x07, 0x01, 0x9E, 0x00, + 0x1A, 0x23, 0x90, 0xBF, 0x88, 0x1E, 0x3B, 0xAB, 0xA6, 0x3E, 0xC4, 0x73, 0x47, 0x10, 0x7E, 0x3B, + 0x5E, 0xBC, 0xE3, 0x00, 0x84, 0xFF, 0x09, 0xD4, 0xE0, 0x89, 0x0F, 0x5B, 0x58, 0x70, 0x4F, 0xFB, + 0x65, 0xD8, 0x5C, 0x53, 0x1B, 0xD3, 0xC8, 0xC6, 0xBF, 0xEF, 0x98, 0xB0, 0x50, 0x4F, 0x0F, 0xEA, + 0xE5, 0x83, 0x58, 0x8C, 0x28, 0x2C, 0x84, 0x67, 0xCD, 0xD0, 0x9E, 0x47, 0xDB, 0x27, 0x50, 0xCA, + 0xF4, 0x63, 0x63, 0xE8, 0x97, 0x7F, 0x1B, 0x4B, 0x0C, 0xC2, 0xC1, 0x21, 0x4C, 0xCC, 0x58, 0xF5, + 0x94, 0x52, 0xA3, 0xF3, 0xD3, 0xE0, 0x68, 0xF4, 0x00, 0x23, 0xF3, 0x5E, 0x0A, 0x7B, 0x93, 0xDD, + 0xAB, 0x12, 0xB2, 0x13, 0xE8, 0x84, 0xD7, 0xA7, 0x9F, 0x0F, 0x32, 0x4C, 0x55, 0x1D, 0x04, 0x36, + 0x52, 0xDC, 0x03, 0xF3, 0xF9, 0x4E, 0x42, 0xE9, 0x3D, 0x61, 0xEF, 0x7C, 0xB6, 0xB3, 0x93, 0x50, +}; + +uint8_t getMask(size_t pos) { + size_t offset = pos >> 4; + uint8_t value = 0; + while (offset >= 0x11) { + value ^= table1[offset % 272]; + offset >>= 4; + value ^= table2[offset % 272]; + offset >>= 4; + } + + return MaskV2PreDef[pos % 272] ^ value; +} + +std::vector key(17); +bool isVpr = false; + +size_t PreDec(uint8_t* fileData, size_t size, bool iV) { + uint32_t headerLen = *(uint32_t*)(fileData + 0x10); + memcpy(key.data(), (fileData + 0x1C), 0x10); + key[16] = 0; + isVpr = iV; + return headerLen; +} + +void Decrypt(uint8_t* fileData, size_t size, size_t offset) { + for (size_t i = 0; i < size; ++i) { + uint8_t med8 = key[(i + offset) % 17] ^ fileData[i]; + med8 ^= (med8 & 0xf) << 4; + + uint8_t msk8 = getMask(i + offset); + msk8 ^= (msk8 & 0xf) << 4; + fileData[i] = med8 ^ msk8; + + if (isVpr) { + fileData[i] ^= VprMaskDiff[(i + offset) % 17]; + } + } +} diff --git a/src/QmcWasm/CMakeLists.txt b/src/QmcWasm/CMakeLists.txt new file mode 100644 index 0000000..066268a --- /dev/null +++ b/src/QmcWasm/CMakeLists.txt @@ -0,0 +1,65 @@ +# CMakeList.txt : CMake project for QmcWasm, include source and define +# project specific logic here. +# +cmake_minimum_required (VERSION 3.8) + +project ("QmcWasm") + +set(CMAKE_CXX_STANDARD 14) + +include_directories( + $ +) + +# Add source to this project's executable. +set(RUNTIME_METHODS_LIST + getValue + writeArrayToMemory + UTF8ToString +) +list(JOIN RUNTIME_METHODS_LIST "," RUNTIME_METHODS) + +set(EMSCRIPTEN_FLAGS + "--bind" + "-s NO_DYNAMIC_EXECUTION=1" + "-s MODULARIZE=1" + "-s EXPORT_NAME=QmcCryptoModule" + "-s EXPORTED_RUNTIME_METHODS=${RUNTIME_METHODS}" +) +set(EMSCRIPTEN_LEGACY_FLAGS + ${EMSCRIPTEN_FLAGS} + "-s WASM=0" + "--memory-init-file 0" +) +set(EMSCRIPTEN_WASM_BUNDLE_FLAGS + ${EMSCRIPTEN_FLAGS} + "-s SINGLE_FILE=1" +) + +list(JOIN EMSCRIPTEN_FLAGS " " EMSCRIPTEN_FLAGS_STR) +list(JOIN EMSCRIPTEN_LEGACY_FLAGS " " EMSCRIPTEN_LEGACY_FLAGS_STR) +list(JOIN EMSCRIPTEN_WASM_BUNDLE_FLAGS " " EMSCRIPTEN_WASM_BUNDLE_FLAGS_STR) + +# Define projects config +set(WASM_SOURCES + "QmcWasm.cpp" +) + +add_executable(QmcWasm ${WASM_SOURCES}) +set_target_properties( + QmcWasm + PROPERTIES LINK_FLAGS ${EMSCRIPTEN_FLAGS_STR} +) + +add_executable(QmcWasmBundle ${WASM_SOURCES}) +set_target_properties( + QmcWasmBundle + PROPERTIES LINK_FLAGS ${EMSCRIPTEN_WASM_BUNDLE_FLAGS_STR} +) + +add_executable(QmcLegacy ${WASM_SOURCES}) +set_target_properties( + QmcLegacy + PROPERTIES LINK_FLAGS ${EMSCRIPTEN_LEGACY_FLAGS_STR} +) + diff --git a/src/QmcWasm/QmcWasm.cpp b/src/QmcWasm/QmcWasm.cpp new file mode 100644 index 0000000..f4fc8c0 --- /dev/null +++ b/src/QmcWasm/QmcWasm.cpp @@ -0,0 +1,57 @@ +// QmcWasm.cpp : Defines the entry point for the application. +// + +#include "QmcWasm.h" + +#include "qmc.hpp" + +#include +#include + +std::string err = ""; +std::string sid = ""; +QmcDecode e; + +int preDec(uintptr_t blob, size_t blobSize, std::string ext) +{ + if (!e.SetBlob((uint8_t*)blob, blobSize)) + { + err = "cannot allocate memory"; + return -1; + } + int tailSize = e.PreDecode(ext); + if (e.error != "") + { + err = e.error; + return -1; + } + sid = e.songId; + return tailSize; +} + +size_t decBlob(uintptr_t blob, size_t blobSize, size_t offset) +{ + if (!e.SetBlob((uint8_t*)blob, blobSize)) + { + err = "cannot allocate memory"; + return 0; + } + std::vector decData = e.Decode(offset); + if (e.error != "") + { + err = e.error; + return 0; + } + memcpy((uint8_t*)blob, decData.data(), decData.size()); + return decData.size(); +} + +std::string getErr() +{ + return err; +} + +std::string getSongId() +{ + return sid; +} diff --git a/src/QmcWasm/QmcWasm.h b/src/QmcWasm/QmcWasm.h new file mode 100644 index 0000000..6fd63bf --- /dev/null +++ b/src/QmcWasm/QmcWasm.h @@ -0,0 +1,23 @@ +// QmcWasm.h : Include file for standard system include files, +// or project specific include files. + +#pragma once + +#include +#include + +namespace em = emscripten; + +int preDec(uintptr_t blob, size_t blobSize, std::string ext); +size_t decBlob(uintptr_t blob, size_t blobSize, size_t offset); +std::string getErr(); +std::string getSongId(); + +EMSCRIPTEN_BINDINGS(QmcCrypto) +{ + em::function("getErr", &getErr); + em::function("getSongId", &getSongId); + + em::function("preDec", &preDec, em::allow_raw_pointers()); + em::function("decBlob", &decBlob, em::allow_raw_pointers()); +} diff --git a/src/QmcWasm/README.md b/src/QmcWasm/README.md new file mode 100644 index 0000000..035fe65 --- /dev/null +++ b/src/QmcWasm/README.md @@ -0,0 +1,9 @@ +# QmcWasm + +## 构建 + +在 Linux 环境下执行 `bash build-wasm` 即可构建。 + +## Build + +Linux environment required. Build wasm binary by execute `bash build-wasm`. diff --git a/src/QmcWasm/TencentTea.hpp b/src/QmcWasm/TencentTea.hpp new file mode 100644 index 0000000..4f635a7 --- /dev/null +++ b/src/QmcWasm/TencentTea.hpp @@ -0,0 +1,289 @@ +#ifndef QQMUSIC_CPP_TENCENTTEA_HPP +#define QQMUSIC_CPP_TENCENTTEA_HPP + +#include +#include +#include +#include +#include +#include + +const uint32_t DELTA = 0x9e3779b9; + +#define ROUNDS 32 +#define SALT_LEN 2 +#define ZERO_LEN 7 + +void TeaDecryptECB(uint8_t* src, uint8_t* dst, std::vector key, size_t rounds = ROUNDS) { + if (key.size() != 16 || (rounds & 1) != 0) + { + return; + } + uint32_t y, z, sum; + uint32_t k[4]; + int i; + + //now encrypted buf is TCP/IP-endian; + //TCP/IP network byte order (which is big-endian). + y = ntohl(*((uint32_t*)src)); + z = ntohl(*((uint32_t*)(src + 4))); + //std::cout << ntohl(0x0a3aea41); + + for (i = 0; i < 4; i++) { + //key is TCP/IP-endian; + k[i] = ntohl(*((uint32_t*)(key.data() + i * 4))); + } + + sum = (DELTA * rounds); + for (i = 0; i < rounds; i++) { + z -= ((y << 4) + k[2]) ^ (y + sum) ^ ((y >> 5) + k[3]); + y -= ((z << 4) + k[0]) ^ (z + sum) ^ ((z >> 5) + k[1]); + sum -= DELTA; + } + + *((uint32_t*)dst) = ntohl(y); + *((uint32_t*)(dst + 4)) = ntohl(z); + + //now plain-text is TCP/IP-endian; +} + +void TeaEncryptECB(uint8_t* src, uint8_t* dst, std::vector key, size_t rounds = ROUNDS) { + if (key.size() != 16 || (rounds & 1) != 0) + { + return; + } + uint32_t y, z, sum; + uint32_t k[4]; + int i; + + //now encrypted buf is TCP/IP-endian; + //TCP/IP network byte order (which is big-endian). + y = ntohl(*((uint32_t*)src)); + z = ntohl(*((uint32_t*)(src + 4))); + //std::cout << ntohl(0x0a3aea41); + + for (i = 0; i < 4; i++) { + //key is TCP/IP-endian; + k[i] = ntohl(*((uint32_t*)(key.data() + i * 4))); + } + + sum = 0; + for (i = 0; i < rounds; i++) { + sum += DELTA; + y += ((z << 4) + k[0]) ^ (z + sum) ^ ((z >> 5) + k[1]); + z += ((y << 4) + k[2]) ^ (y + sum) ^ ((y >> 5) + k[3]); + } + + *((uint32_t*)dst) = ntohl(y); + *((uint32_t*)(dst + 4)) = ntohl(z); + + //now plain-text is TCP/IP-endian; +} + +/*pKeyΪ16byte*/ +/* + :nInBufLenΪܵIJ(Body); + :Ϊܺij(8byteı); +*/ +/*TEA㷨,CBCģʽ*/ +/*ĸʽ:PadLen(1byte)+Padding(var,0-7byte)+Salt(2byte)+Body(var byte)+Zero(7byte)*/ +int encryptTencentTeaLen(int nInBufLen) +{ + + int nPadSaltBodyZeroLen/*PadLen(1byte)+Salt+Body+Zeroij*/; + int nPadlen; + + /*BodyȼPadLen,С賤ȱΪ8byte*/ + nPadSaltBodyZeroLen = nInBufLen/*Body*/ + 1 + SALT_LEN + ZERO_LEN/*PadLen(1byte)+Salt(2byte)+Zero(7byte)*/; + if ((nPadlen = nPadSaltBodyZeroLen % 8)) /*len=nSaltBodyZeroLen%8*/ + { + /*ģ80貹0,17,26,...,71*/ + nPadlen = 8 - nPadlen; + } + + return nPadlen; +} + +/*pKeyΪ16byte*/ +/* + :pInBufΪܵIJ(Body),nInBufLenΪpInBuf; + :pOutBufΪĸʽ,pOutBufLenΪpOutBufij8byteı; +*/ +/*TEA㷨,CBCģʽ*/ +/*ĸʽ:PadLen(1byte)+Padding(var,0-7byte)+Salt(2byte)+Body(var byte)+Zero(7byte)*/ +bool encryptTencentTea(std::vector inBuf, std::vector key, std::vector &outBuf) +{ + srand(time(0)); + int nPadlen = encryptTencentTeaLen(inBuf.size()); + size_t ivCrypt; + std::vector srcBuf; + srcBuf.resize(8); + std::vector ivPlain; + ivPlain.resize(8); + int tmpIdx, i, j; + + /*ܵһ(8byte),ȡǰ10byte*/ + srcBuf[0] = (((char)rand()) & 0x0f8)/*λPadLen,*/ | (char)nPadlen; + tmpIdx = 1; /*tmpIdxָsrcBufһλ*/ + + while (nPadlen--) srcBuf[tmpIdx++] = (char)rand(); /*Padding*/ + + /*come here, tmpIdx must <= 8*/ + + for (i = 0; i < 8; i++) ivPlain[i] = 0; + ivCrypt = 0;//ivPlain /*make zero iv*/ + + auto outBufPos = 0; /*init outBufPos*/ + +#define cryptBlock {\ + /*tmpIdx==8*/\ + outBuf.resize(outBuf.size() + 8);\ + for (j = 0; j < 8; j++) /*ǰǰ8byte(iv_cryptָ)*/\ + srcBuf[j] ^= outBuf[j + ivCrypt];\ + /*pOutBufferpInBufferΪ8byte, pKeyΪ16byte*/\ + /**/\ + TeaEncryptECB(srcBuf.data(), outBuf.data()+outBufPos, key, 16);\ + for (j = 0; j < 8; j++) /*ܺǰ8byte(iv_plainָ)*/\ + outBuf[j + outBufPos] ^= ivPlain[j];\ + /*浱ǰiv_plain*/\ + for (j = 0; j < 8; j++) ivPlain[j] = srcBuf[j];\ + /*iv_crypt*/\ + tmpIdx = 0;\ + ivCrypt = outBufPos;\ + outBufPos += 8;\ + } + + + for (i = 1; i <= SALT_LEN;) /*Salt(2byte)*/ + { + if (tmpIdx < 8) + { + srcBuf[tmpIdx++] = (char)rand(); + i++; /*i inc in here*/ + } + if (tmpIdx == 8) + { + cryptBlock + } + } + + /*tmpIdxָsrcBufһλ*/ + + auto inBufPos = 0; + while (inBufPos < inBuf.size()) + { + if (tmpIdx < 8) + { + srcBuf[tmpIdx++] = inBuf[inBufPos]; + inBufPos++; + } + if (tmpIdx == 8) + { + cryptBlock + } + } + + /*tmpIdxָsrcBufһλ*/ + + for (i = 1; i <= ZERO_LEN;) + { + if (tmpIdx < 8) + { + srcBuf[tmpIdx++] = 0; + i++; //i inc in here + } + if (tmpIdx == 8) + { + cryptBlock + } + } + return true; +#undef cryptBlock +} + +bool decryptTencentTea(std::vector inBuf, std::vector key, std::vector &out) { + if (inBuf.size() % 8 != 0) { + return false; + //inBuf size not a multiple of the block size + } + if (inBuf.size() < 16) { + return false; + //inBuf size too small + } + + std::vector tmpBuf; + tmpBuf.resize(8); + + TeaDecryptECB(inBuf.data(), tmpBuf.data(), key, 16); + + auto nPadLen = tmpBuf[0] & 0x7; //ֻҪλ + /*ĸʽ:PadLen(1byte)+Padding(var,0-7byte)+Salt(2byte)+Body(var byte)+Zero(7byte)*/ + auto outLen = inBuf.size() - 1 /*PadLen*/ - nPadLen - SALT_LEN - ZERO_LEN; + std::vector outBuf; + outBuf.resize(outLen); + + std::vector ivPrev; + ivPrev.resize(8); + std::vector ivCur; + ivCur.resize(8); + for (size_t i = 0; i < 8; i++) + { + ivCur[i] = inBuf[i]; // init iv + } + auto inBufPos = 8; + + // Padding Len Padding + auto tmpIdx = 1 + nPadLen; + + // CBC IV +#define cryptBlock {\ + ivPrev = ivCur;\ + for (size_t k = inBufPos; k < inBufPos + 8; k++)\ + {\ + ivCur[k - inBufPos] = inBuf[k];\ + }\ + for (size_t j = 0; j < 8; j++) {\ + tmpBuf[j] ^= ivCur[j];\ + }\ + TeaDecryptECB(tmpBuf.data(), tmpBuf.data(), key, 16);\ + inBufPos += 8;\ + tmpIdx = 0;\ + } + + // Salt + for (size_t i = 1; i <= SALT_LEN; ) { + if (tmpIdx < 8) { + tmpIdx++; + i++; + } + else { + cryptBlock + } + } + + // ԭ + auto outBufPos = 0; + while (outBufPos < outLen) { + if (tmpIdx < 8) { + outBuf[outBufPos] = tmpBuf[tmpIdx] ^ ivPrev[tmpIdx]; + outBufPos++; + tmpIdx++; + } + else { + cryptBlock + } + } + + // УZero + for (size_t i = 1; i <= ZERO_LEN; i++) { + if (tmpBuf[i] != ivPrev[i]) { + return false; + //zero check failed + } + } + out = outBuf; + return true; +#undef cryptBlock +} + +#endif //QQMUSIC_CPP_TENCENTTEA_HPP diff --git a/src/QmcWasm/base64.hpp b/src/QmcWasm/base64.hpp new file mode 100644 index 0000000..b3b6aca --- /dev/null +++ b/src/QmcWasm/base64.hpp @@ -0,0 +1,207 @@ +// +// Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com) +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// Official repository: https://github.com/boostorg/beast +// + +/* + Portions from http://www.adp-gmbh.ch/cpp/common/base64.html + Copyright notice: + + base64.cpp and base64.h + + Copyright (C) 2004-2008 Rene Nyffenegger + + This source code is provided 'as-is', without any express or implied + warranty. In no event will the author be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this source code must not be misrepresented; you must not + claim that you wrote the original source code. If you use this source code + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original source code. + + 3. This notice may not be removed or altered from any source distribution. + + Rene Nyffenegger rene.nyffenegger@adp-gmbh.ch +*/ + +#ifndef BASE64_HPP +#define BASE64_HPP + +#include +#include +#include + +namespace base64 { + + /// Returns max chars needed to encode a base64 string + std::size_t constexpr + encoded_size(std::size_t n) + { + return 4 * ((n + 2) / 3); + } + + /// Returns max bytes needed to decode a base64 string + inline + std::size_t constexpr + decoded_size(std::size_t n) + { + return n / 4 * 3; // requires n&3==0, smaller + } + + char const* + get_alphabet() + { + static char constexpr tab[] = { + "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + }; + return &tab[0]; + } + + signed char const* + get_inverse() + { + static signed char constexpr tab[] = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 0-15 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 16-31 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, // 32-47 + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, // 48-63 + -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, // 64-79 + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, // 80-95 + -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, // 96-111 + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, // 112-127 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 128-143 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 144-159 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 160-175 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 176-191 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 192-207 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 208-223 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 224-239 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 240-255 + }; + return &tab[0]; + } + + /** Encode a series of octets as a padded, base64 string. + + The resulting string will not be null terminated. + + @par Requires + + The memory pointed to by `out` points to valid memory + of at least `encoded_size(len)` bytes. + + @return The number of characters written to `out`. This + will exclude any null termination. + */ + std::size_t + encode(void* dest, void const* src, std::size_t len) + { + char* out = static_cast(dest); + char const* in = static_cast(src); + auto const tab = base64::get_alphabet(); + + for (auto n = len / 3; n--;) + { + *out++ = tab[(in[0] & 0xfc) >> 2]; + *out++ = tab[((in[0] & 0x03) << 4) + ((in[1] & 0xf0) >> 4)]; + *out++ = tab[((in[2] & 0xc0) >> 6) + ((in[1] & 0x0f) << 2)]; + *out++ = tab[in[2] & 0x3f]; + in += 3; + } + + switch (len % 3) + { + case 2: + *out++ = tab[(in[0] & 0xfc) >> 2]; + *out++ = tab[((in[0] & 0x03) << 4) + ((in[1] & 0xf0) >> 4)]; + *out++ = tab[(in[1] & 0x0f) << 2]; + *out++ = '='; + break; + + case 1: + *out++ = tab[(in[0] & 0xfc) >> 2]; + *out++ = tab[((in[0] & 0x03) << 4)]; + *out++ = '='; + *out++ = '='; + break; + + case 0: + break; + } + + return out - static_cast(dest); + } + + /** Decode a padded base64 string into a series of octets. + + @par Requires + + The memory pointed to by `out` points to valid memory + of at least `decoded_size(len)` bytes. + + @return The number of octets written to `out`, and + the number of characters read from the input string, + expressed as a pair. + */ + std::pair + decode(void* dest, char const* src, std::size_t len) + { + char* out = static_cast(dest); + auto in = reinterpret_cast(src); + unsigned char c3[3], c4[4]; + int i = 0; + int j = 0; + + auto const inverse = base64::get_inverse(); + + while (len-- && *in != '=') + { + auto const v = inverse[*in]; + if (v == -1) + break; + ++in; + c4[i] = v; + if (++i == 4) + { + c3[0] = (c4[0] << 2) + ((c4[1] & 0x30) >> 4); + c3[1] = ((c4[1] & 0xf) << 4) + ((c4[2] & 0x3c) >> 2); + c3[2] = ((c4[2] & 0x3) << 6) + c4[3]; + + for (i = 0; i < 3; i++) + *out++ = c3[i]; + i = 0; + } + } + + if (i) + { + c3[0] = (c4[0] << 2) + ((c4[1] & 0x30) >> 4); + c3[1] = ((c4[1] & 0xf) << 4) + ((c4[2] & 0x3c) >> 2); + c3[2] = ((c4[2] & 0x3) << 6) + c4[3]; + + for (j = 0; j < i - 1; j++) + *out++ = c3[j]; + } + + return { out - static_cast(dest), + in - reinterpret_cast(src) }; + } + +} // base64 + +#endif diff --git a/src/QmcWasm/build-wasm b/src/QmcWasm/build-wasm new file mode 100755 index 0000000..4cd1640 --- /dev/null +++ b/src/QmcWasm/build-wasm @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +set -e + +pushd "$(realpath "$(dirname "$0")")" + +CURR_DIR="${PWD}" + +BUILD_TYPE="$1" +if [ -z "$BUILD_TYPE" ]; then + BUILD_TYPE=Release +fi + +# CI: already had emsdk installed. +if ! command -v emcc; then + if [ ! -d ../../build/emsdk ]; then + git clone https://github.com/emscripten-core/emsdk.git ../../build/emsdk + fi + + pushd ../../build/emsdk + ./emsdk install 3.0.0 + ./emsdk activate 3.0.0 + source ./emsdk_env.sh + popd # ../../build/emsdk +fi + +mkdir -p build/wasm +pushd build/wasm +emcmake cmake -DCMAKE_BUILD_TYPE="$BUILD_TYPE" ../.. +make -j +TARGET_FILES=" + QmcLegacy.js + QmcWasm.js + QmcWasm.wasm + QmcWasmBundle.js +" + +cp $TARGET_FILES "${CURR_DIR}/" +popd # build/wasm + +popd diff --git a/src/QmcWasm/qmc.hpp b/src/QmcWasm/qmc.hpp new file mode 100644 index 0000000..3f26ecf --- /dev/null +++ b/src/QmcWasm/qmc.hpp @@ -0,0 +1,230 @@ +#include +#include +#include +#include +#include "qmc_key.hpp" +#include "qmc_cipher.hpp" + +class QmcDecode { +private: + std::vector blobData; + + std::vector rawKeyBuf; + std::string cipherType = ""; + + size_t dataOffset = 0; + size_t keySize = 0; + int mediaVer = 0; + + std::string checkType(std::string fn) { + if (fn.find(".qmc") < fn.size() || fn.find(".m") < fn.size()) + { + std::string buf_tag = ""; + for (int i = 4; i > 0; --i) + { + buf_tag += *((char*)blobData.data() + blobData.size() - i); + } + if (buf_tag == "QTag") + { + keySize = ntohl(*(uint32_t*)(blobData.data() + blobData.size() - 8)); + return "QTag"; + } + else if (buf_tag == "STag") + { + return "STag"; + } + else + { + keySize = (*(uint32_t*)(blobData.data() + blobData.size() - 4)); + if (keySize < 0x400) + { + return "Map/RC4"; + } + else + { + keySize = 0; + return "Static"; + } + } + } + else if (fn.find(".cache") < fn.size()) + { + return "cache"; + } + else if (fn.find(".tm") < fn.size()) + { + return "ios"; + } + else + { + return "invalid"; + } + } + + bool parseRawKeyQTag() { + std::string ketStr = ""; + std::string::size_type index = 0; + ketStr.append((char*)rawKeyBuf.data(), rawKeyBuf.size()); + index = ketStr.find(",", 0); + if (index != std::string::npos) + { + rawKeyBuf.resize(index); + } + else + { + return false; + } + ketStr = ketStr.substr(index + 1); + index = ketStr.find(",", 0); + if (index != std::string::npos) + { + this->songId = ketStr.substr(0, index); + } + else + { + return false; + } + ketStr = ketStr.substr(index + 1); + index = ketStr.find(",", 0); + if (index == std::string::npos) + { + this->mediaVer = std::stoi(ketStr); + } + else + { + return false; + } + return true; + } + + bool readRawKey(size_t tailSize) { + // get raw key data length + rawKeyBuf.resize(keySize); + if (rawKeyBuf.size() != keySize) { + return false; + } + for (size_t i = 0; i < keySize; i++) + { + rawKeyBuf[i] = blobData[i + blobData.size() - (tailSize + keySize)]; + } + return true; + } + + void DecodeStatic(); + + void DecodeMapRC4(); + + void DecodeCache(); + + void DecodeTm(); + +public: + bool SetBlob(uint8_t* blob, size_t blobSize) { + blobData.resize(blobSize); + if (blobData.size() != blobSize) { + return false; + } + memcpy(blobData.data(), blob, blobSize); + return true; + } + + int PreDecode(std::string ext) { + cipherType = checkType(ext); + size_t tailSize = 0; + if (cipherType == "invalid" || cipherType == "STag") { + error = "file is invalid or not supported (Please downgrade your app)."; + return -1; + } + if (cipherType == "QTag") { + tailSize = 8; + } + else if (cipherType == "Map/RC4") { + tailSize = 4; + } + if (keySize > 0) { + if (!readRawKey(tailSize)) { + error = "cannot read embedded key from file"; + return -1; + } + if (tailSize == 8) { + cipherType = "Map/RC4"; + if (!parseRawKeyQTag()) { + error = "cannot parse embedded key"; + return -1; + } + } + std::vector tmp; + if (!QmcDecryptKey(rawKeyBuf, tmp)) { + error = "cannot decrypt embedded key"; + return -1; + } + rawKeyBuf = tmp; + } + return keySize + tailSize; + } + + std::vector Decode(size_t offset); + + std::string songId = ""; + std::string error = ""; +}; + +void QmcDecode::DecodeStatic() +{ + QmcStaticCipher sc; + sc.proc(blobData, dataOffset); +} + +void QmcDecode::DecodeMapRC4() { + if (rawKeyBuf.size() > 300) + { + QmcRC4Cipher c(rawKeyBuf, 2); + c.proc(blobData, dataOffset); + } + else + { + QmcMapCipher c(rawKeyBuf, 2); + c.proc(blobData, dataOffset); + } +} + +void QmcDecode::DecodeCache() +{ + for (size_t i = 0; i < blobData.size(); i++) { + blobData[i] ^= 0xf4; + blobData[i] = ((blobData[i] & 0b00111111) << 2) | (blobData[i] >> 6); // rol 2 + } +} + +void QmcDecode::DecodeTm() +{ + uint8_t const TM_HEADER[] = { 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70 }; + for (size_t cur = dataOffset, i = 0; cur < 8 && i < blobData.size(); ++cur, ++i) { + blobData[i] = TM_HEADER[dataOffset]; + } +} + +std::vector QmcDecode::Decode(size_t offset) +{ + dataOffset = offset; + if (cipherType == "Map/RC4") + { + DecodeMapRC4(); + } + else if (cipherType == "Static") + { + DecodeStatic(); + } + else if (cipherType == "cache") + { + DecodeCache(); + } + else if (cipherType == "ios") + { + DecodeTm(); + } + else { + error = "File is invalid or encryption type is not supported."; + } + return blobData; +} diff --git a/src/QmcWasm/qmc_cipher.hpp b/src/QmcWasm/qmc_cipher.hpp new file mode 100644 index 0000000..8dc2b18 --- /dev/null +++ b/src/QmcWasm/qmc_cipher.hpp @@ -0,0 +1,290 @@ +#include +#include +class QmcStaticCipher { +private: + uint8_t staticCipherBox[256] = { + 0x77, 0x48, 0x32, 0x73, 0xDE, 0xF2, 0xC0, 0xC8, //0x00 + 0x95, 0xEC, 0x30, 0xB2, 0x51, 0xC3, 0xE1, 0xA0, //0x08 + 0x9E, 0xE6, 0x9D, 0xCF, 0xFA, 0x7F, 0x14, 0xD1, //0x10 + 0xCE, 0xB8, 0xDC, 0xC3, 0x4A, 0x67, 0x93, 0xD6, //0x18 + 0x28, 0xC2, 0x91, 0x70, 0xCA, 0x8D, 0xA2, 0xA4, //0x20 + 0xF0, 0x08, 0x61, 0x90, 0x7E, 0x6F, 0xA2, 0xE0, //0x28 + 0xEB, 0xAE, 0x3E, 0xB6, 0x67, 0xC7, 0x92, 0xF4, //0x30 + 0x91, 0xB5, 0xF6, 0x6C, 0x5E, 0x84, 0x40, 0xF7, //0x38 + 0xF3, 0x1B, 0x02, 0x7F, 0xD5, 0xAB, 0x41, 0x89, //0x40 + 0x28, 0xF4, 0x25, 0xCC, 0x52, 0x11, 0xAD, 0x43, //0x48 + 0x68, 0xA6, 0x41, 0x8B, 0x84, 0xB5, 0xFF, 0x2C, //0x50 + 0x92, 0x4A, 0x26, 0xD8, 0x47, 0x6A, 0x7C, 0x95, //0x58 + 0x61, 0xCC, 0xE6, 0xCB, 0xBB, 0x3F, 0x47, 0x58, //0x60 + 0x89, 0x75, 0xC3, 0x75, 0xA1, 0xD9, 0xAF, 0xCC, //0x68 + 0x08, 0x73, 0x17, 0xDC, 0xAA, 0x9A, 0xA2, 0x16, //0x70 + 0x41, 0xD8, 0xA2, 0x06, 0xC6, 0x8B, 0xFC, 0x66, //0x78 + 0x34, 0x9F, 0xCF, 0x18, 0x23, 0xA0, 0x0A, 0x74, //0x80 + 0xE7, 0x2B, 0x27, 0x70, 0x92, 0xE9, 0xAF, 0x37, //0x88 + 0xE6, 0x8C, 0xA7, 0xBC, 0x62, 0x65, 0x9C, 0xC2, //0x90 + 0x08, 0xC9, 0x88, 0xB3, 0xF3, 0x43, 0xAC, 0x74, //0x98 + 0x2C, 0x0F, 0xD4, 0xAF, 0xA1, 0xC3, 0x01, 0x64, //0xA0 + 0x95, 0x4E, 0x48, 0x9F, 0xF4, 0x35, 0x78, 0x95, //0xA8 + 0x7A, 0x39, 0xD6, 0x6A, 0xA0, 0x6D, 0x40, 0xE8, //0xB0 + 0x4F, 0xA8, 0xEF, 0x11, 0x1D, 0xF3, 0x1B, 0x3F, //0xB8 + 0x3F, 0x07, 0xDD, 0x6F, 0x5B, 0x19, 0x30, 0x19, //0xC0 + 0xFB, 0xEF, 0x0E, 0x37, 0xF0, 0x0E, 0xCD, 0x16, //0xC8 + 0x49, 0xFE, 0x53, 0x47, 0x13, 0x1A, 0xBD, 0xA4, //0xD0 + 0xF1, 0x40, 0x19, 0x60, 0x0E, 0xED, 0x68, 0x09, //0xD8 + 0x06, 0x5F, 0x4D, 0xCF, 0x3D, 0x1A, 0xFE, 0x20, //0xE0 + 0x77, 0xE4, 0xD9, 0xDA, 0xF9, 0xA4, 0x2B, 0x76, //0xE8 + 0x1C, 0x71, 0xDB, 0x00, 0xBC, 0xFD, 0x0C, 0x6C, //0xF0 + 0xA5, 0x47, 0xF7, 0xF6, 0x00, 0x79, 0x4A, 0x11 //0xF8 + }; + + uint8_t getMask(size_t offset) { + if (offset > 0x7fff) offset %= 0x7fff; + return staticCipherBox[(offset * offset + 27) & 0xff]; + } + +public: + void proc(std::vector& buf, size_t offset) { + for (size_t i = 0; i < buf.size(); i++) { + buf[i] ^= getMask(offset + i); + } + } +}; + +class QmcMapCipher { +private: + std::vector key; + + uint8_t rotate(uint8_t value, size_t bits) { + auto rotate = (bits + 4) % 8; + auto left = value << rotate; + auto right = value >> rotate; + return (left | right) & 0xff; + } + + uint8_t getMask(size_t offset) { + if (offset > 0x7fff) offset %= 0x7fff; + + const auto idx = (offset * offset + 71214) % key.size(); + return rotate(key[idx], idx & 0x7); + } + +public: + QmcMapCipher(std::vector &argKey, short operation) { + if (operation == 2) + { + if (argKey.size() == 0) { + return; + } + } + else if (operation == 1) + { + const char WordList[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + srand(time(0)); + uint32_t number = 0; + while (number > 300 || number == 0) + { + number = rand(); + } + argKey.resize(number); + for (int i = 0; i < argKey.size(); i++) { + number = rand(); + argKey[i] = WordList[number % 62]; + } + } + else + { + return; + } + + key = argKey; + } + + void proc(std::vector& buf, size_t offset) { + for (size_t i = 0; i < buf.size(); i++) { + buf[i] ^= getMask(offset + i); + } + } +}; + +class QmcRC4Cipher { +public: + void proc(std::vector& buf, size_t offset) { + // Macro: common code after each process +#define postProcess(len) \ + { \ + toProcess -= len; \ + processed += len; \ + offset += len; \ + /* no more data */ \ + if (toProcess == 0) { \ + return; \ + } \ + } + + size_t toProcess = buf.size(); + size_t processed = 0; + std::vector tmpbuf; + + // ǰ 128 ֽʹòͬĽܷ + if (offset < FIRST_SEGMENT_SIZE) { + size_t len_segment = std::min(FIRST_SEGMENT_SIZE - offset, buf.size()); + tmpbuf.resize(len_segment); + for (size_t i = 0; i < len_segment; i++) + { + tmpbuf[i] = buf[processed + i]; + } + procFirstSegment(tmpbuf, offset); + for (size_t i = 0; i < len_segment; i++) + { + buf[processed + i] = tmpbuf[i]; + } + postProcess(len_segment); + } + + + // + if (offset % SEGMENT_SIZE != 0) { + size_t len_segment = std::min(SEGMENT_SIZE - (offset % SEGMENT_SIZE), toProcess); + tmpbuf.resize(len_segment); + for (size_t i = 0; i < len_segment; i++) + { + tmpbuf[i] = buf[processed + i]; + } + procASegment(tmpbuf, offset); + for (size_t i = 0; i < len_segment; i++) + { + buf[processed + i] = tmpbuf[i]; + } + postProcess(len_segment); + } + + // ÿһн + while (toProcess > SEGMENT_SIZE) { + tmpbuf.resize(SEGMENT_SIZE); + for (size_t i = 0; i < SEGMENT_SIZE; i++) + { + tmpbuf[i] = buf[processed + i]; + } + procASegment(tmpbuf, offset); + for (size_t i = 0; i < SEGMENT_SIZE; i++) + { + buf[processed + i] = tmpbuf[i]; + } + postProcess(SEGMENT_SIZE); + } + + if (toProcess > 0) { + tmpbuf.resize(toProcess); + for (size_t i = 0; i < toProcess; i++) + { + tmpbuf[i] = buf[processed + i]; + } + procASegment(tmpbuf, offset); + for (size_t i = 0; i < toProcess; i++) + { + buf[processed + i] = tmpbuf[i]; + } + } + +#undef postProcess + } + + QmcRC4Cipher(std::vector& argKey, short operation) { + if (operation == 2) + { + if (argKey.size() == 0) { + return; + } + } + else if (operation == 1) + { + const char WordList[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + srand(time(0)); + uint32_t number = 0; + while (number <= 300 || number >= 512) + { + number = rand(); + } + argKey.resize(number); + for (int i = 0; i < argKey.size(); i++) { + number = rand(); + argKey[i] = WordList[number % 62]; + } + } + else + { + return; + } + + key = argKey; + + // init seed box + S.resize(key.size()); + for (size_t i = 0; i < key.size(); ++i) { + S[i] = i & 0xff; + } + size_t j = 0; + for (size_t i = 0; i < key.size(); ++i) { + j = (S[i] + j + key[i % key.size()]) % key.size(); + std::swap(S[i], S[j]); + } + + // init hash base + hash = 1; + for (size_t i = 0; i < key.size(); i++) { + uint8_t value = key[i]; + + // ignore if key char is '\x00' + if (!value) continue; + + auto next_hash = hash * value; + if (next_hash == 0 || next_hash <= hash) break; + + hash = next_hash; + } + } + +private: + const size_t FIRST_SEGMENT_SIZE = 0x80; + const size_t SEGMENT_SIZE = 5120; + + std::vector S; + std::vector key; + uint32_t hash = 1; + + void procFirstSegment(std::vector& buf, size_t offset) { + for (size_t i = 0; i < buf.size(); i++) { + buf[i] ^= key[getSegmentKey(offset + i)]; + } + } + + void procASegment(std::vector& buf, size_t offset) { + // Initialise a new seed box + std::vector nS; + nS = S; + + // Calculate the number of bytes to skip. + // The initial "key" derived from segment id, plus the current offset. + int64_t skipLen = (offset % SEGMENT_SIZE) + getSegmentKey(int(offset / SEGMENT_SIZE)); + + // decrypt the block + size_t j = 0; + size_t k = 0; + int i = -skipLen; + for (; i < (int)buf.size(); i++) { + j = (j + 1) % key.size(); + k = (nS[j] + k) % key.size(); + std::swap(nS[k], nS[j]); + + if (i >= 0) { + buf[i] ^= nS[(nS[j] + nS[k]) % key.size()]; + } + } + } + + uint64_t getSegmentKey(int id) { + auto seed = key[id % key.size()]; + uint64_t idx = ((double)hash / ((id + 1) * seed)) * 100.0; + return idx % key.size(); + } +}; diff --git a/src/QmcWasm/qmc_key.hpp b/src/QmcWasm/qmc_key.hpp new file mode 100644 index 0000000..f3178cd --- /dev/null +++ b/src/QmcWasm/qmc_key.hpp @@ -0,0 +1,217 @@ +#include"TencentTea.hpp" +#include "base64.hpp" + +void simpleMakeKey(uint8_t salt, int length, std::vector &key_buf) { + for (size_t i = 0; i < length; ++i) { + double tmp = tan((float)salt + (double)i * 0.1); + key_buf[i] = 0xFF & (uint8_t)(fabs(tmp) * 100.0); + } +} + +std::vector v2KeyPrefix = { 0x51, 0x51, 0x4D, 0x75, 0x73, 0x69, 0x63, 0x20, 0x45, 0x6E, 0x63, 0x56, 0x32, 0x2C, 0x4B, 0x65, 0x79, 0x3A }; + +bool decryptV2Key(std::vector key, std::vector& outVec) +{ + if (v2KeyPrefix.size() > key.size()) + { + return true; + } + for (size_t i = 0; i < v2KeyPrefix.size(); i++) + { + if (key[i] != v2KeyPrefix[i]) + { + return true; + } + } + + std::vector mixKey1 = { 0x33, 0x38, 0x36, 0x5A, 0x4A, 0x59, 0x21, 0x40, 0x23, 0x2A, 0x24, 0x25, 0x5E, 0x26, 0x29, 0x28 }; + std::vector mixKey2 = { 0x2A, 0x2A, 0x23, 0x21, 0x28, 0x23, 0x24, 0x25, 0x26, 0x5E, 0x61, 0x31, 0x63, 0x5A, 0x2C, 0x54 }; + + std::vector out; + std::vector tmpKey; + tmpKey.resize(key.size() - 18); + for (size_t i = 0; i < tmpKey.size(); i++) + { + tmpKey[i] = key[18 + i]; + } + if (!decryptTencentTea(tmpKey, mixKey1, out)) + { + outVec.resize(0); + //EncV2 key decode failed. + return false; + } + + tmpKey.resize(out.size()); + for (size_t i = 0; i < tmpKey.size(); i++) + { + tmpKey[i] = out[i]; + } + out.resize(0); + if (!decryptTencentTea(tmpKey, mixKey2, out)) + { + outVec.resize(0); + //EncV2 key decode failed. + return false; + } + + outVec.resize(base64::decoded_size(out.size())); + auto n = base64::decode(outVec.data(), (const char*)(out.data()), out.size()).first; + + if (n < 16) + { + outVec.resize(0); + //EncV2 key size is too small. + return false; + } + outVec.resize(n); + + return true; +} + +bool encryptV2Key(std::vector key, std::vector& outVec) +{ + if (key.size() < 16) + { + outVec.resize(0); + //EncV2 key size is too small. + return false; + } + + std::vector in; + in.resize(base64::encoded_size(key.size())); + auto n = base64::encode(in.data(), (const char*)(key.data()), key.size()); + in.resize(n); + + std::vector mixKey1 = { 0x33, 0x38, 0x36, 0x5A, 0x4A, 0x59, 0x21, 0x40, 0x23, 0x2A, 0x24, 0x25, 0x5E, 0x26, 0x29, 0x28 }; + std::vector mixKey2 = { 0x2A, 0x2A, 0x23, 0x21, 0x28, 0x23, 0x24, 0x25, 0x26, 0x5E, 0x61, 0x31, 0x63, 0x5A, 0x2C, 0x54 }; + + std::vector tmpKey; + if (!encryptTencentTea(in, mixKey2, tmpKey)) + { + outVec.resize(0); + //EncV2 key decode failed. + return false; + } + in.resize(tmpKey.size()); + for (size_t i = 0; i < tmpKey.size(); i++) + { + in[i] = tmpKey[i]; + } + tmpKey.resize(0); + + if (!encryptTencentTea(in, mixKey1, tmpKey)) + { + outVec.resize(0); + //EncV2 key decode failed. + return false; + } + outVec.resize(tmpKey.size() + 18); + for (size_t i = 0; i < tmpKey.size(); i++) + { + outVec[18 + i] = tmpKey[i]; + } + + for (size_t i = 0; i < v2KeyPrefix.size(); i++) + { + outVec[i] = v2KeyPrefix[i]; + } + + return true; +} + +bool QmcDecryptKey(std::vector raw, std::vector &outVec) { + std::vector rawDec; + rawDec.resize(base64::decoded_size(raw.size())); + auto n = base64::decode(rawDec.data(), (const char*)(raw.data()), raw.size()).first; + if (n < 16) { + return false; + //key length is too short + } + rawDec.resize(n); + + std::vector tmpIn = rawDec; + if (!decryptV2Key(tmpIn, rawDec)) + { + //decrypt EncV2 failed. + return false; + } + + std::vector simpleKey; + simpleKey.resize(8); + simpleMakeKey(106, 8, simpleKey); + std::vector teaKey; + teaKey.resize(16); + for (size_t i = 0; i < 8; i++) { + teaKey[i << 1] = simpleKey[i]; + teaKey[(i << 1) + 1] = rawDec[i]; + } + std::vector out; + std::vector tmpRaw; + tmpRaw.resize(rawDec.size() - 8); + for (size_t i = 0; i < tmpRaw.size(); i++) + { + tmpRaw[i] = rawDec[8 + i]; + } + if (decryptTencentTea(tmpRaw, teaKey, out)) + { + rawDec.resize(8 + out.size()); + for (size_t i = 0; i < out.size(); i++) + { + rawDec[8 + i] = out[i]; + } + outVec = rawDec; + return true; + } + else + { + return false; + } +} + +bool QmcEncryptKey(std::vector raw, std::vector& outVec, bool useEncV2 = true) { + std::vector simpleKey; + simpleKey.resize(8); + simpleMakeKey(106, 8, simpleKey); + std::vector teaKey; + teaKey.resize(16); + for (size_t i = 0; i < 8; i++) { + teaKey[i << 1] = simpleKey[i]; + teaKey[(i << 1) + 1] = raw[i]; + } + std::vector out; + out.resize(raw.size() - 8); + for (size_t i = 0; i < out.size(); i++) + { + out[i] = raw[8 + i]; + } + std::vector tmpRaw; + if (encryptTencentTea(out, teaKey, tmpRaw)) + { + raw.resize(tmpRaw.size() + 8); + for (size_t i = 0; i < tmpRaw.size(); i++) + { + raw[i + 8] = tmpRaw[i]; + } + + if (useEncV2) + { + std::vector tmpIn = raw; + if (!encryptV2Key(tmpIn, raw)) + { + //encrypt EncV2 failed. + return false; + } + } + + std::vector rawEnc; + rawEnc.resize(base64::encoded_size(raw.size())); + auto n = base64::encode(rawEnc.data(), (const char*)(raw.data()), raw.size()); + rawEnc.resize(n); + outVec = rawEnc; + return true; + } + else + { + return false; + } +} diff --git a/src/__test__/setup_jest.js b/src/__test__/setup_jest.js new file mode 100644 index 0000000..c7b47bf --- /dev/null +++ b/src/__test__/setup_jest.js @@ -0,0 +1,2 @@ +// Polyfill for node. +global.Blob = global.Blob || require("node:buffer").Blob; diff --git a/src/component/ConfigDialog.vue b/src/component/ConfigDialog.vue new file mode 100644 index 0000000..8523f02 --- /dev/null +++ b/src/component/ConfigDialog.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/src/component/EditDialog.vue b/src/component/EditDialog.vue new file mode 100644 index 0000000..06ff53e --- /dev/null +++ b/src/component/EditDialog.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/src/component/FileSelector.vue b/src/component/FileSelector.vue new file mode 100644 index 0000000..058bfcd --- /dev/null +++ b/src/component/FileSelector.vue @@ -0,0 +1,91 @@ + + + diff --git a/src/component/PreviewTable.vue b/src/component/PreviewTable.vue new file mode 100644 index 0000000..64cdf1f --- /dev/null +++ b/src/component/PreviewTable.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/component/Ruby.vue b/src/component/Ruby.vue new file mode 100644 index 0000000..14ede6b --- /dev/null +++ b/src/component/Ruby.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/decrypt/__test__/fixture/joox_1.bin b/src/decrypt/__test__/fixture/joox_1.bin new file mode 100644 index 0000000000000000000000000000000000000000..5ffe3764a794749cbdfb68511017c21f4a9d9011 GIT binary patch literal 28 fcmZ=&G%#U+0Pga}zpgLcJNleAKbW>KTgDLpVb}>P literal 0 HcmV?d00001 diff --git a/src/decrypt/__test__/fixture/qmc_cache_expected.bin b/src/decrypt/__test__/fixture/qmc_cache_expected.bin new file mode 100644 index 0000000000000000000000000000000000000000..a1a0f6de2e3c114841f8068a189ecd11f7416535 GIT binary patch literal 256 zcmV+b0ssEf*W2I2$IH+2_xu0j=j-p2mz$r1hl`K1x4XZir>n11S6g30M@vt0cYA+h zXKQa07aJb~2MZ4~H#&p}_WJ(f=IZW}mYSY|hKi1|wz|HermC(| zR$5*{MoLa{c6xqdW@>H{78)J`1_}-`Hab2cCMqt`)!E&_#mUX__4)nb<>~E_m6@G^ zg^7)^wYj~arKzn^Rasp@MM+I@b$NYZWoc~@6&W1?1qlr?H90*YB`Gb?)Y#m>#K_F> z^!WVXl$e}=gouo=w79&Wq^PV=R9IX; +const extractQQMusicMeta = extractQQMusicMetaOrig as jest.MockedFunction; + +const TEST_UUID_ZEROS = ''.padStart(32, '0'); +const encryptedFile1 = fs.readFileSync(__dirname + '/fixture/joox_1.bin'); + +describe('decrypt/joox', () => { + it('should be able to decrypt sample file (v4)', async () => { + loadJooxUUID.mockResolvedValue(TEST_UUID_ZEROS); + extractQQMusicMeta.mockImplementationOnce(async (blob: Blob) => { + return { + title: 'unused', + album: 'unused', + blob: blob, + artist: 'unused', + imgUrl: 'https://github.com/unlock-music', + }; + }); + + const result = await decryptJoox(new Blob([encryptedFile1]), 'test.bin', 'bin'); + const resultBuf = await result.blob.arrayBuffer(); + expect(resultBuf).toEqual(Buffer.from('Hello World', 'utf-8').buffer); + }); + + it('should reject E!99 files', async () => { + loadJooxUUID.mockResolvedValue(TEST_UUID_ZEROS); + + const input = new Blob([Buffer.from('E!99....')]); + await expect(decryptJoox(input, 'test.bin', 'bin')).rejects.toThrow('不支持的 joox 加密格式'); + }); + + it('should reject empty uuid', async () => { + loadJooxUUID.mockResolvedValue(''); + const input = new Blob([encryptedFile1]); + await expect(decryptJoox(input, 'test.bin', 'bin')).rejects.toThrow('UUID'); + }); + + it('should reject invalid uuid', async () => { + loadJooxUUID.mockResolvedValue('hello!'); + const input = new Blob([encryptedFile1]); + await expect(decryptJoox(input, 'test.bin', 'bin')).rejects.toThrow('UUID'); + }); +}); diff --git a/src/decrypt/entity.ts b/src/decrypt/entity.ts new file mode 100644 index 0000000..f2f6831 --- /dev/null +++ b/src/decrypt/entity.ts @@ -0,0 +1,25 @@ +export interface DecryptResult { + title: string; + album?: string; + artist?: string; + + mime: string; + ext: string; + + file: string; + blob: Blob; + picture?: string; + + message?: string; + rawExt?: string; + rawFilename?: string; +} + +export interface FileInfo { + status: string; + name: string; + size: number; + percentage: number; + uid: number; + raw: File; +} diff --git a/src/decrypt/index.ts b/src/decrypt/index.ts new file mode 100644 index 0000000..e7c464b --- /dev/null +++ b/src/decrypt/index.ts @@ -0,0 +1,115 @@ +import { Decrypt as Mg3dDecrypt } from '@/decrypt/mg3d'; +import { Decrypt as NcmDecrypt } from '@/decrypt/ncm'; +import { Decrypt as NcmCacheDecrypt } from '@/decrypt/ncmcache'; +import { Decrypt as XmDecrypt } from '@/decrypt/xm'; +import { Decrypt as QmcDecrypt } from '@/decrypt/qmc'; +import { Decrypt as QmcCacheDecrypt } from '@/decrypt/qmccache'; +import { Decrypt as KgmDecrypt } from '@/decrypt/kgm'; +import { Decrypt as KwmDecrypt } from '@/decrypt/kwm'; +import { Decrypt as RawDecrypt } from '@/decrypt/raw'; +import { Decrypt as TmDecrypt } from '@/decrypt/tm'; +import { Decrypt as JooxDecrypt } from '@/decrypt/joox'; +import { Decrypt as XimalayaDecrypt } from './ximalaya'; +import { DecryptResult, FileInfo } from '@/decrypt/entity'; +import { SplitFilename } from '@/decrypt/utils'; +import { storage } from '@/utils/storage'; +import InMemoryStorage from '@/utils/storage/InMemoryStorage'; + +export async function Decrypt(file: FileInfo, config: Record): Promise { + // Worker thread will fallback to in-memory storage. + if (storage instanceof InMemoryStorage) { + await storage.setAll(config); + } + + const raw = SplitFilename(file.name); + let rt_data: DecryptResult; + switch (raw.ext) { + case 'mg3d': // Migu Wav + rt_data = await Mg3dDecrypt(file.raw, raw.name); + break; + case 'ncm': // Netease Mp3/Flac + rt_data = await NcmDecrypt(file.raw, raw.name, raw.ext); + break; + case 'uc': // Netease Cache + rt_data = await NcmCacheDecrypt(file.raw, raw.name, raw.ext); + break; + case 'kwm': // Kuwo Mp3/Flac + rt_data = await KwmDecrypt(file.raw, raw.name, raw.ext); + break; + case 'xm': // Xiami Wav/M4a/Mp3/Flac + case 'wav': // Xiami/Raw Wav + case 'mp3': // Xiami/Raw Mp3 + case 'flac': // Xiami/Raw Flac + case 'm4a': // Xiami/Raw M4a + rt_data = await XmDecrypt(file.raw, raw.name, raw.ext); + break; + case 'ogg': // Raw Ogg + rt_data = await RawDecrypt(file.raw, raw.name, raw.ext); + break; + case 'tm0': // QQ Music IOS Mp3 + case 'tm3': // QQ Music IOS Mp3 + rt_data = await RawDecrypt(file.raw, raw.name, 'mp3'); + break; + case 'qmc0': //QQ Music Android Mp3 + case 'qmc3': //QQ Music Android Mp3 + case 'qmc2': //QQ Music Android Ogg + case 'qmc4': //QQ Music Android Ogg + case 'qmc6': //QQ Music Android Ogg + case 'qmc8': //QQ Music Android Ogg + case 'qmcflac': //QQ Music Android Flac + case 'qmcogg': //QQ Music Android Ogg + case 'tkm': //QQ Music Accompaniment M4a + // Moo Music + case 'bkcmp3': + case 'bkcm4a': + case 'bkcflac': + case 'bkcwav': + case 'bkcape': + case 'bkcogg': + case 'bkcwma': + // QQ Music v2 + case 'mggl': //QQ Music Mac + case 'mflac': //QQ Music New Flac + case 'mflac0': //QQ Music New Flac + case 'mflach': //QQ Music New Flac + case 'mgg': //QQ Music New Ogg + case 'mgg1': //QQ Music New Ogg + case 'mgg0': + case 'mmp4': // QMC MP4 Container w/ E-AC-3 JOC + case '666c6163': //QQ Music Weiyun Flac + case '6d7033': //QQ Music Weiyun Mp3 + case '6f6767': //QQ Music Weiyun Ogg + case '6d3461': //QQ Music Weiyun M4a + case '776176': //QQ Music Weiyun Wav + rt_data = await QmcDecrypt(file.raw, raw.name, raw.ext); + break; + case 'tm2': // QQ Music IOS M4a + case 'tm6': // QQ Music IOS M4a + rt_data = await TmDecrypt(file.raw, raw.name); + break; + case 'cache': //QQ Music Cache + rt_data = await QmcCacheDecrypt(file.raw, raw.name, raw.ext); + break; + case 'vpr': + case 'kgm': + case 'kgma': + rt_data = await KgmDecrypt(file.raw, raw.name, raw.ext); + break; + case 'ofl_en': + rt_data = await JooxDecrypt(file.raw, raw.name, raw.ext); + break; + case 'x2m': + case 'x3m': + rt_data = await XimalayaDecrypt(file.raw, raw.name, raw.ext); + break; + case 'mflach': //QQ Music New Flac + throw '网页版无法解锁,请使用CLI版本' + default: + throw '不支持此文件格式'; + } + + if (!rt_data.rawExt) rt_data.rawExt = raw.ext; + if (!rt_data.rawFilename) rt_data.rawFilename = raw.name; + console.log(rt_data); + return rt_data; +} diff --git a/src/decrypt/joox.ts b/src/decrypt/joox.ts new file mode 100644 index 0000000..1cbfcd1 --- /dev/null +++ b/src/decrypt/joox.ts @@ -0,0 +1,44 @@ +import jooxFactory from '@unlock-music/joox-crypto'; + +import { DecryptResult } from './entity'; +import { AudioMimeType, GetArrayBuffer, SniffAudioExt } from './utils'; + +import { MergeUint8Array } from '@/utils/MergeUint8Array'; +import { storage } from '@/utils/storage'; +import { extractQQMusicMeta } from '@/utils/qm_meta'; + +export async function Decrypt(file: Blob, raw_filename: string, raw_ext: string): Promise { + const uuid = await storage.loadJooxUUID(''); + if (!uuid || uuid.length !== 32) { + throw new Error('请在“解密设定”填写应用 Joox 应用的 UUID。'); + } + + const fileBuffer = new Uint8Array(await GetArrayBuffer(file)); + const decryptor = jooxFactory(fileBuffer, uuid); + if (!decryptor) { + throw new Error('不支持的 joox 加密格式'); + } + + const musicDecoded = MergeUint8Array(decryptor.decryptFile(fileBuffer)); + const ext = SniffAudioExt(musicDecoded); + const mime = AudioMimeType[ext]; + + const songId = raw_filename.match(/^(\d+)\s\[mqms\d*]$/i)?.[1]; + const { album, artist, imgUrl, blob, title } = await extractQQMusicMeta( + new Blob([musicDecoded], { type: mime }), + raw_filename, + ext, + songId, + ); + + return { + title: title, + artist: artist, + ext: ext, + album: album, + picture: imgUrl, + file: URL.createObjectURL(blob), + blob: blob, + mime: mime, + }; +} diff --git a/src/decrypt/kgm.ts b/src/decrypt/kgm.ts new file mode 100644 index 0000000..ca3afa6 --- /dev/null +++ b/src/decrypt/kgm.ts @@ -0,0 +1,77 @@ +import { + AudioMimeType, + BytesHasPrefix, + GetArrayBuffer, + GetCoverFromFile, + GetMetaFromFile, + SniffAudioExt, +} from '@/decrypt/utils'; +import { parseBlob as metaParseBlob } from 'music-metadata-browser'; +import { DecryptResult } from '@/decrypt/entity'; +import { DecryptKgmWasm } from '@/decrypt/kgm_wasm'; +import { decryptKgmByteAtOffsetV2, decryptVprByteAtOffset } from '@jixun/kugou-crypto/dist/utils/decryptionHelper'; + +//prettier-ignore +const VprHeader = [ + 0x05, 0x28, 0xBC, 0x96, 0xE9, 0xE4, 0x5A, 0x43, + 0x91, 0xAA, 0xBD, 0xD0, 0x7A, 0xF5, 0x36, 0x31 +] +//prettier-ignore +const KgmHeader = [ + 0x7C, 0xD5, 0x32, 0xEB, 0x86, 0x02, 0x7F, 0x4B, + 0xA8, 0xAF, 0xA6, 0x8E, 0x0F, 0xFF, 0x99, 0x14 +] + +export async function Decrypt(file: File, raw_filename: string, raw_ext: string): Promise { + const oriData = await GetArrayBuffer(file); + if (raw_ext === 'vpr') { + if (!BytesHasPrefix(new Uint8Array(oriData), VprHeader)) throw Error('Not a valid vpr file!'); + } else { + if (!BytesHasPrefix(new Uint8Array(oriData), KgmHeader)) throw Error('Not a valid kgm(a) file!'); + } + let musicDecoded: Uint8Array | undefined; + if (globalThis.WebAssembly) { + console.log('kgm: using wasm decoder'); + + const kgmDecrypted = await DecryptKgmWasm(oriData, raw_ext); + if (kgmDecrypted.success) { + musicDecoded = kgmDecrypted.data; + console.log('kgm wasm decoder suceeded'); + } else { + console.warn('KgmWasm failed with error %s', kgmDecrypted.error || '(unknown error)'); + } + } + + if (!musicDecoded) { + musicDecoded = new Uint8Array(oriData); + let bHeaderLen = new DataView(musicDecoded.slice(0x10, 0x14).buffer); + let headerLen = bHeaderLen.getUint32(0, true); + + let key1 = Array.from(musicDecoded.slice(0x1c, 0x2c)); + key1.push(0); + + musicDecoded = musicDecoded.slice(headerLen); + let dataLen = musicDecoded.length; + + const decryptByte = raw_ext === 'vpr' ? decryptVprByteAtOffset : decryptKgmByteAtOffsetV2; + for (let i = 0; i < dataLen; i++) { + musicDecoded[i] = decryptByte(musicDecoded[i], key1, i); + } + } + + const ext = SniffAudioExt(musicDecoded); + const mime = AudioMimeType[ext]; + let musicBlob = new Blob([musicDecoded], { type: mime }); + const musicMeta = await metaParseBlob(musicBlob); + const { title, artist } = GetMetaFromFile(raw_filename, musicMeta.common.title, String(musicMeta.common.artists || musicMeta.common.artist || "")); + return { + album: musicMeta.common.album, + picture: GetCoverFromFile(musicMeta), + file: URL.createObjectURL(musicBlob), + blob: musicBlob, + ext, + mime, + title, + artist, + }; +} diff --git a/src/decrypt/kgm_wasm.ts b/src/decrypt/kgm_wasm.ts new file mode 100644 index 0000000..da45a38 --- /dev/null +++ b/src/decrypt/kgm_wasm.ts @@ -0,0 +1,67 @@ +import KgmCryptoModule from '@/KgmWasm/KgmWasmBundle'; +import { MergeUint8Array } from '@/utils/MergeUint8Array'; + +// 每次处理 2M 的数据 +const DECRYPTION_BUF_SIZE = 2 *1024 * 1024; + +export interface KGMDecryptionResult { + success: boolean; + data: Uint8Array; + error: string; +} + +/** + * 解密一个 KGM 加密的文件。 + * + * 如果检测并解密成功,返回解密后的 Uint8Array 数据。 + * @param {ArrayBuffer} kgmBlob 读入的文件 Blob + */ +export async function DecryptKgmWasm(kgmBlob: ArrayBuffer, ext: string): Promise { + const result: KGMDecryptionResult = { success: false, data: new Uint8Array(), error: '' }; + + // 初始化模组 + let KgmCrypto: any; + + try { + KgmCrypto = await KgmCryptoModule(); + } catch (err: any) { + result.error = err?.message || 'wasm 加载失败'; + return result; + } + if (!KgmCrypto) { + result.error = 'wasm 加载失败'; + return result; + } + + // 申请内存块,并文件末端数据到 WASM 的内存堆 + let kgmBuf = new Uint8Array(kgmBlob); + const pQmcBuf = KgmCrypto._malloc(DECRYPTION_BUF_SIZE); + KgmCrypto.writeArrayToMemory(kgmBuf.slice(0, DECRYPTION_BUF_SIZE), pQmcBuf); + + // 进行解密初始化 + const headerSize = KgmCrypto.preDec(pQmcBuf, DECRYPTION_BUF_SIZE, ext); + console.log(headerSize); + kgmBuf = kgmBuf.slice(headerSize); + + const decryptedParts = []; + let offset = 0; + let bytesToDecrypt = kgmBuf.length; + while (bytesToDecrypt > 0) { + const blockSize = Math.min(bytesToDecrypt, DECRYPTION_BUF_SIZE); + + // 解密一些片段 + const blockData = new Uint8Array(kgmBuf.slice(offset, offset + blockSize)); + KgmCrypto.writeArrayToMemory(blockData, pQmcBuf); + KgmCrypto.decBlob(pQmcBuf, blockSize, offset); + decryptedParts.push(KgmCrypto.HEAPU8.slice(pQmcBuf, pQmcBuf + blockSize)); + + offset += blockSize; + bytesToDecrypt -= blockSize; + } + KgmCrypto._free(pQmcBuf); + + result.data = MergeUint8Array(decryptedParts); + result.success = true; + + return result; +} diff --git a/src/decrypt/kwm.ts b/src/decrypt/kwm.ts new file mode 100644 index 0000000..32d4936 --- /dev/null +++ b/src/decrypt/kwm.ts @@ -0,0 +1,78 @@ +import { + AudioMimeType, + BytesHasPrefix, + GetArrayBuffer, + GetCoverFromFile, + GetMetaFromFile, + SniffAudioExt, +} from '@/decrypt/utils'; +import { Decrypt as RawDecrypt } from '@/decrypt/raw'; + +import { parseBlob as metaParseBlob } from 'music-metadata-browser'; +import { DecryptResult } from '@/decrypt/entity'; + +//prettier-ignore +const MagicHeader = [ + 0x79, 0x65, 0x65, 0x6C, 0x69, 0x6F, 0x6E, 0x2D, + 0x6B, 0x75, 0x77, 0x6F, 0x2D, 0x74, 0x6D, 0x65, +]; +const MagicHeader2 = [ + 0x79, 0x65, 0x65, 0x6C, 0x69, 0x6F, 0x6E, 0x2D, + 0x6B, 0x75, 0x77, 0x6F, 0x00, 0x00, 0x00, 0x00, +]; +const PreDefinedKey = 'MoOtOiTvINGwd2E6n0E1i7L5t2IoOoNk'; + +export async function Decrypt(file: File, raw_filename: string, _: string): Promise { + const oriData = new Uint8Array(await GetArrayBuffer(file)); + if (!BytesHasPrefix(oriData, MagicHeader) && !BytesHasPrefix(oriData, MagicHeader2)) { + if (SniffAudioExt(oriData) === 'aac') { + return await RawDecrypt(file, raw_filename, 'aac', false); + } + throw Error('not a valid kwm file'); + } + + let fileKey = oriData.slice(0x18, 0x20); + let mask = createMaskFromKey(fileKey); + let audioData = oriData.slice(0x400); + let lenAudioData = audioData.length; + for (let cur = 0; cur < lenAudioData; ++cur) audioData[cur] ^= mask[cur % 0x20]; + + const ext = SniffAudioExt(audioData); + const mime = AudioMimeType[ext]; + let musicBlob = new Blob([audioData], { type: mime }); + + const musicMeta = await metaParseBlob(musicBlob); + const { title, artist } = GetMetaFromFile(raw_filename, musicMeta.common.title, String(musicMeta.common.artists || musicMeta.common.artist || "")); + return { + album: musicMeta.common.album, + picture: GetCoverFromFile(musicMeta), + file: URL.createObjectURL(musicBlob), + blob: musicBlob, + mime, + title, + artist, + ext, + }; +} + +function createMaskFromKey(keyBytes: Uint8Array): Uint8Array { + let keyView = new DataView(keyBytes.buffer); + let keyStr = keyView.getBigUint64(0, true).toString(); + let keyStrTrim = trimKey(keyStr); + let key = new Uint8Array(32); + for (let i = 0; i < 32; i++) { + key[i] = PreDefinedKey.charCodeAt(i) ^ keyStrTrim.charCodeAt(i); + } + return key; +} + +function trimKey(keyRaw: string): string { + let lenRaw = keyRaw.length; + let out = keyRaw; + if (lenRaw > 32) { + out = keyRaw.slice(0, 32); + } else if (lenRaw < 32) { + out = keyRaw.padEnd(32, keyRaw); + } + return out; +} diff --git a/src/decrypt/mg3d.ts b/src/decrypt/mg3d.ts new file mode 100644 index 0000000..8ddc845 --- /dev/null +++ b/src/decrypt/mg3d.ts @@ -0,0 +1,71 @@ +import { Decrypt as RawDecrypt } from './raw'; +import { GetArrayBuffer } from '@/decrypt/utils'; +import { DecryptResult } from '@/decrypt/entity'; + +const segmentSize = 0x20; + +function isPrintableAsciiChar(ch: number) { + return ch >= 0x20 && ch <= 0x7E; +} + +function isUpperHexChar(ch: number) { + return (ch >= 0x30 && ch <= 0x39) || (ch >= 0x41 && ch <= 0x46); +} + +/** + * @param {Buffer} data + * @param {Buffer} key + * @param {boolean} copy + * @returns Buffer + */ +function decryptSegment(data: Uint8Array, key: Uint8Array) { + for (let i = 0; i < data.byteLength; i++) { + data[i] -= key[i % segmentSize]; + } + return Buffer.from(data); +} + +export async function Decrypt(file: File, raw_filename: string): Promise { + const buf = new Uint8Array(await GetArrayBuffer(file)); + + // 咪咕编码的 WAV 文件有很多“空洞”内容,尝试密钥。 + const header = buf.slice(0, 0x100); + const bytesRIFF = Buffer.from('RIFF', 'ascii'); + const bytesWaveFormat = Buffer.from('WAVEfmt ', 'ascii'); + const possibleKeys = []; + + for (let i = segmentSize; i < segmentSize * 20; i += segmentSize) { + const possibleKey = buf.slice(i, i + segmentSize); + if (!possibleKey.every(isUpperHexChar)) continue; + + const tempHeader = decryptSegment(header, possibleKey); + if (tempHeader.slice(0, 4).compare(bytesRIFF)) continue; + if (tempHeader.slice(8, 16).compare(bytesWaveFormat)) continue; + + // fmt chunk 大小可以是 16 / 18 / 40。 + const fmtChunkSize = tempHeader.readUInt32LE(0x10); + if (![16, 18, 40].includes(fmtChunkSize)) continue; + + // 下一个 chunk + const firstDataChunkOffset = 0x14 + fmtChunkSize; + const chunkName = tempHeader.slice(firstDataChunkOffset, firstDataChunkOffset + 4); + if (!chunkName.every(isPrintableAsciiChar)) continue; + + const secondDataChunkOffset = firstDataChunkOffset + 8 + tempHeader.readUInt32LE(firstDataChunkOffset + 4); + if (secondDataChunkOffset <= header.byteLength) { + const secondChunkName = tempHeader.slice(secondDataChunkOffset, secondDataChunkOffset + 4); + if (!secondChunkName.every(isPrintableAsciiChar)) continue; + } + + possibleKeys.push(Buffer.from(possibleKey).toString('ascii')); + } + + if (possibleKeys.length <= 0) { + throw new Error(`ERROR: no suitable key discovered`); + } + + const decryptionKey = Buffer.from(possibleKeys[0], 'ascii'); + decryptSegment(buf, decryptionKey); + const musicData = new Blob([buf], { type: 'audio/x-wav' }); + return await RawDecrypt(musicData, raw_filename, 'wav', false); +} diff --git a/src/decrypt/ncm.ts b/src/decrypt/ncm.ts new file mode 100644 index 0000000..c2f9851 --- /dev/null +++ b/src/decrypt/ncm.ts @@ -0,0 +1,237 @@ +import { + AudioMimeType, + BytesHasPrefix, + GetArrayBuffer, + GetImageFromURL, + GetMetaFromFile, + IMusicMeta, + SniffAudioExt, + WriteMetaToFlac, + WriteMetaToMp3, +} from '@/decrypt/utils'; +import { parseBlob as metaParseBlob } from 'music-metadata-browser'; +import jimp from 'jimp'; + +import AES from 'crypto-js/aes'; +import PKCS7 from 'crypto-js/pad-pkcs7'; +import ModeECB from 'crypto-js/mode-ecb'; +import WordArray from 'crypto-js/lib-typedarrays'; +import Base64 from 'crypto-js/enc-base64'; +import EncUTF8 from 'crypto-js/enc-utf8'; +import EncHex from 'crypto-js/enc-hex'; + +import { DecryptResult } from '@/decrypt/entity'; + +const CORE_KEY = EncHex.parse('687a4852416d736f356b496e62617857'); +const META_KEY = EncHex.parse('2331346C6A6B5F215C5D2630553C2728'); +const MagicHeader = [0x43, 0x54, 0x45, 0x4e, 0x46, 0x44, 0x41, 0x4d]; + +export async function Decrypt(file: File, raw_filename: string, _: string): Promise { + return new NcmDecrypt(await GetArrayBuffer(file), raw_filename).decrypt(); +} + +interface NcmMusicMeta { + //musicId: number + musicName?: string; + artist?: Array[]; + format?: string; + album?: string; + albumPic?: string; +} + +interface NcmDjMeta { + mainMusic: NcmMusicMeta; +} + +class NcmDecrypt { + raw: ArrayBuffer; + view: DataView; + offset: number = 0; + filename: string; + format: string = ''; + mime: string = ''; + audio?: Uint8Array; + blob?: Blob; + oriMeta?: NcmMusicMeta; + newMeta?: IMusicMeta; + image?: { mime: string; buffer: ArrayBuffer; url: string }; + + constructor(buf: ArrayBuffer, filename: string) { + const prefix = new Uint8Array(buf, 0, 8); + if (!BytesHasPrefix(prefix, MagicHeader)) throw Error('此ncm文件已损坏'); + this.offset = 10; + this.raw = buf; + this.view = new DataView(buf); + this.filename = filename; + } + + _getKeyData(): Uint8Array { + const keyLen = this.view.getUint32(this.offset, true); + this.offset += 4; + const cipherText = new Uint8Array(this.raw, this.offset, keyLen).map((uint8) => uint8 ^ 0x64); + this.offset += keyLen; + + const plainText = AES.decrypt( + // @ts-ignore + { ciphertext: WordArray.create(cipherText) }, + CORE_KEY, + { mode: ModeECB, padding: PKCS7 }, + ); + + const result = new Uint8Array(plainText.sigBytes); + + const words = plainText.words; + const sigBytes = plainText.sigBytes; + for (let i = 0; i < sigBytes; i++) { + result[i] = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + } + + return result.slice(17); + } + + _getKeyBox(): Uint8Array { + const keyData = this._getKeyData(); + const box = new Uint8Array(Array(256).keys()); + + const keyDataLen = keyData.length; + + let j = 0; + + for (let i = 0; i < 256; i++) { + j = (box[i] + j + keyData[i % keyDataLen]) & 0xff; + [box[i], box[j]] = [box[j], box[i]]; + } + + return box.map((_, i, arr) => { + i = (i + 1) & 0xff; + const si = arr[i]; + const sj = arr[(i + si) & 0xff]; + return arr[(si + sj) & 0xff]; + }); + } + + _getMetaData(): NcmMusicMeta { + const metaDataLen = this.view.getUint32(this.offset, true); + this.offset += 4; + if (metaDataLen === 0) return {}; + + const cipherText = new Uint8Array(this.raw, this.offset, metaDataLen).map((data) => data ^ 0x63); + this.offset += metaDataLen; + + WordArray.create(); + const plainText = AES.decrypt( + // @ts-ignore + { + ciphertext: Base64.parse( + // @ts-ignore + WordArray.create(cipherText.slice(22)).toString(EncUTF8), + ), + }, + META_KEY, + { mode: ModeECB, padding: PKCS7 }, + ).toString(EncUTF8); + + const labelIndex = plainText.indexOf(':'); + let result: NcmMusicMeta; + if (plainText.slice(0, labelIndex) === 'dj') { + const tmp: NcmDjMeta = JSON.parse(plainText.slice(labelIndex + 1)); + result = tmp.mainMusic; + } else { + result = JSON.parse(plainText.slice(labelIndex + 1)); + } + if (!!result.albumPic) { + result.albumPic = result.albumPic.replace('http://', 'https://') + '?param=500y500'; + } + return result; + } + + _getAudio(keyBox: Uint8Array): Uint8Array { + this.offset += this.view.getUint32(this.offset + 5, true) + 13; + const audioData = new Uint8Array(this.raw, this.offset); + let lenAudioData = audioData.length; + for (let cur = 0; cur < lenAudioData; ++cur) audioData[cur] ^= keyBox[cur & 0xff]; + return audioData; + } + + async _buildMeta() { + if (!this.oriMeta) throw Error('invalid sequence'); + + const info = GetMetaFromFile(this.filename, this.oriMeta.musicName); + + // build artists + let artists: string[] = []; + if (!!this.oriMeta.artist) { + this.oriMeta.artist.forEach((arr) => artists.push(arr[0])); + } + + if (artists.length === 0 && !!info.artist) { + artists = info.artist + .split(',') + .map((val) => val.trim()) + .filter((val) => val != ''); + } + + if (this.oriMeta.albumPic) + try { + this.image = await GetImageFromURL(this.oriMeta.albumPic); + while (this.image && this.image.buffer.byteLength >= 1 << 24) { + let img = await jimp.read(Buffer.from(this.image.buffer)); + await img.resize(Math.round(img.getHeight() / 2), jimp.AUTO); + this.image.buffer = await img.getBufferAsync('image/jpeg'); + } + } catch (e) { + console.log('get cover image failed', e); + } + + this.newMeta = { title: info.title, artists, album: this.oriMeta.album, picture: this.image?.buffer }; + } + + async _writeMeta() { + if (!this.audio || !this.newMeta) throw Error('invalid sequence'); + + if (!this.blob) this.blob = new Blob([this.audio], { type: this.mime }); + const ori = await metaParseBlob(this.blob); + + let shouldWrite = !ori.common.album && !ori.common.artists && !ori.common.title; + if (shouldWrite || this.newMeta.picture) { + if (this.format === 'mp3') { + this.audio = WriteMetaToMp3(Buffer.from(this.audio), this.newMeta, ori); + } else if (this.format === 'flac') { + this.audio = WriteMetaToFlac(Buffer.from(this.audio), this.newMeta, ori); + } else { + console.info(`writing meta for ${this.format} is not being supported for now`); + return; + } + this.blob = new Blob([this.audio], { type: this.mime }); + } + } + + gatherResult(): DecryptResult { + if (!this.newMeta || !this.blob) throw Error('bad sequence'); + return { + title: this.newMeta.title, + artist: this.newMeta.artists?.join('; '), + ext: this.format, + album: this.newMeta.album, + picture: this.image?.url, + file: URL.createObjectURL(this.blob), + blob: this.blob, + mime: this.mime, + }; + } + + async decrypt() { + const keyBox = this._getKeyBox(); + this.oriMeta = this._getMetaData(); + this.audio = this._getAudio(keyBox); + this.format = this.oriMeta.format || SniffAudioExt(this.audio); + this.mime = AudioMimeType[this.format]; + await this._buildMeta(); + try { + await this._writeMeta(); + } catch (e) { + console.warn('write meta data failed', e); + } + return this.gatherResult(); + } +} diff --git a/src/decrypt/ncmcache.ts b/src/decrypt/ncmcache.ts new file mode 100644 index 0000000..f6ef63f --- /dev/null +++ b/src/decrypt/ncmcache.ts @@ -0,0 +1,28 @@ +import { AudioMimeType, GetArrayBuffer, GetCoverFromFile, GetMetaFromFile, SniffAudioExt } from '@/decrypt/utils'; + +import { DecryptResult } from '@/decrypt/entity'; + +import { parseBlob as metaParseBlob } from 'music-metadata-browser'; + +export async function Decrypt(file: Blob, raw_filename: string, raw_ext: string): Promise { + const buffer = new Uint8Array(await GetArrayBuffer(file)); + let length = buffer.length; + for (let i = 0; i < length; i++) { + buffer[i] ^= 163; + } + const ext = SniffAudioExt(buffer, raw_ext); + if (ext !== raw_ext) file = new Blob([buffer], { type: AudioMimeType[ext] }); + const tag = await metaParseBlob(file); + const { title, artist } = GetMetaFromFile(raw_filename, tag.common.title, String(tag.common.artists || tag.common.artist || "")); + + return { + title, + artist, + ext, + album: tag.common.album, + picture: GetCoverFromFile(tag), + file: URL.createObjectURL(file), + blob: file, + mime: AudioMimeType[ext], + }; +} diff --git a/src/decrypt/qmc.test.ts b/src/decrypt/qmc.test.ts new file mode 100644 index 0000000..73156bd --- /dev/null +++ b/src/decrypt/qmc.test.ts @@ -0,0 +1,29 @@ +import fs from 'fs'; +import { QmcDecoder } from '@/decrypt/qmc'; +import { BytesEqual } from '@/decrypt/utils'; + +function loadTestDataDecoder(name: string): { + cipherText: Uint8Array; + clearText: Uint8Array; +} { + const cipherBody = fs.readFileSync(`./testdata/${name}_raw.bin`); + const cipherSuffix = fs.readFileSync(`./testdata/${name}_suffix.bin`); + const cipherText = new Uint8Array(cipherBody.length + cipherSuffix.length); + cipherText.set(cipherBody); + cipherText.set(cipherSuffix, cipherBody.length); + return { + cipherText, + clearText: fs.readFileSync(`testdata/${name}_target.bin`), + }; +} + +test('qmc: real file', async () => { + const cases = ['mflac0_rc4', 'mflac_rc4', 'mflac_map', 'mgg_map', 'qmc0_static']; + for (const name of cases) { + const { clearText, cipherText } = loadTestDataDecoder(name); + const c = new QmcDecoder(cipherText); + const buf = c.decrypt(); + + expect(BytesEqual(buf, clearText)).toBeTruthy(); + } +}); diff --git a/src/decrypt/qmc.ts b/src/decrypt/qmc.ts new file mode 100644 index 0000000..3154f90 --- /dev/null +++ b/src/decrypt/qmc.ts @@ -0,0 +1,185 @@ +import { QmcMapCipher, QmcRC4Cipher, QmcStaticCipher, QmcStreamCipher } from './qmc_cipher'; +import { AudioMimeType, GetArrayBuffer, SniffAudioExt } from '@/decrypt/utils'; + +import { DecryptResult } from '@/decrypt/entity'; +import { QmcDeriveKey } from '@/decrypt/qmc_key'; +import { DecryptQmcWasm } from '@/decrypt/qmc_wasm'; +import { extractQQMusicMeta } from '@/utils/qm_meta'; + +interface Handler { + ext: string; + version: number; +} + +export const HandlerMap: { [key: string]: Handler } = { + mgg: { ext: 'ogg', version: 2 }, + mgg0: { ext: 'ogg', version: 2 }, + mggl: { ext: 'ogg', version: 2 }, + mgg1: { ext: 'ogg', version: 2 }, + mflac: { ext: 'flac', version: 2 }, + mflac0: { ext: 'flac', version: 2 }, + mmp4: { ext: 'mmp4', version: 2 }, + + // qmcflac / qmcogg: + // 有可能是 v2 加密但混用同一个后缀名。 + qmcflac: { ext: 'flac', version: 2 }, + qmcogg: { ext: 'ogg', version: 2 }, + + qmc0: { ext: 'mp3', version: 2 }, + qmc2: { ext: 'ogg', version: 2 }, + qmc3: { ext: 'mp3', version: 2 }, + qmc4: { ext: 'ogg', version: 2 }, + qmc6: { ext: 'ogg', version: 2 }, + qmc8: { ext: 'ogg', version: 2 }, + bkcmp3: { ext: 'mp3', version: 1 }, + bkcm4a: { ext: 'm4a', version: 1 }, + bkcflac: { ext: 'flac', version: 1 }, + bkcwav: { ext: 'wav', version: 1 }, + bkcape: { ext: 'ape', version: 1 }, + bkcogg: { ext: 'ogg', version: 1 }, + bkcwma: { ext: 'wma', version: 1 }, + tkm: { ext: 'm4a', version: 1 }, + '666c6163': { ext: 'flac', version: 1 }, + '6d7033': { ext: 'mp3', version: 1 }, + '6f6767': { ext: 'ogg', version: 1 }, + '6d3461': { ext: 'm4a', version: 1 }, + '776176': { ext: 'wav', version: 1 }, +}; + +export async function Decrypt(file: Blob, raw_filename: string, raw_ext: string): Promise { + if (!(raw_ext in HandlerMap)) throw `Qmc cannot handle type: ${raw_ext}`; + const handler = HandlerMap[raw_ext]; + let { version } = handler; + + const fileBuffer = await GetArrayBuffer(file); + let musicDecoded: Uint8Array | undefined; + let musicID: number | string | undefined; + + if (version === 2 && globalThis.WebAssembly) { + console.log('qmc: using wasm decoder'); + + const v2Decrypted = await DecryptQmcWasm(fileBuffer, raw_ext); + // 若 v2 检测失败,降级到 v1 再尝试一次 + if (v2Decrypted.success) { + musicDecoded = v2Decrypted.data; + musicID = v2Decrypted.songId; + console.log('qmc wasm decoder suceeded'); + } else { + console.warn('QmcWasm failed with error %s', v2Decrypted.error || '(unknown error)'); + } + } + + if (!musicDecoded) { + // may throw error + console.log('qmc: using js decoder'); + const d = new QmcDecoder(new Uint8Array(fileBuffer)); + musicDecoded = d.decrypt(); + musicID = d.songID; + } + + const ext = SniffAudioExt(musicDecoded, handler.ext); + const mime = AudioMimeType[ext]; + + const { album, artist, imgUrl, blob, title } = await extractQQMusicMeta( + new Blob([musicDecoded], { type: mime }), + raw_filename, + ext, + musicID, + ); + + return { + title: title, + artist: artist, + ext: ext, + album: album, + picture: imgUrl, + file: URL.createObjectURL(blob), + blob: blob, + mime: mime, + }; +} + +export class QmcDecoder { + private static readonly BYTE_COMMA = ','.charCodeAt(0); + private readonly file: Uint8Array; + private readonly size: number; + private decoded: boolean = false; + private audioSize?: number; + private cipher?: QmcStreamCipher; + + public constructor(file: Uint8Array) { + this.file = file; + this.size = file.length; + this.searchKey(); + } + + private _songID?: number; + + public get songID() { + return this._songID; + } + + public decrypt(): Uint8Array { + if (!this.cipher) { + throw new Error('no cipher found'); + } + if (!this.audioSize || this.audioSize <= 0) { + throw new Error('invalid audio size'); + } + const audioBuf = this.file.subarray(0, this.audioSize); + + if (!this.decoded) { + this.cipher.decrypt(audioBuf, 0); + this.decoded = true; + } + + return audioBuf; + } + + private searchKey() { + const last4Byte = this.file.slice(-4); + const textEnc = new TextDecoder(); + if (textEnc.decode(last4Byte) === 'STag') { + throw new Error('文件中没有写入密钥,无法解锁,请降级App并重试'); + } else if (textEnc.decode(last4Byte) === 'QTag') { + const sizeBuf = this.file.slice(-8, -4); + const sizeView = new DataView(sizeBuf.buffer, sizeBuf.byteOffset); + const keySize = sizeView.getUint32(0, false); + this.audioSize = this.size - keySize - 8; + + const rawKey = this.file.subarray(this.audioSize, this.size - 8); + const keyEnd = rawKey.findIndex((v) => v == QmcDecoder.BYTE_COMMA); + if (keyEnd < 0) { + throw new Error('invalid key: search raw key failed'); + } + this.setCipher(rawKey.subarray(0, keyEnd)); + + const idBuf = rawKey.subarray(keyEnd + 1); + const idEnd = idBuf.findIndex((v) => v == QmcDecoder.BYTE_COMMA); + if (keyEnd < 0) { + throw new Error('invalid key: search song id failed'); + } + this._songID = parseInt(textEnc.decode(idBuf.subarray(0, idEnd)), 10); + } else { + const sizeView = new DataView(last4Byte.buffer, last4Byte.byteOffset); + const keySize = sizeView.getUint32(0, true); + if (keySize < 0x400) { + this.audioSize = this.size - keySize - 4; + const rawKey = this.file.subarray(this.audioSize, this.size - 4); + this.setCipher(rawKey); + } else { + this.audioSize = this.size; + this.cipher = new QmcStaticCipher(); + } + } + } + + private setCipher(keyRaw: Uint8Array) { + const keyDec = QmcDeriveKey(keyRaw); + if (keyDec.length > 300) { + this.cipher = new QmcRC4Cipher(keyDec); + } else { + this.cipher = new QmcMapCipher(keyDec); + } + } +} diff --git a/src/decrypt/qmc_cipher.test.ts b/src/decrypt/qmc_cipher.test.ts new file mode 100644 index 0000000..0f1e0b7 --- /dev/null +++ b/src/decrypt/qmc_cipher.test.ts @@ -0,0 +1,117 @@ +import { QmcMapCipher, QmcRC4Cipher, QmcStaticCipher } from '@/decrypt/qmc_cipher'; +import fs from 'fs'; + +test('static cipher [0x7ff8,0x8000) ', () => { + //prettier-ignore + const expected = new Uint8Array([ + 0xD8, 0x52, 0xF7, 0x67, 0x90, 0xCA, 0xD6, 0x4A, + 0x4A, 0xD6, 0xCA, 0x90, 0x67, 0xF7, 0x52, 0xD8, + ]) + + const c = new QmcStaticCipher(); + const buf = new Uint8Array(16); + c.decrypt(buf, 0x7ff8); + + expect(buf).toStrictEqual(expected); +}); + +test('static cipher [0,0x10) ', () => { + //prettier-ignore + const expected = new Uint8Array([ + 0xC3, 0x4A, 0xD6, 0xCA, 0x90, 0x67, 0xF7, 0x52, + 0xD8, 0xA1, 0x66, 0x62, 0x9F, 0x5B, 0x09, 0x00, + ]) + + const c = new QmcStaticCipher(); + const buf = new Uint8Array(16); + c.decrypt(buf, 0); + + expect(buf).toStrictEqual(expected); +}); + +test('map cipher: get mask', () => { + //prettier-ignore + const expected = new Uint8Array([ + 0xBB, 0x7D, 0x80, 0xBE, 0xFF, 0x38, 0x81, 0xFB, + 0xBB, 0xFF, 0x82, 0x3C, 0xFF, 0xBA, 0x83, 0x79, + ]) + const key = new Uint8Array(256); + for (let i = 0; i < 256; i++) key[i] = i; + const buf = new Uint8Array(16); + + const c = new QmcMapCipher(key); + c.decrypt(buf, 0); + expect(buf).toStrictEqual(expected); +}); + +function loadTestDataCipher(name: string): { + key: Uint8Array; + cipherText: Uint8Array; + clearText: Uint8Array; +} { + return { + key: fs.readFileSync(`testdata/${name}_key.bin`), + cipherText: fs.readFileSync(`testdata/${name}_raw.bin`), + clearText: fs.readFileSync(`testdata/${name}_target.bin`), + }; +} + +test('map cipher: real file', async () => { + const cases = ['mflac_map', 'mgg_map']; + for (const name of cases) { + const { key, clearText, cipherText } = loadTestDataCipher(name); + const c = new QmcMapCipher(key); + + c.decrypt(cipherText, 0); + + expect(cipherText).toStrictEqual(clearText); + } +}); + +test('rc4 cipher: real file', async () => { + const cases = ['mflac0_rc4', 'mflac_rc4']; + for (const name of cases) { + const { key, clearText, cipherText } = loadTestDataCipher(name); + const c = new QmcRC4Cipher(key); + + c.decrypt(cipherText, 0); + + expect(cipherText).toStrictEqual(clearText); + } +}); + +test('rc4 cipher: first segment', async () => { + const cases = ['mflac0_rc4', 'mflac_rc4']; + for (const name of cases) { + const { key, clearText, cipherText } = loadTestDataCipher(name); + const c = new QmcRC4Cipher(key); + + const buf = cipherText.slice(0, 128); + c.decrypt(buf, 0); + expect(buf).toStrictEqual(clearText.slice(0, 128)); + } +}); + +test('rc4 cipher: align block (128~5120)', async () => { + const cases = ['mflac0_rc4', 'mflac_rc4']; + for (const name of cases) { + const { key, clearText, cipherText } = loadTestDataCipher(name); + const c = new QmcRC4Cipher(key); + + const buf = cipherText.slice(128, 5120); + c.decrypt(buf, 128); + expect(buf).toStrictEqual(clearText.slice(128, 5120)); + } +}); + +test('rc4 cipher: simple block (5120~10240)', async () => { + const cases = ['mflac0_rc4', 'mflac_rc4']; + for (const name of cases) { + const { key, clearText, cipherText } = loadTestDataCipher(name); + const c = new QmcRC4Cipher(key); + + const buf = cipherText.slice(5120, 10240); + c.decrypt(buf, 5120); + expect(buf).toStrictEqual(clearText.slice(5120, 10240)); + } +}); diff --git a/src/decrypt/qmc_cipher.ts b/src/decrypt/qmc_cipher.ts new file mode 100644 index 0000000..d0d3683 --- /dev/null +++ b/src/decrypt/qmc_cipher.ts @@ -0,0 +1,199 @@ +export interface QmcStreamCipher { + decrypt(buf: Uint8Array, offset: number): void; +} + +export class QmcStaticCipher implements QmcStreamCipher { + //prettier-ignore + private static readonly staticCipherBox: Uint8Array = new Uint8Array([ + 0x77, 0x48, 0x32, 0x73, 0xDE, 0xF2, 0xC0, 0xC8, //0x00 + 0x95, 0xEC, 0x30, 0xB2, 0x51, 0xC3, 0xE1, 0xA0, //0x08 + 0x9E, 0xE6, 0x9D, 0xCF, 0xFA, 0x7F, 0x14, 0xD1, //0x10 + 0xCE, 0xB8, 0xDC, 0xC3, 0x4A, 0x67, 0x93, 0xD6, //0x18 + 0x28, 0xC2, 0x91, 0x70, 0xCA, 0x8D, 0xA2, 0xA4, //0x20 + 0xF0, 0x08, 0x61, 0x90, 0x7E, 0x6F, 0xA2, 0xE0, //0x28 + 0xEB, 0xAE, 0x3E, 0xB6, 0x67, 0xC7, 0x92, 0xF4, //0x30 + 0x91, 0xB5, 0xF6, 0x6C, 0x5E, 0x84, 0x40, 0xF7, //0x38 + 0xF3, 0x1B, 0x02, 0x7F, 0xD5, 0xAB, 0x41, 0x89, //0x40 + 0x28, 0xF4, 0x25, 0xCC, 0x52, 0x11, 0xAD, 0x43, //0x48 + 0x68, 0xA6, 0x41, 0x8B, 0x84, 0xB5, 0xFF, 0x2C, //0x50 + 0x92, 0x4A, 0x26, 0xD8, 0x47, 0x6A, 0x7C, 0x95, //0x58 + 0x61, 0xCC, 0xE6, 0xCB, 0xBB, 0x3F, 0x47, 0x58, //0x60 + 0x89, 0x75, 0xC3, 0x75, 0xA1, 0xD9, 0xAF, 0xCC, //0x68 + 0x08, 0x73, 0x17, 0xDC, 0xAA, 0x9A, 0xA2, 0x16, //0x70 + 0x41, 0xD8, 0xA2, 0x06, 0xC6, 0x8B, 0xFC, 0x66, //0x78 + 0x34, 0x9F, 0xCF, 0x18, 0x23, 0xA0, 0x0A, 0x74, //0x80 + 0xE7, 0x2B, 0x27, 0x70, 0x92, 0xE9, 0xAF, 0x37, //0x88 + 0xE6, 0x8C, 0xA7, 0xBC, 0x62, 0x65, 0x9C, 0xC2, //0x90 + 0x08, 0xC9, 0x88, 0xB3, 0xF3, 0x43, 0xAC, 0x74, //0x98 + 0x2C, 0x0F, 0xD4, 0xAF, 0xA1, 0xC3, 0x01, 0x64, //0xA0 + 0x95, 0x4E, 0x48, 0x9F, 0xF4, 0x35, 0x78, 0x95, //0xA8 + 0x7A, 0x39, 0xD6, 0x6A, 0xA0, 0x6D, 0x40, 0xE8, //0xB0 + 0x4F, 0xA8, 0xEF, 0x11, 0x1D, 0xF3, 0x1B, 0x3F, //0xB8 + 0x3F, 0x07, 0xDD, 0x6F, 0x5B, 0x19, 0x30, 0x19, //0xC0 + 0xFB, 0xEF, 0x0E, 0x37, 0xF0, 0x0E, 0xCD, 0x16, //0xC8 + 0x49, 0xFE, 0x53, 0x47, 0x13, 0x1A, 0xBD, 0xA4, //0xD0 + 0xF1, 0x40, 0x19, 0x60, 0x0E, 0xED, 0x68, 0x09, //0xD8 + 0x06, 0x5F, 0x4D, 0xCF, 0x3D, 0x1A, 0xFE, 0x20, //0xE0 + 0x77, 0xE4, 0xD9, 0xDA, 0xF9, 0xA4, 0x2B, 0x76, //0xE8 + 0x1C, 0x71, 0xDB, 0x00, 0xBC, 0xFD, 0x0C, 0x6C, //0xF0 + 0xA5, 0x47, 0xF7, 0xF6, 0x00, 0x79, 0x4A, 0x11, //0xF8 + ]) + + public getMask(offset: number) { + if (offset > 0x7fff) offset %= 0x7fff; + return QmcStaticCipher.staticCipherBox[(offset * offset + 27) & 0xff]; + } + + public decrypt(buf: Uint8Array, offset: number) { + for (let i = 0; i < buf.length; i++) { + buf[i] ^= this.getMask(offset + i); + } + } +} + +export class QmcMapCipher implements QmcStreamCipher { + key: Uint8Array; + n: number; + + constructor(key: Uint8Array) { + if (key.length == 0) throw Error('qmc/cipher_map: invalid key size'); + + this.key = key; + this.n = key.length; + } + + private static rotate(value: number, bits: number) { + let rotate = (bits + 4) % 8; + let left = value << rotate; + let right = value >> rotate; + return (left | right) & 0xff; + } + + decrypt(buf: Uint8Array, offset: number): void { + for (let i = 0; i < buf.length; i++) { + buf[i] ^= this.getMask(offset + i); + } + } + + private getMask(offset: number) { + if (offset > 0x7fff) offset %= 0x7fff; + + const idx = (offset * offset + 71214) % this.n; + return QmcMapCipher.rotate(this.key[idx], idx & 0x7); + } +} + +export class QmcRC4Cipher implements QmcStreamCipher { + private static readonly FIRST_SEGMENT_SIZE = 0x80; + private static readonly SEGMENT_SIZE = 5120; + + S: Uint8Array; + N: number; + key: Uint8Array; + hash: number; + + constructor(key: Uint8Array) { + if (key.length == 0) { + throw Error('invalid key size'); + } + + this.key = key; + this.N = key.length; + + // init seed box + this.S = new Uint8Array(this.N); + for (let i = 0; i < this.N; ++i) { + this.S[i] = i & 0xff; + } + let j = 0; + for (let i = 0; i < this.N; ++i) { + j = (this.S[i] + j + this.key[i % this.N]) % this.N; + [this.S[i], this.S[j]] = [this.S[j], this.S[i]]; + } + + // init hash base + this.hash = 1; + for (let i = 0; i < this.N; i++) { + let value = this.key[i]; + + // ignore if key char is '\x00' + if (!value) continue; + + const next_hash = (this.hash * value) >>> 0; + if (next_hash == 0 || next_hash <= this.hash) break; + + this.hash = next_hash; + } + } + + decrypt(buf: Uint8Array, offset: number): void { + let toProcess = buf.length; + let processed = 0; + const postProcess = (len: number): boolean => { + toProcess -= len; + processed += len; + offset += len; + return toProcess == 0; + }; + + // Initial segment + if (offset < QmcRC4Cipher.FIRST_SEGMENT_SIZE) { + const len_segment = Math.min(buf.length, QmcRC4Cipher.FIRST_SEGMENT_SIZE - offset); + this.encFirstSegment(buf.subarray(0, len_segment), offset); + if (postProcess(len_segment)) return; + } + + // align segment + if (offset % QmcRC4Cipher.SEGMENT_SIZE != 0) { + const len_segment = Math.min(QmcRC4Cipher.SEGMENT_SIZE - (offset % QmcRC4Cipher.SEGMENT_SIZE), toProcess); + this.encASegment(buf.subarray(processed, processed + len_segment), offset); + if (postProcess(len_segment)) return; + } + + // Batch process segments + while (toProcess > QmcRC4Cipher.SEGMENT_SIZE) { + this.encASegment(buf.subarray(processed, processed + QmcRC4Cipher.SEGMENT_SIZE), offset); + postProcess(QmcRC4Cipher.SEGMENT_SIZE); + } + + // Last segment (incomplete segment) + if (toProcess > 0) { + this.encASegment(buf.subarray(processed), offset); + } + } + + private encFirstSegment(buf: Uint8Array, offset: number) { + for (let i = 0; i < buf.length; i++) { + buf[i] ^= this.key[this.getSegmentKey(offset + i)]; + } + } + + private encASegment(buf: Uint8Array, offset: number) { + // Initialise a new seed box + const S = this.S.slice(0); + + // Calculate the number of bytes to skip. + // The initial "key" derived from segment id, plus the current offset. + const skipLen = + (offset % QmcRC4Cipher.SEGMENT_SIZE) + this.getSegmentKey(Math.floor(offset / QmcRC4Cipher.SEGMENT_SIZE)); + + // decrypt the block + let j = 0; + let k = 0; + for (let i = -skipLen; i < buf.length; i++) { + j = (j + 1) % this.N; + k = (S[j] + k) % this.N; + [S[k], S[j]] = [S[j], S[k]]; + + if (i >= 0) { + buf[i] ^= S[(S[j] + S[k]) % this.N]; + } + } + } + + private getSegmentKey(id: number): number { + const seed = this.key[id % this.N]; + const idx = Math.floor((this.hash / ((id + 1) * seed)) * 100.0); + return idx % this.N; + } +} diff --git a/src/decrypt/qmc_key.test.ts b/src/decrypt/qmc_key.test.ts new file mode 100644 index 0000000..2ec1e96 --- /dev/null +++ b/src/decrypt/qmc_key.test.ts @@ -0,0 +1,26 @@ +import { QmcDeriveKey, simpleMakeKey } from '@/decrypt/qmc_key'; +import fs from 'fs'; + +test('key dec: make simple key', () => { + expect(simpleMakeKey(106, 8)).toStrictEqual([0x69, 0x56, 0x46, 0x38, 0x2b, 0x20, 0x15, 0x0b]); +}); + +function loadTestDataKeyDecrypt(name: string): { + cipherText: Uint8Array; + clearText: Uint8Array; +} { + return { + cipherText: fs.readFileSync(`testdata/${name}_key_raw.bin`), + clearText: fs.readFileSync(`testdata/${name}_key.bin`), + }; +} + +test('key dec: real file', async () => { + const cases = ['mflac_map', 'mgg_map', 'mflac0_rc4', 'mflac_rc4']; + for (const name of cases) { + const { clearText, cipherText } = loadTestDataKeyDecrypt(name); + const buf = QmcDeriveKey(cipherText); + + expect(buf).toStrictEqual(clearText); + } +}); diff --git a/src/decrypt/qmc_key.ts b/src/decrypt/qmc_key.ts new file mode 100644 index 0000000..b23b15f --- /dev/null +++ b/src/decrypt/qmc_key.ts @@ -0,0 +1,127 @@ +import { TeaCipher } from '@/utils/tea'; + +const SALT_LEN = 2; +const ZERO_LEN = 7; + +export function QmcDeriveKey(raw: Uint8Array): Uint8Array { + const textDec = new TextDecoder(); + let rawDec = Buffer.from(textDec.decode(raw), 'base64'); + let n = rawDec.length; + if (n < 16) { + throw Error('key length is too short'); + } + + rawDec = decryptV2Key(rawDec); + + const simpleKey = simpleMakeKey(106, 8); + let teaKey = new Uint8Array(16); + for (let i = 0; i < 8; i++) { + teaKey[i << 1] = simpleKey[i]; + teaKey[(i << 1) + 1] = rawDec[i]; + } + const sub = decryptTencentTea(rawDec.subarray(8), teaKey); + rawDec.set(sub, 8); + return rawDec.subarray(0, 8 + sub.length); +} + +// simpleMakeKey exported only for unit test +export function simpleMakeKey(salt: number, length: number): number[] { + const keyBuf: number[] = []; + for (let i = 0; i < length; i++) { + const tmp = Math.tan(salt + i * 0.1); + keyBuf[i] = 0xff & (Math.abs(tmp) * 100.0); + } + return keyBuf; +} + +const mixKey1: Uint8Array = new Uint8Array([ 0x33, 0x38, 0x36, 0x5A, 0x4A, 0x59, 0x21, 0x40, 0x23, 0x2A, 0x24, 0x25, 0x5E, 0x26, 0x29, 0x28 ]) +const mixKey2: Uint8Array = new Uint8Array([ 0x2A, 0x2A, 0x23, 0x21, 0x28, 0x23, 0x24, 0x25, 0x26, 0x5E, 0x61, 0x31, 0x63, 0x5A, 0x2C, 0x54 ]) + +function decryptV2Key(key: Buffer): Buffer +{ + const textEnc = new TextDecoder(); + if (key.length < 18 || textEnc.decode(key.slice(0, 18)) !== 'QQMusic EncV2,Key:') { + return key; + } + + let out = decryptTencentTea(key.slice(18), mixKey1); + out = decryptTencentTea(out, mixKey2); + const textDec = new TextDecoder(); + const keyDec = Buffer.from(textDec.decode(out), 'base64'); + let n = keyDec.length; + if (n < 16) { + throw Error('EncV2 key decode failed'); + } + + return keyDec; +} + +function decryptTencentTea(inBuf: Uint8Array, key: Uint8Array): Uint8Array { + if (inBuf.length % 8 != 0) { + throw Error('inBuf size not a multiple of the block size'); + } + if (inBuf.length < 16) { + throw Error('inBuf size too small'); + } + + const blk = new TeaCipher(key, 32); + + const tmpBuf = new Uint8Array(8); + const tmpView = new DataView(tmpBuf.buffer); + + blk.decrypt(tmpView, new DataView(inBuf.buffer, inBuf.byteOffset, 8)); + + const nPadLen = tmpBuf[0] & 0x7; //只要最低三位 + /*密文格式:PadLen(1byte)+Padding(var,0-7byte)+Salt(2byte)+Body(var byte)+Zero(7byte)*/ + const outLen = inBuf.length - 1 /*PadLen*/ - nPadLen - SALT_LEN - ZERO_LEN; + const outBuf = new Uint8Array(outLen); + + let ivPrev = new Uint8Array(8); + let ivCur = inBuf.slice(0, 8); // init iv + let inBufPos = 8; + + // 跳过 Padding Len 和 Padding + let tmpIdx = 1 + nPadLen; + + // CBC IV 处理 + const cryptBlock = () => { + ivPrev = ivCur; + ivCur = inBuf.slice(inBufPos, inBufPos + 8); + for (let j = 0; j < 8; j++) { + tmpBuf[j] ^= ivCur[j]; + } + blk.decrypt(tmpView, tmpView); + inBufPos += 8; + tmpIdx = 0; + }; + + // 跳过 Salt + for (let i = 1; i <= SALT_LEN; ) { + if (tmpIdx < 8) { + tmpIdx++; + i++; + } else { + cryptBlock(); + } + } + + // 还原明文 + let outBufPos = 0; + while (outBufPos < outLen) { + if (tmpIdx < 8) { + outBuf[outBufPos] = tmpBuf[tmpIdx] ^ ivPrev[tmpIdx]; + outBufPos++; + tmpIdx++; + } else { + cryptBlock(); + } + } + + // 校验Zero + for (let i = 1; i <= ZERO_LEN; i++) { + if (tmpBuf[tmpIdx] != ivPrev[tmpIdx]) { + throw Error('zero check failed'); + } + } + return outBuf; +} diff --git a/src/decrypt/qmc_wasm.ts b/src/decrypt/qmc_wasm.ts new file mode 100644 index 0000000..c2e06db --- /dev/null +++ b/src/decrypt/qmc_wasm.ts @@ -0,0 +1,73 @@ +import QmcCryptoModule from '@/QmcWasm/QmcWasmBundle'; +import { MergeUint8Array } from '@/utils/MergeUint8Array'; + +// 每次处理 2M 的数据 +const DECRYPTION_BUF_SIZE = 2 *1024 * 1024; + +export interface QMCDecryptionResult { + success: boolean; + data: Uint8Array; + songId: string | number; + error: string; +} + +/** + * 解密一个 QMC 加密的文件。 + * + * 如果检测并解密成功,返回解密后的 Uint8Array 数据。 + * @param {ArrayBuffer} qmcBlob 读入的文件 Blob + */ +export async function DecryptQmcWasm(qmcBlob: ArrayBuffer, ext: string): Promise { + const result: QMCDecryptionResult = { success: false, data: new Uint8Array(), songId: 0, error: '' }; + + // 初始化模组 + let QmcCrypto: any; + + try { + QmcCrypto = await QmcCryptoModule(); + } catch (err: any) { + result.error = err?.message || 'wasm 加载失败'; + return result; + } + if (!QmcCrypto) { + result.error = 'wasm 加载失败'; + return result; + } + + // 申请内存块,并文件末端数据到 WASM 的内存堆 + const qmcBuf = new Uint8Array(qmcBlob); + const pQmcBuf = QmcCrypto._malloc(DECRYPTION_BUF_SIZE); + QmcCrypto.writeArrayToMemory(qmcBuf.slice(-DECRYPTION_BUF_SIZE), pQmcBuf); + + // 进行解密初始化 + ext = '.' + ext; + const tailSize = QmcCrypto.preDec(pQmcBuf, DECRYPTION_BUF_SIZE, ext); + if (tailSize == -1) { + result.error = QmcCrypto.getError(); + return result; + } else { + result.songId = QmcCrypto.getSongId(); + result.songId = result.songId == "0" ? 0 : result.songId; + } + + const decryptedParts = []; + let offset = 0; + let bytesToDecrypt = qmcBuf.length - tailSize; + while (bytesToDecrypt > 0) { + const blockSize = Math.min(bytesToDecrypt, DECRYPTION_BUF_SIZE); + + // 解密一些片段 + const blockData = new Uint8Array(qmcBuf.slice(offset, offset + blockSize)); + QmcCrypto.writeArrayToMemory(blockData, pQmcBuf); + decryptedParts.push(QmcCrypto.HEAPU8.slice(pQmcBuf, pQmcBuf + QmcCrypto.decBlob(pQmcBuf, blockSize, offset))); + + offset += blockSize; + bytesToDecrypt -= blockSize; + } + QmcCrypto._free(pQmcBuf); + + result.data = MergeUint8Array(decryptedParts); + result.success = true; + + return result; +} diff --git a/src/decrypt/qmccache.ts b/src/decrypt/qmccache.ts new file mode 100644 index 0000000..6a57a94 --- /dev/null +++ b/src/decrypt/qmccache.ts @@ -0,0 +1,67 @@ +import { + AudioMimeType, + GetArrayBuffer, + GetCoverFromFile, + GetMetaFromFile, + SniffAudioExt, + SplitFilename, +} from '@/decrypt/utils'; + +import { Decrypt as QmcDecrypt, HandlerMap } from '@/decrypt/qmc'; +import { DecryptQmcWasm } from '@/decrypt/qmc_wasm'; + +import { DecryptResult } from '@/decrypt/entity'; + +import { parseBlob as metaParseBlob } from 'music-metadata-browser'; + +export async function Decrypt(file: Blob, raw_filename: string, raw_ext: string): Promise { + const buffer = await GetArrayBuffer(file); + + let musicDecoded: Uint8Array | undefined; + if (globalThis.WebAssembly) { + console.log('qmc: using wasm decoder'); + + const qmcDecrypted = await DecryptQmcWasm(buffer, raw_ext); + // 若 wasm 失败,使用 js 再尝试一次 + if (qmcDecrypted.success) { + musicDecoded = qmcDecrypted.data; + console.log('qmc wasm decoder suceeded'); + } else { + console.warn('QmcWasm failed with error %s', qmcDecrypted.error || '(unknown error)'); + } + } + + if (!musicDecoded) { + musicDecoded = new Uint8Array(buffer); + let length = musicDecoded.length; + for (let i = 0; i < length; i++) { + let byte = musicDecoded[i] ^ 0xf4; // xor 0xf4 + byte = ((byte & 0b0011_1111) << 2) | (byte >> 6); // rol 2 + musicDecoded[i] = byte; + } + } + let ext = SniffAudioExt(musicDecoded, ''); + const newName = SplitFilename(raw_filename); + let audioBlob: Blob; + if (ext !== '' || newName.ext === 'mp3') { + audioBlob = new Blob([musicDecoded], { type: AudioMimeType[ext] }); + } else if (newName.ext in HandlerMap) { + audioBlob = new Blob([musicDecoded], { type: 'application/octet-stream' }); + return QmcDecrypt(audioBlob, newName.name, newName.ext); + } else { + throw '不支持的QQ音乐缓存格式'; + } + const tag = await metaParseBlob(audioBlob); + const { title, artist } = GetMetaFromFile(raw_filename, tag.common.title, String(tag.common.artists || tag.common.artist || "")); + + return { + title, + artist, + ext, + album: tag.common.album, + picture: GetCoverFromFile(tag), + file: URL.createObjectURL(audioBlob), + blob: audioBlob, + mime: AudioMimeType[ext], + }; +} diff --git a/src/decrypt/raw.ts b/src/decrypt/raw.ts new file mode 100644 index 0000000..4d2427d --- /dev/null +++ b/src/decrypt/raw.ts @@ -0,0 +1,32 @@ +import { AudioMimeType, GetArrayBuffer, GetCoverFromFile, GetMetaFromFile, SniffAudioExt } from '@/decrypt/utils'; + +import { DecryptResult } from '@/decrypt/entity'; + +import { parseBlob as metaParseBlob } from 'music-metadata-browser'; + +export async function Decrypt( + file: Blob, + raw_filename: string, + raw_ext: string, + detect: boolean = true, +): Promise { + let ext = raw_ext; + if (detect) { + const buffer = new Uint8Array(await GetArrayBuffer(file)); + ext = SniffAudioExt(buffer, raw_ext); + if (ext !== raw_ext) file = new Blob([buffer], { type: AudioMimeType[ext] }); + } + const tag = await metaParseBlob(file); + const { title, artist } = GetMetaFromFile(raw_filename, tag.common.title, String(tag.common.artists || tag.common.artist || '')); + + return { + title, + artist, + ext, + album: tag.common.album, + picture: GetCoverFromFile(tag), + file: URL.createObjectURL(file), + blob: file, + mime: AudioMimeType[ext], + }; +} diff --git a/src/decrypt/tm.ts b/src/decrypt/tm.ts new file mode 100644 index 0000000..7aa717d --- /dev/null +++ b/src/decrypt/tm.ts @@ -0,0 +1,14 @@ +import { Decrypt as RawDecrypt } from './raw'; +import { GetArrayBuffer } from '@/decrypt/utils'; +import { DecryptResult } from '@/decrypt/entity'; + +const TM_HEADER = [0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70]; + +export async function Decrypt(file: File, raw_filename: string): Promise { + const audioData = new Uint8Array(await GetArrayBuffer(file)); + for (let cur = 0; cur < 8; ++cur) { + audioData[cur] = TM_HEADER[cur]; + } + const musicData = new Blob([audioData], { type: 'audio/mp4' }); + return await RawDecrypt(musicData, raw_filename, 'm4a', false); +} diff --git a/src/decrypt/utils.ts b/src/decrypt/utils.ts new file mode 100644 index 0000000..94b7593 --- /dev/null +++ b/src/decrypt/utils.ts @@ -0,0 +1,262 @@ +import { IAudioMetadata } from 'music-metadata-browser'; +import ID3Writer from 'browser-id3-writer'; +import MetaFlac from 'metaflac-js'; + +export const split_regex = /[ ]?[,;/_、][ ]?/; + +export const FLAC_HEADER = [0x66, 0x4c, 0x61, 0x43]; +export const MP3_HEADER = [0x49, 0x44, 0x33]; +export const OGG_HEADER = [0x4f, 0x67, 0x67, 0x53]; +export const M4A_HEADER = [0x66, 0x74, 0x79, 0x70]; +//prettier-ignore +export const WMA_HEADER = [ + 0x30, 0x26, 0xb2, 0x75, 0x8e, 0x66, 0xcf, 0x11, + 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c, +]; +export const WAV_HEADER = [0x52, 0x49, 0x46, 0x46]; +export const AAC_HEADER = [0xff, 0xf1]; +export const DFF_HEADER = [0x46, 0x52, 0x4d, 0x38]; + +export const AudioMimeType: { [key: string]: string } = { + mp3: 'audio/mpeg', + flac: 'audio/flac', + m4a: 'audio/mp4', + ogg: 'audio/ogg', + wma: 'audio/x-ms-wma', + wav: 'audio/x-wav', + dff: 'audio/x-dff', +}; + +export function BytesHasPrefix(data: Uint8Array, prefix: number[]): boolean { + if (prefix.length > data.length) return false; + return prefix.every((val, idx) => { + return val === data[idx]; + }); +} + +export function BytesEqual(a: Uint8Array, b: Uint8Array): boolean { + if (a.length !== b.length) return false; + return a.every((val, idx) => { + return val === b[idx]; + }); +} + +export function SniffAudioExt(data: Uint8Array, fallback_ext: string = 'mp3'): string { + if (BytesHasPrefix(data, MP3_HEADER)) return 'mp3'; + if (BytesHasPrefix(data, FLAC_HEADER)) return 'flac'; + if (BytesHasPrefix(data, OGG_HEADER)) return 'ogg'; + if (data.length >= 4 + M4A_HEADER.length && BytesHasPrefix(data.slice(4), M4A_HEADER)) return 'm4a'; + if (BytesHasPrefix(data, WAV_HEADER)) return 'wav'; + if (BytesHasPrefix(data, WMA_HEADER)) return 'wma'; + if (BytesHasPrefix(data, AAC_HEADER)) return 'aac'; + if (BytesHasPrefix(data, DFF_HEADER)) return 'dff'; + return fallback_ext; +} + +export function GetArrayBuffer(obj: Blob): Promise { + if (!!obj.arrayBuffer) return obj.arrayBuffer(); + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = (e) => { + const rs = e.target?.result; + if (!rs) { + reject('read file failed'); + } else { + resolve(rs as ArrayBuffer); + } + }; + reader.readAsArrayBuffer(obj); + }); +} + +export function GetCoverFromFile(metadata: IAudioMetadata): string { + if (metadata.common?.picture && metadata.common.picture.length > 0) { + return URL.createObjectURL( + new Blob([metadata.common.picture[0].data], { type: metadata.common.picture[0].format }), + ); + } + return ''; +} + +export interface IMusicMetaBasic { + title: string; + artist?: string; +} + +export function GetMetaFromFile( + filename: string, + exist_title?: string, + exist_artist?: string, + separator = '-', +): IMusicMetaBasic { + const meta: IMusicMetaBasic = { title: exist_title ?? '', artist: exist_artist }; + + const items = filename.split(separator); + if (items.length > 1) { + //由文件名和原metadata共同决定歌手tag(有时从文件名看有多个歌手,而metadata只有一个) + if (!meta.artist || meta.artist.split(split_regex).length < items[0].trim().split(split_regex).length) meta.artist = items[0].trim(); + if (!meta.title) meta.title = items[1].trim(); + } else if (items.length === 1) { + if (!meta.title) meta.title = items[0].trim(); + } + return meta; +} + +export async function GetImageFromURL( + src: string, +): Promise<{ mime: string; buffer: ArrayBuffer; url: string } | undefined> { + try { + const resp = await fetch(src); + const mime = resp.headers.get('Content-Type'); + if (mime?.startsWith('image/')) { + const buffer = await resp.arrayBuffer(); + const url = URL.createObjectURL(new Blob([buffer], { type: mime })); + return { buffer, url, mime }; + } + } catch (e) { + console.warn(e); + } +} + +export interface IMusicMeta { + title: string; + artists?: string[]; + album?: string; + albumartist?: string; + genre?: string[]; + picture?: ArrayBuffer; + picture_desc?: string; +} + +export function WriteMetaToMp3(audioData: Buffer, info: IMusicMeta, original: IAudioMetadata) { + const writer = new ID3Writer(audioData); + + // reserve original data + const frames = original.native['ID3v2.4'] || original.native['ID3v2.3'] || original.native['ID3v2.2'] || []; + frames.forEach((frame) => { + if (frame.id !== 'TPE1' && frame.id !== 'TIT2' && frame.id !== 'TALB') { + try { + writer.setFrame(frame.id, frame.value); + } catch (e) { + console.warn(`failed to write ID3 tag '${frame.id}'`); + } + } + }); + + const old = original.common; + writer + .setFrame('TPE1', old?.artists || info.artists || []) + .setFrame('TIT2', old?.title || info.title) + .setFrame('TALB', old?.album || info.album || ''); + if (info.picture) { + writer.setFrame('APIC', { + type: 3, + data: info.picture, + description: info.picture_desc || '', + }); + } + return writer.addTag(); +} + +export function WriteMetaToFlac(audioData: Buffer, info: IMusicMeta, original: IAudioMetadata) { + const writer = new MetaFlac(audioData); + const old = original.common; + if (!old.title && !old.album && old.artists) { + writer.setTag('TITLE=' + info.title); + writer.setTag('ALBUM=' + info.album); + if (info.artists) { + writer.removeTag('ARTIST'); + info.artists.forEach((artist) => writer.setTag('ARTIST=' + artist)); + } + } + + if (info.picture) { + writer.importPictureFromBuffer(Buffer.from(info.picture)); + } + return writer.save(); +} + +export function RewriteMetaToMp3(audioData: Buffer, info: IMusicMeta, original: IAudioMetadata) { + const writer = new ID3Writer(audioData); + + // preserve original data + const frames = original.native['ID3v2.4'] || original.native['ID3v2.3'] || original.native['ID3v2.2'] || []; + frames.forEach((frame) => { + if (frame.id !== 'TPE1' + && frame.id !== 'TIT2' + && frame.id !== 'TALB' + && frame.id !== 'TPE2' + && frame.id !== 'TCON' + ) { + try { + writer.setFrame(frame.id, frame.value); + } catch (e) { + throw new Error(`failed to write ID3 tag '${frame.id}'`); + } + } + }); + + const old = original.common; + writer + .setFrame('TPE1', info?.artists || old.artists || []) + .setFrame('TIT2', info?.title || old.title) + .setFrame('TALB', info?.album || old.album || '') + .setFrame('TPE2', info?.albumartist || old.albumartist || '') + .setFrame('TCON', info?.genre || old.genre || []); + if (info.picture) { + writer.setFrame('APIC', { + type: 3, + data: info.picture, + description: info.picture_desc || '', + }); + } + return writer.addTag(); +} + +export function RewriteMetaToFlac(audioData: Buffer, info: IMusicMeta, original: IAudioMetadata) { + const writer = new MetaFlac(audioData); + const old = original.common; + if (info.title) { + if (old.title) { + writer.removeTag('TITLE'); + } + writer.setTag('TITLE=' + info.title); + } + if (info.album) { + if (old.album) { + writer.removeTag('ALBUM'); + } + writer.setTag('ALBUM=' + info.album); + } + if (info.albumartist) { + if (old.albumartist) { + writer.removeTag('ALBUMARTIST'); + } + writer.setTag('ALBUMARTIST=' + info.albumartist); + } + if (info.artists) { + if (old.artists) { + writer.removeTag('ARTIST'); + } + info.artists.forEach((artist) => writer.setTag('ARTIST=' + artist)); + } + if (info.genre) { + if (old.genre) { + writer.removeTag('GENRE'); + } + info.genre.forEach((singlegenre) => writer.setTag('GENRE=' + singlegenre)); + } + + if (info.picture) { + writer.importPictureFromBuffer(Buffer.from(info.picture)); + } + return writer.save(); +} + +export function SplitFilename(n: string): { name: string; ext: string } { + const pos = n.lastIndexOf('.'); + return { + ext: n.substring(pos + 1).toLowerCase(), + name: n.substring(0, pos), + }; +} diff --git a/src/decrypt/ximalaya.ts b/src/decrypt/ximalaya.ts new file mode 100644 index 0000000..e8aedad --- /dev/null +++ b/src/decrypt/ximalaya.ts @@ -0,0 +1,193 @@ +import { parseBlob as metaParseBlob } from 'music-metadata-browser'; +import { AudioMimeType, SniffAudioExt, GetArrayBuffer, GetMetaFromFile } from './utils'; +import { DecryptResult } from '@/decrypt/entity'; + +const HandlerMap: Map Uint8Array> = new Map([ + ['x2m', ProcessX2M], + ['x3m', ProcessX3M], +]); + +export async function Decrypt(file: File, raw_filename: string, raw_ext: string): Promise { + const buffer = new Uint8Array(await GetArrayBuffer(file)); + const handler = HandlerMap.get(raw_ext); + if (!handler) throw 'File type is incorrect!'; + let musicDecoded: Uint8Array = handler(buffer); + + const ext = SniffAudioExt(musicDecoded, 'm4a'); + const mime = AudioMimeType[ext]; + + let musicBlob = new Blob([musicDecoded], { type: mime }); + + const musicMeta = await metaParseBlob(musicBlob); + + const info = GetMetaFromFile(raw_filename, musicMeta.common.title, musicMeta.common.artist); + + return { + picture: '', + title: info.title, + artist: info.artist, + ext: ext, + album: musicMeta.common.album, + blob: musicBlob, + file: URL.createObjectURL(musicBlob), + mime: mime, + }; +} + +function ProcessX2M(data: Uint8Array) { + const x2mHeaderSize = 1024; + const x2mKey = [0x78, 0x6d, 0x6c, 0x79]; + let encryptedHeader = data.slice(0, x2mHeaderSize); + for (let idx = 0; idx < x2mHeaderSize; idx++) { + let srcIdx = x2mScrambleTable[idx]; + data[idx] = encryptedHeader[srcIdx] ^ x2mKey[idx % x2mKey.length]; + } + return data; +} + +function ProcessX3M(data: Uint8Array) { + const x3mHeaderSize = 1024; + + //prettier-ignore: uint8, size 32(8x4) + const x3mKey = [ + 0x33, 0x39, 0x38, 0x39, 0x64, 0x31, 0x31, 0x31, 0x61, 0x61, 0x64, 0x35, 0x36, 0x31, 0x33, 0x39, 0x34, 0x30, 0x66, + 0x34, 0x66, 0x63, 0x34, 0x34, 0x62, 0x36, 0x33, 0x39, 0x62, 0x32, 0x39, 0x32, + ]; + + let encryptedHeader = data.slice(0, x3mHeaderSize); + for (let dstIdx = 0; dstIdx < x3mHeaderSize; dstIdx++) { + let srcIdx = x3mScrambleTable[dstIdx]; + data[dstIdx] = encryptedHeader[srcIdx] ^ x3mKey[dstIdx % x3mKey.length]; + } + return data; +} + +//prettier-ignore: uint16, size 1024 (64x16) +const x2mScrambleTable = [ + 0x2a9, 0x2ab, 0x154, 0x2aa, 0x2a8, 0x2ac, 0x153, 0x2a7, 0x2ad, 0x152, 0x2a6, 0x3ff, 0x000, 0x155, 0x2ae, 0x151, 0x2a5, + 0x3fe, 0x001, 0x156, 0x2af, 0x150, 0x2a4, 0x3fd, 0x002, 0x157, 0x2b0, 0x14f, 0x2a3, 0x3fc, 0x003, 0x158, 0x2b1, 0x14e, + 0x2a2, 0x3fb, 0x004, 0x159, 0x2b2, 0x14d, 0x2a1, 0x3fa, 0x005, 0x15a, 0x2b3, 0x14c, 0x2a0, 0x3f9, 0x006, 0x15b, 0x2b4, + 0x14b, 0x29f, 0x3f8, 0x007, 0x15c, 0x2b5, 0x14a, 0x29e, 0x3f7, 0x008, 0x15d, 0x2b6, 0x149, 0x29d, 0x3f6, 0x009, 0x15e, + 0x2b7, 0x148, 0x29c, 0x3f5, 0x00a, 0x15f, 0x2b8, 0x147, 0x29b, 0x3f4, 0x00b, 0x160, 0x2b9, 0x146, 0x29a, 0x3f3, 0x00c, + 0x161, 0x2ba, 0x145, 0x299, 0x3f2, 0x00d, 0x162, 0x2bb, 0x144, 0x298, 0x3f1, 0x00e, 0x163, 0x2bc, 0x143, 0x297, 0x3f0, + 0x00f, 0x164, 0x2bd, 0x142, 0x296, 0x3ef, 0x010, 0x165, 0x2be, 0x141, 0x295, 0x3ee, 0x011, 0x166, 0x2bf, 0x140, 0x294, + 0x3ed, 0x012, 0x167, 0x2c0, 0x13f, 0x293, 0x3ec, 0x013, 0x168, 0x2c1, 0x13e, 0x292, 0x3eb, 0x014, 0x169, 0x2c2, 0x13d, + 0x291, 0x3ea, 0x015, 0x16a, 0x2c3, 0x13c, 0x290, 0x3e9, 0x016, 0x16b, 0x2c4, 0x13b, 0x28f, 0x3e8, 0x017, 0x16c, 0x2c5, + 0x13a, 0x28e, 0x3e7, 0x018, 0x16d, 0x2c6, 0x139, 0x28d, 0x3e6, 0x019, 0x16e, 0x2c7, 0x138, 0x28c, 0x3e5, 0x01a, 0x16f, + 0x2c8, 0x137, 0x28b, 0x3e4, 0x01b, 0x170, 0x2c9, 0x136, 0x28a, 0x3e3, 0x01c, 0x171, 0x2ca, 0x135, 0x289, 0x3e2, 0x01d, + 0x172, 0x2cb, 0x134, 0x288, 0x3e1, 0x01e, 0x173, 0x2cc, 0x133, 0x287, 0x3e0, 0x01f, 0x174, 0x2cd, 0x0a9, 0x1fe, 0x357, + 0x020, 0x175, 0x2ce, 0x0aa, 0x1ff, 0x358, 0x021, 0x176, 0x2cf, 0x0ab, 0x200, 0x359, 0x022, 0x177, 0x2d0, 0x0ac, 0x201, + 0x35a, 0x023, 0x178, 0x2d1, 0x0ad, 0x202, 0x35b, 0x024, 0x179, 0x2d2, 0x0ae, 0x203, 0x35c, 0x025, 0x17a, 0x2d3, 0x0af, + 0x204, 0x35d, 0x026, 0x17b, 0x2d4, 0x0b0, 0x205, 0x35e, 0x027, 0x17c, 0x2d5, 0x0b1, 0x206, 0x35f, 0x028, 0x17d, 0x2d6, + 0x0b2, 0x207, 0x360, 0x029, 0x17e, 0x2d7, 0x0b3, 0x208, 0x361, 0x02a, 0x17f, 0x2d8, 0x0b4, 0x209, 0x362, 0x02b, 0x180, + 0x2d9, 0x0b5, 0x20a, 0x363, 0x02c, 0x181, 0x2da, 0x0b6, 0x20b, 0x364, 0x02d, 0x182, 0x2db, 0x0b7, 0x20c, 0x365, 0x02e, + 0x183, 0x2dc, 0x0b8, 0x20d, 0x366, 0x02f, 0x184, 0x2dd, 0x0b9, 0x20e, 0x367, 0x030, 0x185, 0x2de, 0x0ba, 0x20f, 0x368, + 0x031, 0x186, 0x2df, 0x0bb, 0x210, 0x369, 0x032, 0x187, 0x2e0, 0x0bc, 0x211, 0x36a, 0x033, 0x188, 0x2e1, 0x0bd, 0x212, + 0x36b, 0x034, 0x189, 0x2e2, 0x0be, 0x213, 0x36c, 0x035, 0x18a, 0x2e3, 0x0bf, 0x214, 0x36d, 0x036, 0x18b, 0x2e4, 0x0c0, + 0x215, 0x36e, 0x037, 0x18c, 0x2e5, 0x0c1, 0x216, 0x36f, 0x038, 0x18d, 0x2e6, 0x0c2, 0x217, 0x370, 0x039, 0x18e, 0x2e7, + 0x0c3, 0x218, 0x371, 0x03a, 0x18f, 0x2e8, 0x0c4, 0x219, 0x372, 0x03b, 0x190, 0x2e9, 0x0c5, 0x21a, 0x373, 0x03c, 0x191, + 0x2ea, 0x0c6, 0x21b, 0x374, 0x03d, 0x192, 0x2eb, 0x0c7, 0x21c, 0x375, 0x03e, 0x193, 0x2ec, 0x0c8, 0x21d, 0x376, 0x03f, + 0x194, 0x2ed, 0x0c9, 0x21e, 0x377, 0x040, 0x195, 0x2ee, 0x0ca, 0x21f, 0x378, 0x041, 0x196, 0x2ef, 0x0cb, 0x220, 0x379, + 0x042, 0x197, 0x2f0, 0x0cc, 0x221, 0x37a, 0x043, 0x198, 0x2f1, 0x0cd, 0x222, 0x37b, 0x044, 0x199, 0x2f2, 0x0ce, 0x223, + 0x37c, 0x045, 0x19a, 0x2f3, 0x0cf, 0x224, 0x37d, 0x046, 0x19b, 0x2f4, 0x0d0, 0x225, 0x37e, 0x047, 0x19c, 0x2f5, 0x0d1, + 0x226, 0x37f, 0x048, 0x19d, 0x2f6, 0x0d2, 0x227, 0x380, 0x049, 0x19e, 0x2f7, 0x0d3, 0x228, 0x381, 0x04a, 0x19f, 0x2f8, + 0x0d4, 0x229, 0x382, 0x04b, 0x1a0, 0x2f9, 0x0d5, 0x22a, 0x383, 0x04c, 0x1a1, 0x2fa, 0x0d6, 0x22b, 0x384, 0x04d, 0x1a2, + 0x2fb, 0x0d7, 0x22c, 0x385, 0x04e, 0x1a3, 0x2fc, 0x0d8, 0x22d, 0x386, 0x04f, 0x1a4, 0x2fd, 0x0d9, 0x22e, 0x387, 0x050, + 0x1a5, 0x2fe, 0x0da, 0x22f, 0x388, 0x051, 0x1a6, 0x2ff, 0x0db, 0x230, 0x389, 0x052, 0x1a7, 0x300, 0x0dc, 0x231, 0x38a, + 0x053, 0x1a8, 0x301, 0x0dd, 0x232, 0x38b, 0x054, 0x1a9, 0x302, 0x0de, 0x233, 0x38c, 0x055, 0x1aa, 0x303, 0x0df, 0x234, + 0x38d, 0x056, 0x1ab, 0x304, 0x0e0, 0x235, 0x38e, 0x057, 0x1ac, 0x305, 0x0e1, 0x236, 0x38f, 0x058, 0x1ad, 0x306, 0x0e2, + 0x237, 0x390, 0x059, 0x1ae, 0x307, 0x0e3, 0x238, 0x391, 0x05a, 0x1af, 0x308, 0x0e4, 0x239, 0x392, 0x05b, 0x1b0, 0x309, + 0x0e5, 0x23a, 0x393, 0x05c, 0x1b1, 0x30a, 0x0e6, 0x23b, 0x394, 0x05d, 0x1b2, 0x30b, 0x0e7, 0x23c, 0x395, 0x05e, 0x1b3, + 0x30c, 0x0e8, 0x23d, 0x396, 0x05f, 0x1b4, 0x30d, 0x0e9, 0x23e, 0x397, 0x060, 0x1b5, 0x30e, 0x0ea, 0x23f, 0x398, 0x061, + 0x1b6, 0x30f, 0x0eb, 0x240, 0x399, 0x062, 0x1b7, 0x310, 0x0ec, 0x241, 0x39a, 0x063, 0x1b8, 0x311, 0x0ed, 0x242, 0x39b, + 0x064, 0x1b9, 0x312, 0x0ee, 0x243, 0x39c, 0x065, 0x1ba, 0x313, 0x0ef, 0x244, 0x39d, 0x066, 0x1bb, 0x314, 0x0f0, 0x245, + 0x39e, 0x067, 0x1bc, 0x315, 0x0f1, 0x246, 0x39f, 0x068, 0x1bd, 0x316, 0x0f2, 0x247, 0x3a0, 0x069, 0x1be, 0x317, 0x0f3, + 0x248, 0x3a1, 0x06a, 0x1bf, 0x318, 0x0f4, 0x249, 0x3a2, 0x06b, 0x1c0, 0x319, 0x0f5, 0x24a, 0x3a3, 0x06c, 0x1c1, 0x31a, + 0x0f6, 0x24b, 0x3a4, 0x06d, 0x1c2, 0x31b, 0x0f7, 0x24c, 0x3a5, 0x06e, 0x1c3, 0x31c, 0x0f8, 0x24d, 0x3a6, 0x06f, 0x1c4, + 0x31d, 0x0f9, 0x24e, 0x3a7, 0x070, 0x1c5, 0x31e, 0x0fa, 0x24f, 0x3a8, 0x071, 0x1c6, 0x31f, 0x0fb, 0x250, 0x3a9, 0x072, + 0x1c7, 0x320, 0x0fc, 0x251, 0x3aa, 0x073, 0x1c8, 0x321, 0x0fd, 0x252, 0x3ab, 0x074, 0x1c9, 0x322, 0x0fe, 0x253, 0x3ac, + 0x075, 0x1ca, 0x323, 0x0ff, 0x254, 0x3ad, 0x076, 0x1cb, 0x324, 0x100, 0x255, 0x3ae, 0x077, 0x1cc, 0x325, 0x101, 0x256, + 0x3af, 0x078, 0x1cd, 0x326, 0x102, 0x257, 0x3b0, 0x079, 0x1ce, 0x327, 0x103, 0x258, 0x3b1, 0x07a, 0x1cf, 0x328, 0x104, + 0x259, 0x3b2, 0x07b, 0x1d0, 0x329, 0x105, 0x25a, 0x3b3, 0x07c, 0x1d1, 0x32a, 0x106, 0x25b, 0x3b4, 0x07d, 0x1d2, 0x32b, + 0x107, 0x25c, 0x3b5, 0x07e, 0x1d3, 0x32c, 0x108, 0x25d, 0x3b6, 0x07f, 0x1d4, 0x32d, 0x109, 0x25e, 0x3b7, 0x080, 0x1d5, + 0x32e, 0x10a, 0x25f, 0x3b8, 0x081, 0x1d6, 0x32f, 0x10b, 0x260, 0x3b9, 0x082, 0x1d7, 0x330, 0x10c, 0x261, 0x3ba, 0x083, + 0x1d8, 0x331, 0x10d, 0x262, 0x3bb, 0x084, 0x1d9, 0x332, 0x10e, 0x263, 0x3bc, 0x085, 0x1da, 0x333, 0x10f, 0x264, 0x3bd, + 0x086, 0x1db, 0x334, 0x110, 0x265, 0x3be, 0x087, 0x1dc, 0x335, 0x111, 0x266, 0x3bf, 0x088, 0x1dd, 0x336, 0x112, 0x267, + 0x3c0, 0x089, 0x1de, 0x337, 0x113, 0x268, 0x3c1, 0x08a, 0x1df, 0x338, 0x114, 0x269, 0x3c2, 0x08b, 0x1e0, 0x339, 0x115, + 0x26a, 0x3c3, 0x08c, 0x1e1, 0x33a, 0x116, 0x26b, 0x3c4, 0x08d, 0x1e2, 0x33b, 0x117, 0x26c, 0x3c5, 0x08e, 0x1e3, 0x33c, + 0x118, 0x26d, 0x3c6, 0x08f, 0x1e4, 0x33d, 0x119, 0x26e, 0x3c7, 0x090, 0x1e5, 0x33e, 0x11a, 0x26f, 0x3c8, 0x091, 0x1e6, + 0x33f, 0x11b, 0x270, 0x3c9, 0x092, 0x1e7, 0x340, 0x11c, 0x271, 0x3ca, 0x093, 0x1e8, 0x341, 0x11d, 0x272, 0x3cb, 0x094, + 0x1e9, 0x342, 0x11e, 0x273, 0x3cc, 0x095, 0x1ea, 0x343, 0x11f, 0x274, 0x3cd, 0x096, 0x1eb, 0x344, 0x120, 0x275, 0x3ce, + 0x097, 0x1ec, 0x345, 0x121, 0x276, 0x3cf, 0x098, 0x1ed, 0x346, 0x122, 0x277, 0x3d0, 0x099, 0x1ee, 0x347, 0x123, 0x278, + 0x3d1, 0x09a, 0x1ef, 0x348, 0x124, 0x279, 0x3d2, 0x09b, 0x1f0, 0x349, 0x125, 0x27a, 0x3d3, 0x09c, 0x1f1, 0x34a, 0x126, + 0x27b, 0x3d4, 0x09d, 0x1f2, 0x34b, 0x127, 0x27c, 0x3d5, 0x09e, 0x1f3, 0x34c, 0x128, 0x27d, 0x3d6, 0x09f, 0x1f4, 0x34d, + 0x129, 0x27e, 0x3d7, 0x0a0, 0x1f5, 0x34e, 0x12a, 0x27f, 0x3d8, 0x0a1, 0x1f6, 0x34f, 0x12b, 0x280, 0x3d9, 0x0a2, 0x1f7, + 0x350, 0x12c, 0x281, 0x3da, 0x0a3, 0x1f8, 0x351, 0x12d, 0x282, 0x3db, 0x0a4, 0x1f9, 0x352, 0x12e, 0x283, 0x3dc, 0x0a5, + 0x1fa, 0x353, 0x12f, 0x284, 0x3dd, 0x0a6, 0x1fb, 0x354, 0x130, 0x285, 0x3de, 0x0a7, 0x1fc, 0x355, 0x131, 0x286, 0x3df, + 0x0a8, 0x1fd, 0x356, 0x132, +]; + +//prettier-ignore: uint16, size 1024 (64x16) +const x3mScrambleTable = [ + 0x256, 0x28d, 0x213, 0x307, 0x156, 0x39d, 0x062, 0x170, 0x3ca, 0x035, 0x0ed, 0x2a4, 0x1e4, 0x359, 0x0d3, 0x26b, 0x265, + 0x274, 0x251, 0x297, 0x202, 0x322, 0x126, 0x32b, 0x117, 0x302, 0x15c, 0x3a8, 0x057, 0x148, 0x380, 0x090, 0x1f6, 0x335, + 0x10c, 0x2ee, 0x175, 0x3d4, 0x02b, 0x0cc, 0x260, 0x27b, 0x23d, 0x2bb, 0x1b6, 0x3a1, 0x05e, 0x157, 0x39e, 0x061, 0x16f, + 0x3c6, 0x039, 0x0f7, 0x2b9, 0x1b8, 0x39f, 0x060, 0x166, 0x3b9, 0x046, 0x122, 0x31c, 0x12f, 0x33d, 0x0fc, 0x2ca, 0x1a4, + 0x3cc, 0x033, 0x0e6, 0x293, 0x209, 0x315, 0x13d, 0x358, 0x0d5, 0x26e, 0x25e, 0x27d, 0x23a, 0x2c0, 0x1b1, 0x3af, 0x050, + 0x136, 0x346, 0x0ef, 0x2aa, 0x1ce, 0x376, 0x0a0, 0x210, 0x30c, 0x14c, 0x389, 0x082, 0x1db, 0x367, 0x0b9, 0x23e, 0x2ba, + 0x1b7, 0x3a0, 0x05f, 0x164, 0x3b7, 0x048, 0x125, 0x326, 0x11c, 0x30a, 0x14f, 0x38f, 0x070, 0x1a8, 0x3c7, 0x038, 0x0f5, + 0x2b5, 0x1bd, 0x393, 0x06c, 0x199, 0x3e1, 0x01e, 0x0b3, 0x22f, 0x2d7, 0x193, 0x3ea, 0x015, 0x09d, 0x20a, 0x314, 0x13e, + 0x35a, 0x0d2, 0x26a, 0x267, 0x272, 0x253, 0x294, 0x208, 0x319, 0x137, 0x34c, 0x0e7, 0x295, 0x205, 0x31d, 0x12e, 0x33c, + 0x0fe, 0x2cd, 0x1a0, 0x3d5, 0x02a, 0x0c8, 0x258, 0x286, 0x22a, 0x2dc, 0x18e, 0x3f7, 0x008, 0x07c, 0x1d3, 0x370, 0x0a7, + 0x21d, 0x2f1, 0x171, 0x3cd, 0x032, 0x0e5, 0x292, 0x20b, 0x313, 0x13f, 0x35c, 0x0d0, 0x266, 0x273, 0x252, 0x296, 0x204, + 0x31f, 0x12a, 0x332, 0x10f, 0x2f4, 0x16c, 0x3c3, 0x03c, 0x101, 0x2d2, 0x19a, 0x3e0, 0x01f, 0x0b5, 0x233, 0x2c9, 0x1a6, + 0x3c9, 0x036, 0x0f0, 0x2ab, 0x1cb, 0x37c, 0x095, 0x1fd, 0x328, 0x11a, 0x306, 0x158, 0x3a2, 0x05d, 0x155, 0x39c, 0x063, + 0x174, 0x3d3, 0x02c, 0x0cf, 0x264, 0x275, 0x24f, 0x299, 0x1fa, 0x32c, 0x115, 0x2ff, 0x15f, 0x3ab, 0x054, 0x143, 0x36c, + 0x0ad, 0x225, 0x2e5, 0x181, 0x3ef, 0x010, 0x08c, 0x1f1, 0x344, 0x0f3, 0x2af, 0x1c4, 0x386, 0x088, 0x1e3, 0x35b, 0x0d1, + 0x269, 0x268, 0x26d, 0x25f, 0x27c, 0x23b, 0x2bf, 0x1b2, 0x3ae, 0x051, 0x13b, 0x355, 0x0da, 0x278, 0x248, 0x2a6, 0x1dc, + 0x365, 0x0c0, 0x246, 0x2a8, 0x1d6, 0x36d, 0x0ac, 0x224, 0x2e8, 0x17e, 0x3eb, 0x014, 0x09c, 0x207, 0x31a, 0x133, 0x341, + 0x0f8, 0x2bc, 0x1b5, 0x3a3, 0x05c, 0x152, 0x395, 0x06a, 0x18c, 0x3f9, 0x006, 0x07a, 0x1d1, 0x373, 0x0a4, 0x217, 0x2fe, + 0x160, 0x3ad, 0x052, 0x13c, 0x357, 0x0d7, 0x270, 0x25c, 0x281, 0x235, 0x2c6, 0x1aa, 0x3bc, 0x043, 0x11d, 0x30d, 0x14a, + 0x384, 0x08a, 0x1e7, 0x353, 0x0dd, 0x284, 0x22e, 0x2d8, 0x192, 0x3ec, 0x013, 0x099, 0x201, 0x323, 0x124, 0x321, 0x127, + 0x32d, 0x114, 0x2fd, 0x161, 0x3b0, 0x04f, 0x135, 0x343, 0x0f4, 0x2b4, 0x1be, 0x392, 0x06d, 0x19d, 0x3db, 0x024, 0x0be, + 0x244, 0x2b0, 0x1c2, 0x38a, 0x080, 0x1d9, 0x369, 0x0b6, 0x234, 0x2c8, 0x1a7, 0x3c8, 0x037, 0x0f1, 0x2ad, 0x1c6, 0x383, + 0x08d, 0x1f2, 0x33b, 0x100, 0x2d1, 0x19b, 0x3de, 0x021, 0x0bb, 0x240, 0x2b6, 0x1bb, 0x399, 0x066, 0x17a, 0x3df, 0x020, + 0x0b8, 0x23c, 0x2bd, 0x1b4, 0x3a5, 0x05a, 0x150, 0x390, 0x06f, 0x1a5, 0x3cb, 0x034, 0x0ea, 0x29d, 0x1ee, 0x348, 0x0ec, + 0x2a3, 0x1e5, 0x356, 0x0d8, 0x271, 0x257, 0x289, 0x220, 0x2ec, 0x178, 0x3d9, 0x026, 0x0c2, 0x24b, 0x2a1, 0x1ea, 0x34d, + 0x0e4, 0x291, 0x20c, 0x312, 0x141, 0x360, 0x0ca, 0x25a, 0x283, 0x230, 0x2d0, 0x19c, 0x3dd, 0x022, 0x0bc, 0x241, 0x2b3, + 0x1bf, 0x391, 0x06e, 0x1a2, 0x3d1, 0x02e, 0x0d6, 0x26f, 0x25d, 0x27f, 0x237, 0x2c4, 0x1ac, 0x3ba, 0x045, 0x121, 0x318, + 0x138, 0x34e, 0x0e3, 0x28f, 0x211, 0x30b, 0x14d, 0x38c, 0x073, 0x1c3, 0x387, 0x084, 0x1df, 0x362, 0x0c7, 0x255, 0x28e, + 0x212, 0x309, 0x153, 0x396, 0x069, 0x18b, 0x3fa, 0x005, 0x079, 0x1d0, 0x374, 0x0a2, 0x215, 0x301, 0x15d, 0x3a9, 0x056, + 0x147, 0x37a, 0x098, 0x200, 0x324, 0x11f, 0x316, 0x13a, 0x352, 0x0df, 0x288, 0x223, 0x2e9, 0x17d, 0x3e9, 0x016, 0x09e, + 0x20d, 0x310, 0x144, 0x372, 0x0a5, 0x219, 0x2fa, 0x165, 0x3b8, 0x047, 0x123, 0x31e, 0x12d, 0x338, 0x107, 0x2e0, 0x188, + 0x3fe, 0x001, 0x075, 0x1c9, 0x37e, 0x093, 0x1f9, 0x32f, 0x112, 0x2f9, 0x167, 0x3be, 0x041, 0x10b, 0x2e7, 0x17f, 0x3ed, + 0x012, 0x097, 0x1ff, 0x325, 0x11e, 0x311, 0x142, 0x366, 0x0ba, 0x23f, 0x2b8, 0x1b9, 0x39b, 0x064, 0x176, 0x3d6, 0x029, + 0x0c5, 0x250, 0x298, 0x1fc, 0x329, 0x119, 0x304, 0x15a, 0x3a6, 0x059, 0x14e, 0x38e, 0x071, 0x1ad, 0x3b6, 0x049, 0x128, + 0x32e, 0x113, 0x2fc, 0x162, 0x3b2, 0x04d, 0x131, 0x33f, 0x0fa, 0x2c2, 0x1af, 0x3b3, 0x04c, 0x130, 0x33e, 0x0fb, 0x2c7, + 0x1a9, 0x3bd, 0x042, 0x116, 0x300, 0x15e, 0x3aa, 0x055, 0x146, 0x378, 0x09b, 0x206, 0x31b, 0x132, 0x340, 0x0f9, 0x2be, + 0x1b3, 0x3ac, 0x053, 0x140, 0x35d, 0x0ce, 0x262, 0x279, 0x247, 0x2a7, 0x1d7, 0x36b, 0x0ae, 0x226, 0x2e3, 0x185, 0x3f6, + 0x009, 0x07d, 0x1d4, 0x36f, 0x0a8, 0x21e, 0x2f0, 0x172, 0x3ce, 0x031, 0x0de, 0x287, 0x228, 0x2df, 0x189, 0x3fd, 0x002, + 0x076, 0x1ca, 0x37d, 0x094, 0x1fb, 0x32a, 0x118, 0x303, 0x15b, 0x3a7, 0x058, 0x14b, 0x388, 0x083, 0x1dd, 0x364, 0x0c1, + 0x24a, 0x2a2, 0x1e9, 0x350, 0x0e1, 0x28b, 0x21a, 0x2f8, 0x168, 0x3bf, 0x040, 0x10a, 0x2e6, 0x180, 0x3ee, 0x011, 0x091, + 0x1f7, 0x334, 0x10d, 0x2ef, 0x173, 0x3cf, 0x030, 0x0dc, 0x280, 0x236, 0x2c5, 0x1ab, 0x3bb, 0x044, 0x120, 0x317, 0x139, + 0x34f, 0x0e2, 0x28c, 0x218, 0x2fb, 0x163, 0x3b4, 0x04b, 0x12c, 0x337, 0x108, 0x2e2, 0x186, 0x3fc, 0x003, 0x077, 0x1cc, + 0x37b, 0x096, 0x1fe, 0x327, 0x11b, 0x308, 0x154, 0x397, 0x068, 0x183, 0x3f3, 0x00c, 0x085, 0x1e0, 0x361, 0x0c9, 0x259, + 0x285, 0x22c, 0x2da, 0x190, 0x3f2, 0x00d, 0x086, 0x1e1, 0x35f, 0x0cb, 0x25b, 0x282, 0x232, 0x2cc, 0x1a1, 0x3d2, 0x02d, + 0x0d4, 0x26c, 0x263, 0x277, 0x249, 0x2a5, 0x1de, 0x363, 0x0c6, 0x254, 0x290, 0x20e, 0x30f, 0x145, 0x377, 0x09f, 0x20f, + 0x30e, 0x149, 0x382, 0x08e, 0x1f3, 0x33a, 0x102, 0x2d3, 0x198, 0x3e2, 0x01d, 0x0b2, 0x22d, 0x2d9, 0x191, 0x3f1, 0x00e, + 0x087, 0x1e2, 0x35e, 0x0cd, 0x261, 0x27a, 0x243, 0x2b1, 0x1c1, 0x38b, 0x07f, 0x1d8, 0x36a, 0x0b4, 0x231, 0x2cf, 0x19e, + 0x3da, 0x025, 0x0bf, 0x245, 0x2ac, 0x1c7, 0x381, 0x08f, 0x1f5, 0x336, 0x109, 0x2e4, 0x184, 0x3f4, 0x00b, 0x081, 0x1da, + 0x368, 0x0b7, 0x239, 0x2c1, 0x1b0, 0x3b1, 0x04e, 0x134, 0x342, 0x0f6, 0x2b7, 0x1ba, 0x39a, 0x065, 0x179, 0x3dc, 0x023, + 0x0bd, 0x242, 0x2b2, 0x1c0, 0x38d, 0x072, 0x1bc, 0x398, 0x067, 0x182, 0x3f0, 0x00f, 0x08b, 0x1e8, 0x351, 0x0e0, 0x28a, + 0x21c, 0x2f3, 0x16d, 0x3c4, 0x03b, 0x0ff, 0x2ce, 0x19f, 0x3d7, 0x028, 0x0c4, 0x24e, 0x29b, 0x1f0, 0x345, 0x0f2, 0x2ae, + 0x1c5, 0x385, 0x089, 0x1e6, 0x354, 0x0db, 0x27e, 0x238, 0x2c3, 0x1ae, 0x3b5, 0x04a, 0x12b, 0x333, 0x10e, 0x2f2, 0x16e, + 0x3c5, 0x03a, 0x0fd, 0x2cb, 0x1a3, 0x3d0, 0x02f, 0x0d9, 0x276, 0x24c, 0x29f, 0x1ec, 0x34a, 0x0e9, 0x29c, 0x1ef, 0x347, + 0x0ee, 0x2a9, 0x1cf, 0x375, 0x0a1, 0x214, 0x305, 0x159, 0x3a4, 0x05b, 0x151, 0x394, 0x06b, 0x196, 0x3e6, 0x019, 0x0ab, + 0x222, 0x2ea, 0x17c, 0x3e5, 0x01a, 0x0af, 0x227, 0x2e1, 0x187, 0x3ff, 0x000, 0x074, 0x1c8, 0x37f, 0x092, 0x1f8, 0x331, + 0x110, 0x2f6, 0x16a, 0x3c1, 0x03e, 0x104, 0x2d5, 0x195, 0x3e7, 0x018, 0x0aa, 0x221, 0x2eb, 0x17b, 0x3e4, 0x01b, 0x0b0, + 0x229, 0x2dd, 0x18d, 0x3f8, 0x007, 0x07b, 0x1d2, 0x371, 0x0a6, 0x21b, 0x2f5, 0x16b, 0x3c2, 0x03d, 0x103, 0x2d4, 0x197, + 0x3e3, 0x01c, 0x0b1, 0x22b, 0x2db, 0x18f, 0x3f5, 0x00a, 0x07e, 0x1d5, 0x36e, 0x0a9, 0x21f, 0x2ed, 0x177, 0x3d8, 0x027, + 0x0c3, 0x24d, 0x29e, 0x1ed, 0x349, 0x0eb, 0x2a0, 0x1eb, 0x34b, 0x0e8, 0x29a, 0x1f4, 0x339, 0x106, 0x2de, 0x18a, 0x3fb, + 0x004, 0x078, 0x1cd, 0x379, 0x09a, 0x203, 0x320, 0x129, 0x330, 0x111, 0x2f7, 0x169, 0x3c0, 0x03f, 0x105, 0x2d6, 0x194, + 0x3e8, 0x017, 0x0a3, 0x216, +]; diff --git a/src/decrypt/xm.ts b/src/decrypt/xm.ts new file mode 100644 index 0000000..afa9841 --- /dev/null +++ b/src/decrypt/xm.ts @@ -0,0 +1,67 @@ +import { Decrypt as RawDecrypt } from '@/decrypt/raw'; +import { DecryptResult } from '@/decrypt/entity'; +import { AudioMimeType, BytesHasPrefix, GetArrayBuffer, GetCoverFromFile, GetMetaFromFile } from '@/decrypt/utils'; + +import { parseBlob as metaParseBlob } from 'music-metadata-browser'; + +const MagicHeader = [0x69, 0x66, 0x6d, 0x74]; +const MagicHeader2 = [0xfe, 0xfe, 0xfe, 0xfe]; +const FileTypeMap: { [key: string]: string } = { + ' WAV': '.wav', + FLAC: '.flac', + ' MP3': '.mp3', + ' A4M': '.m4a', +}; + +export async function Decrypt(file: File, raw_filename: string, raw_ext: string): Promise { + const oriData = new Uint8Array(await GetArrayBuffer(file)); + if (!BytesHasPrefix(oriData, MagicHeader) || !BytesHasPrefix(oriData.slice(8, 12), MagicHeader2)) { + if (raw_ext === 'xm') { + throw Error('此xm文件已损坏'); + } else { + return await RawDecrypt(file, raw_filename, raw_ext, true); + } + } + + let typeText = new TextDecoder().decode(oriData.slice(4, 8)); + if (!FileTypeMap.hasOwnProperty(typeText)) { + throw Error('未知的.xm文件类型'); + } + + let key = oriData[0xf]; + let dataOffset = oriData[0xc] | (oriData[0xd] << 8) | (oriData[0xe] << 16); + let audioData = oriData.slice(0x10); + let lenAudioData = audioData.length; + for (let cur = dataOffset; cur < lenAudioData; ++cur) audioData[cur] = (audioData[cur] - key) ^ 0xff; + + const ext = FileTypeMap[typeText]; + const mime = AudioMimeType[ext]; + let musicBlob = new Blob([audioData], { type: mime }); + + const musicMeta = await metaParseBlob(musicBlob); + if (ext === 'wav') { + //todo:未知的编码方式 + console.info(musicMeta.common); + musicMeta.common.album = ''; + musicMeta.common.artist = ''; + musicMeta.common.title = ''; + } + const { title, artist } = GetMetaFromFile( + raw_filename, + musicMeta.common.title, + String(musicMeta.common.artists || musicMeta.common.artist || ""), + raw_filename.indexOf('_') === -1 ? '-' : '_', + ); + + return { + title, + artist, + ext, + mime, + album: musicMeta.common.album, + picture: GetCoverFromFile(musicMeta), + file: URL.createObjectURL(musicBlob), + blob: musicBlob, + rawExt: 'xm', + }; +} diff --git a/src/extension/popup.html b/src/extension/popup.html new file mode 100644 index 0000000..b57bb19 --- /dev/null +++ b/src/extension/popup.html @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/extension/popup.js b/src/extension/popup.js new file mode 100644 index 0000000..4bd1c71 --- /dev/null +++ b/src/extension/popup.js @@ -0,0 +1,2 @@ +const bs = chrome || browser; +bs.tabs.create({ url: bs.runtime.getURL('./index.html') }, (tab) => console.log(tab)); diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..b046b80 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,56 @@ +import Vue from 'vue'; +import App from '@/App.vue'; +import '@/registerServiceWorker'; +import { + Button, + Checkbox, + Col, + Container, + Dialog, + Form, + FormItem, + Footer, + Icon, + Image, + Input, + Link, + Main, + Notification, + Progress, + Radio, + Row, + Table, + TableColumn, + Tooltip, + Upload, + MessageBox, +} from 'element-ui'; +import 'element-ui/lib/theme-chalk/base.css'; + +Vue.use(Link); +Vue.use(Image); +Vue.use(Button); +Vue.use(Dialog); +Vue.use(Form); +Vue.use(FormItem); +Vue.use(Input); +Vue.use(Table); +Vue.use(TableColumn); +Vue.use(Main); +Vue.use(Footer); +Vue.use(Container); +Vue.use(Icon); +Vue.use(Row); +Vue.use(Col); +Vue.use(Upload); +Vue.use(Checkbox); +Vue.use(Radio); +Vue.use(Tooltip); +Vue.use(Progress); +Vue.prototype.$notify = Notification; +Vue.prototype.$confirm = MessageBox.confirm; + +Vue.config.productionTip = false; +new Vue({ + render: (h) => h(App), +}).$mount('#app'); diff --git a/src/registerServiceWorker.js b/src/registerServiceWorker.js new file mode 100644 index 0000000..702b4f8 --- /dev/null +++ b/src/registerServiceWorker.js @@ -0,0 +1,30 @@ +/* eslint-disable no-console */ + +import { register } from 'register-service-worker'; + +if (process.env.NODE_ENV === 'production' && window.location.protocol === 'https:') { + register(`${process.env.BASE_URL}service-worker.js`, { + ready() { + console.log('App is being served from cache by a service worker.'); + }, + registered() { + console.log('Service worker has been registered.'); + }, + cached() { + console.log('Content has been cached for offline use.'); + }, + updatefound() { + console.log('New content is downloading.'); + }, + updated() { + console.log('New content is available.'); + window.location.reload(); + }, + offline() { + console.log('No internet connection found. App is running in offline mode.'); + }, + error(error) { + console.error('Error during service worker registration:', error); + }, + }); +} diff --git a/src/scss/_dark-mode.scss b/src/scss/_dark-mode.scss new file mode 100644 index 0000000..e90af2f --- /dev/null +++ b/src/scss/_dark-mode.scss @@ -0,0 +1,256 @@ +/* + * 样式 - 暗黑模式 + */ + +@media (prefers-color-scheme: dark) { + #app{ + color: $dark-text-info; + } + body{ + background-color: $dark-bg; + } + + // FORM + .el-radio{ + &__label{ + color: $dark-text-main; + } + &__input{ + color: $dark-text-info; + .el-radio__inner{ + border-color: $dark-border; + background-color: $dark-btn-bg; + } + } + + &.is-checked{ + .el-radio__inner{ + background-color: $blue; + } + .el-radio__label{ + font-weight: bold; + } + } + } + + .el-checkbox.is-bordered{ + border-color: $dark-border; + color: $dark-text-main; + background-color: $dark-btn-bg; + .el-checkbox__inner{ + background-color: $dark-btn-bg-highlight; + border-color: $dark-border-highlight; + } + &:hover{ + border-color: $dark-border-highlight; + .el-checkbox__inner{ + background-color: $dark-btn-bg-highlight; + border-color: $dark-border-highlight; + } + .el-checkbox__label{ + color: $dark-text-info; + } + } + &.is-checked{ + background-color: $blue; + .el-checkbox__inner{ + border-color: white; + } + .el-checkbox__label{ + color: white; + font-weight: bold; + } + &:hover{ + border-color: $blue; + .el-checkbox__inner{ + background-color: white; + } + } + } + } + + + + // BUTTON + .el-button{ + background-color: $dark-btn-bg; + border-color: $dark-border; + color: $dark-text-main; + + &:active{ + transform: translateY(2px); + } + + &--default{ + &.is-plain { + background-color: $dark-btn-bg; + &:hover { + background-color: $blue; + border-color: $blue; + color: white; + } + } + &.is-circle { + background-color: $dark-blue; + border-color: $dark-blue; + &:hover { + background-color: $blue; + border-color: $blue; + color: white; + } + } + } + + &--success{ + &.is-plain { + background-color: $dark-btn-bg; + &:hover { + background-color: $green; + border-color: $green; + color: white; + } + } + &.is-circle { + background-color: $dark-green; + border-color: $dark-green; + &:hover { + background-color: $green; + border-color: $green; + color: white; + } + } + } + &--danger{ + &.is-plain{ + border-color: $dark-border; + background-color: $dark-btn-bg; + &:hover{ + background-color: $red; + border-color: $red; + } + } + &.is-circle { + background-color: $dark-red; + border-color: $dark-red; + &:hover { + background-color: $red; + border-color: $red; + color: white; + } + } + } + } + + // 文件拖放区 + .el-upload__tip{ + color: $dark-text-info; + } + .el-upload-dragger{ + background-color: $dark-uploader-bg; + border-color: $dark-border; + .el-upload__text{ + color: $dark-text-info; + } + &:hover{ + background: $dark-uploader-bg-highlight; + border-color: $dark-border-highlight; + } + } + + // TABLE + .el-table{ + background-color: $dark-bg-td; + &:before{ // 去除表格末尾的横线 + content: none; + } + &__header{ + th{ + border-bottom-color: $dark-border !important; + } + } + th.el-table__cell{ + background-color: $dark-bg-th; + color: $dark-text-info; + } + td{ + border-bottom-color: $dark-border !important; + } + tr{ + background-color: $dark-bg-td; + color: $dark-text-main; + &:hover{ + td{ + background-color: $dark-bg-th !important; + } + } + } + } + + // LINKS + a{ + text-decoration: none; + color: darken($dark-color-link, 15%); + &:hover{ + color: $dark-color-link; + } + } + + // ALERT + .el-notification{ + background-color: $dark-btn-bg-highlight; + border-color: $dark-border; + &__title{ + color: white; + } + &__content{ + color: $dark-text-info; + } + } + + // DIALOG + .el-dialog{ + background-color: $dark-dialog-bg; + .el-dialog__header{ + .el-dialog__title{ + color: $dark-text-main; + } + } + .el-dialog__body{ + color: $dark-text-main; + .el-input{ + .el-input__inner{ + color: $dark-text-main; + background-color: $dark-btn-bg; + } + .el-input__suffix{ + .el-input__suffix-inner{ + } + } + .el-input__count{ + .el-input__count-inner{ + background-color: transparent; + } + } + } + } + .item-desc{ + color: $dark-text-info; + } + } + + + + // 自定义样式 + // 首页弹窗提示信息的 更新信息 面板 + .update-info{ + border: 1px solid $dark-btn-bg !important; + .update-title{ + color: $dark-text-main; + background-color: $dark-btn-bg !important; + } + .update-content{ + color: $dark-text-info; + padding: 10px; + } + } +} diff --git a/src/scss/_element-ui-overrite.scss b/src/scss/_element-ui-overrite.scss new file mode 100644 index 0000000..b452fd0 --- /dev/null +++ b/src/scss/_element-ui-overrite.scss @@ -0,0 +1,39 @@ +$color-checkbox: $blue; +$color-border-el: #DCDFE6; + +$btn-radius: 6px; + +/* FORM */ +// checkbox +.el-checkbox.is-bordered{ + @include border-radius($btn-radius) ; + &:hover{ + border-color: $color-checkbox; + .el-checkbox__label{ + color: $color-checkbox; + } + } + .el-checkbox__input.is-focus{ + .el-checkbox__inner{ + border-color: $color-border-el; + } + } + &.is-checked{ + background-color: $color-checkbox; + .el-checkbox__label{ + color: white; + } + .el-checkbox__inner{ + border-color: white; + background-color: white; + &:after{ + border-color: $color-checkbox; + } + } + } +} + +// el-button +.el-button{ + @include border-radius($btn-radius) ; +} diff --git a/src/scss/_gaps.scss b/src/scss/_gaps.scss new file mode 100644 index 0000000..f9cad59 --- /dev/null +++ b/src/scss/_gaps.scss @@ -0,0 +1,18 @@ +/* + * 间隔工具集 + */ + +$gap: 5px; +@for $item from 0 through 8 { + .mt-#{$item} { margin-top : $gap * $item !important;} + .mb-#{$item} { margin-bottom : $gap * $item !important;} + .ml-#{$item} { margin-left : $gap * $item !important;} + .mr-#{$item} { margin-right : $gap * $item !important;} + .m-#{$item} { margin : $gap * $item !important;} + + .pt-#{$item} { padding-top : $gap * $item !important;} + .pb-#{$item} { padding-bottom : $gap * $item !important;} + .pl-#{$item} { padding-left : $gap * $item !important;} + .pr-#{$item} { padding-right : $gap * $item !important;} + .p-#{$item} { padding : $gap * $item !important;} +} diff --git a/src/scss/_normal.scss b/src/scss/_normal.scss new file mode 100644 index 0000000..69ace39 --- /dev/null +++ b/src/scss/_normal.scss @@ -0,0 +1,38 @@ +body{ + font-family: $font-family; + font-size: $fz-main; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +#app { + text-align: center; + color: $text-main; + padding-top: 30px; +} + +#app-footer a { + padding-left: 0.2em; + padding-right: 0.2em; +} + +#app-footer { + text-align: center; + font-size: small; +} + +#app-control { + padding-top: 1em; + padding-bottom: 1em; +} + +audio{ + margin-bottom: 15px; // 播放控件与表格间隔 +} + +a{ + color: darken($color-link, 15%); + &:hover{ + color: $color-link; + } +} \ No newline at end of file diff --git a/src/scss/_utility.scss b/src/scss/_utility.scss new file mode 100644 index 0000000..141fedb --- /dev/null +++ b/src/scss/_utility.scss @@ -0,0 +1,72 @@ +// box-shadow +@mixin box-shadow($value...){ + -webkit-box-shadow: $value; + -moz-box-shadow: $value; + box-shadow: $value; +} + +// border-radius +@mixin border-radius($corner...){ + -webkit-border-radius: $corner; + -moz-border-radius: $corner; + border-radius: $corner; +} + +@mixin clearfix(){ + &:after{ + content: ''; + display: block; + clear: both; + visibility: hidden; + } +} + +@mixin transform($value){ + -webkit-transform: $value; + -moz-transform: $value; + -ms-transform: $value; + -o-transform: $value; + transform: $value; +} + +@mixin transition($value...){ + -webkit-transition: $value; + -moz-transition: $value; + -ms-transition: $value; + -o-transition: $value; + transition: $value; +} + +@mixin animation($value){ + animation: $value; + -webkit-animation: $value; +} + +@mixin linear-gradient($direct, $colors){ + background: linear-gradient($direct, $colors); + background: -webkit-linear-gradient($direct, $colors); + background: -moz-linear-gradient($direct, $colors); +} + +@mixin backdrop-filter($value){ + backdrop-filter: $value ; + -webkit-backdrop-filter: $value; +} + + +/* + Extension +*/ + +.unselectable { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.btn-like{ + &:active{ + @include transform(translateY(2px)) + } +} diff --git a/src/scss/_variables.scss b/src/scss/_variables.scss new file mode 100644 index 0000000..51cd555 --- /dev/null +++ b/src/scss/_variables.scss @@ -0,0 +1,35 @@ +// COLORS +$blue : #409EFF; +$red : #F56C6C; +$green : #85ce61; + +// TEXT +$text-main : #2C3E50; +$color-link: $blue; + +$fz-main: 14px; +$fz-mini-title: 13px; +$fz-mini-content: 12px; + +$font-family: "Helvetica Neue", Helvetica, "PingFang SC", +"Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif; + + +// DARK MODE +$dark-border : lighten(black, 25%); +$dark-border-highlight : lighten(black, 55%); +$dark-bg : lighten(black, 10%); +$dark-text-main : lighten(black, 90%); +$dark-text-info : lighten(black, 60%); +$dark-uploader-bg : lighten(black, 13%); +$dark-dialog-bg : lighten(black, 15%); +$dark-uploader-bg-highlight : lighten(black, 18%); +$dark-btn-bg : lighten(black, 20%); +$dark-btn-bg-highlight : lighten(black, 30%); +$dark-bg-th : lighten(black, 18%); +$dark-bg-td : lighten(black, 13%); +$dark-color-link : $green; + +$dark-blue : darken(desaturate($blue, 40%), 30%); +$dark-red : darken(desaturate($red, 50%), 30%); +$dark-green : darken(desaturate($green, 30%), 30%); diff --git a/src/scss/unlock-music.scss b/src/scss/unlock-music.scss new file mode 100644 index 0000000..178f28c --- /dev/null +++ b/src/scss/unlock-music.scss @@ -0,0 +1,26 @@ +@import "variables"; +@import "utility"; +@import "gaps"; +@import "element-ui-overrite"; + +@import "normal"; +@import "dark-mode"; // dark-mode 放在 normal 后面,以获得更高优先级 + + +// 首页弹窗提示信息的 更新信息 面板 +.update-info{ + @include border-radius(8px); + overflow: hidden; + border: 1px solid $color-border-el; + margin: 10px 0; + .update-title{ + font-size: $fz-mini-title; + padding: 5px 10px; + background-color: $color-border-el; + } + .update-content{ + font-size: $fz-mini-content; + line-height: 1.5; + padding: 10px; + } +} diff --git a/src/shims-browser-id3-writer.d.ts b/src/shims-browser-id3-writer.d.ts new file mode 100644 index 0000000..1f99de8 --- /dev/null +++ b/src/shims-browser-id3-writer.d.ts @@ -0,0 +1,23 @@ +declare module 'browser-id3-writer' { + export default class ID3Writer { + constructor(buffer: Buffer | ArrayBuffer); + + setFrame(name: string, value: string | object | string[]); + + addTag(): Uint8Array; + } +} + +declare module 'metaflac-js' { + export default class Metaflac { + constructor(buffer: Buffer); + + setTag(field: string); + + removeTag(name: string); + + importPictureFromBuffer(picture: Buffer); + + save(): Buffer; + } +} diff --git a/src/shims-fs.d.ts b/src/shims-fs.d.ts new file mode 100644 index 0000000..da1f7f9 --- /dev/null +++ b/src/shims-fs.d.ts @@ -0,0 +1,54 @@ +export interface FileSystemGetFileOptions { + create?: boolean; +} + +interface FileSystemCreateWritableOptions { + keepExistingData?: boolean; +} + +interface FileSystemRemoveOptions { + recursive?: boolean; +} + +interface FileSystemFileHandle { + getFile(): Promise; + + createWritable(options?: FileSystemCreateWritableOptions): Promise; +} + +enum WriteCommandType { + write = 'write', + seek = 'seek', + truncate = 'truncate', +} + +interface WriteParams { + type: WriteCommandType; + size?: number; + position?: number; + data: BufferSource | Blob | string; +} + +type FileSystemWriteChunkType = BufferSource | Blob | string | WriteParams; + +interface FileSystemWritableFileStream extends WritableStream { + write(data: FileSystemWriteChunkType): Promise; + + seek(position: number): Promise; + + truncate(size: number): Promise; + + close(): Promise; // should be implemented in WritableStream +} + +export declare interface FileSystemDirectoryHandle { + getFileHandle(name: string, options?: FileSystemGetFileOptions): Promise; + + removeEntry(name: string, options?: FileSystemRemoveOptions): Promise; +} + +declare global { + interface Window { + showDirectoryPicker?(): Promise; + } +} diff --git a/src/shims-tsx.d.ts b/src/shims-tsx.d.ts new file mode 100644 index 0000000..19b2740 --- /dev/null +++ b/src/shims-tsx.d.ts @@ -0,0 +1,15 @@ +import Vue, { VNode } from 'vue'; + +declare global { + namespace JSX { + // tslint:disable no-empty-interface + interface Element extends VNode {} + + // tslint:disable no-empty-interface + interface ElementClass extends Vue {} + + interface IntrinsicElements { + [elem: string]: any; + } + } +} diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts new file mode 100644 index 0000000..8f6f410 --- /dev/null +++ b/src/shims-vue.d.ts @@ -0,0 +1,4 @@ +declare module '*.vue' { + import Vue from 'vue'; + export default Vue; +} diff --git a/src/utils/MergeUint8Array.ts b/src/utils/MergeUint8Array.ts new file mode 100644 index 0000000..29f91e0 --- /dev/null +++ b/src/utils/MergeUint8Array.ts @@ -0,0 +1,15 @@ +export function MergeUint8Array(array: Uint8Array[]): Uint8Array { + let length = 0; + array.forEach((item) => { + length += item.length; + }); + + let mergedArray = new Uint8Array(length); + let offset = 0; + array.forEach((item) => { + mergedArray.set(item, offset); + offset += item.length; + }); + + return mergedArray; +} diff --git a/src/utils/__mocks__/qm_meta.ts b/src/utils/__mocks__/qm_meta.ts new file mode 100644 index 0000000..99c3cec --- /dev/null +++ b/src/utils/__mocks__/qm_meta.ts @@ -0,0 +1 @@ +export const extractQQMusicMeta = jest.fn(); diff --git a/src/utils/__mocks__/storage.ts b/src/utils/__mocks__/storage.ts new file mode 100644 index 0000000..af9fd67 --- /dev/null +++ b/src/utils/__mocks__/storage.ts @@ -0,0 +1,4 @@ +export const storage = { + loadJooxUUID: jest.fn(), + saveJooxUUID: jest.fn(), +}; diff --git a/src/utils/api.ts b/src/utils/api.ts new file mode 100644 index 0000000..8854543 --- /dev/null +++ b/src/utils/api.ts @@ -0,0 +1,113 @@ +export const IXAREA_API_ENDPOINT = 'https://um-api.ixarea.com'; + +export interface UpdateInfo { + Found: boolean; + HttpsFound: boolean; + Version: string; + URL: string; + Detail: string; +} + +export async function checkUpdate(version: string): Promise { + const resp = await fetch(IXAREA_API_ENDPOINT + '/music/app-version', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ Version: version }), + }); + return await resp.json(); +} + +export interface CoverInfo { + Id: string; + Type: number; +} + +export async function queryAlbumCover(title: string, artist?: string, album?: string): Promise { + const endpoint = IXAREA_API_ENDPOINT + '/music/qq-cover'; + const params = new URLSearchParams([ + ['Title', title], + ['Artist', artist ?? ''], + ['Album', album ?? ''], + ]); + const resp = await fetch(`${endpoint}?${params.toString()}`); + return await resp.json(); +} + +export interface TrackInfo { + id: number; + type: number; + mid: string; + name: string; + title: string; + subtitle: string; + singer: { + id: number; + mid: string; + name: string; + title: string; + type: number; + uin: number; + }[]; + album: { + id: number; + mid: string; + name: string; + title: string; + subtitle: string; + time_public: string; + pmid: string; + }; + interval: number; + index_cd: number; + index_album: number; +} + +export interface SongItemInfo { + title: string; + content: { + value: string; + }[]; +} + +export interface SongInfoResponse { + info: { + company: SongItemInfo; + genre: SongItemInfo; + intro: SongItemInfo; + lan: SongItemInfo; + pub_time: SongItemInfo; + }; + extras: { + name: string; + transname: string; + subtitle: string; + from: string; + wikiurl: string; + }; + track_info: TrackInfo; +} + +export interface RawQMBatchResponse { + code: number; + ts: number; + start_ts: number; + traceid: string; + req_1: { + code: number; + data: T; + }; +} + +export async function querySongInfoById(id: string | number): Promise { + const url = `${IXAREA_API_ENDPOINT}/meta/qq-music-raw/${id}`; + const result: RawQMBatchResponse = await fetch(url).then((r) => r.json()); + if (result.code === 0 && result.req_1.code === 0) { + return result.req_1.data; + } + + throw new Error('请求信息失败'); +} + +export function getQMImageURLFromPMID(pmid: string, type = 1): string { + return `${IXAREA_API_ENDPOINT}/music/qq-cover/${type}/${pmid}`; +} diff --git a/src/utils/qm_meta.ts b/src/utils/qm_meta.ts new file mode 100644 index 0000000..d93d44f --- /dev/null +++ b/src/utils/qm_meta.ts @@ -0,0 +1,156 @@ +import { IAudioMetadata, parseBlob as metaParseBlob } from 'music-metadata-browser'; +import iconv from 'iconv-lite'; + +import { + GetCoverFromFile, + GetImageFromURL, + GetMetaFromFile, + WriteMetaToFlac, + WriteMetaToMp3, + AudioMimeType, + split_regex, +} from '@/decrypt/utils'; +import { getQMImageURLFromPMID, queryAlbumCover, querySongInfoById } from '@/utils/api'; + +interface MetaResult { + title: string; + artist: string; + album: string; + imgUrl: string; + blob: Blob; +} + +const fromGBK = (text?: string) => iconv.decode(new Buffer(text || ''), 'gbk'); + +/** + * + * @param musicBlob 音乐文件(解密后) + * @param name 文件名 + * @param ext 原始后缀名 + * @param id 曲目 ID(number类型或纯数字组成的字符串) + * @returns Promise + */ +export async function extractQQMusicMeta( + musicBlob: Blob, + name: string, + ext: string, + id?: number | string, +): Promise { + const musicMeta = await metaParseBlob(musicBlob); + for (let metaIdx in musicMeta.native) { + if (!musicMeta.native.hasOwnProperty(metaIdx)) continue; + if (musicMeta.native[metaIdx].some((item) => item.id === 'TCON' && item.value === '(12)')) { + console.warn('try using gbk encoding to decode meta'); + musicMeta.common.artist = ''; + if (!musicMeta.common.artists) { + musicMeta.common.artist = fromGBK(musicMeta.common.artist); + } + else { + musicMeta.common.artist = musicMeta.common.artists.map(fromGBK).join(); + } + musicMeta.common.title = fromGBK(musicMeta.common.title); + musicMeta.common.album = fromGBK(musicMeta.common.album); + } + } + + if (id && id !== '0') { + try { + return fetchMetadataFromSongId(id, ext, musicMeta, musicBlob); + } catch (e) { + console.warn('在线获取曲目信息失败,回退到本地 meta 提取', e); + } + } + + const info = GetMetaFromFile(name, musicMeta.common.title, musicMeta.common.artist); + info.artist = info.artist || ''; + + let imageURL = GetCoverFromFile(musicMeta); + if (!imageURL) { + imageURL = await getCoverImage(info.title, info.artist, musicMeta.common.album); + } + + return { + title: info.title, + artist: info.artist, + album: musicMeta.common.album || '', + imgUrl: imageURL, + blob: await writeMetaToAudioFile({ + title: info.title, + artists: info.artist.split(split_regex), + ext, + imageURL, + musicMeta, + blob: musicBlob, + }), + }; +} + +async function fetchMetadataFromSongId( + id: number | string, + ext: string, + musicMeta: IAudioMetadata, + blob: Blob, +): Promise { + const info = await querySongInfoById(id); + const imageURL = getQMImageURLFromPMID(info.track_info.album.pmid); + const artists = info.track_info.singer.map((singer) => singer.name); + + return { + title: info.track_info.title, + artist: artists.join(','), + album: info.track_info.album.name, + imgUrl: imageURL, + + blob: await writeMetaToAudioFile({ + title: info.track_info.title, + artists, + ext, + imageURL, + musicMeta, + blob, + }), + }; +} + +async function getCoverImage(title: string, artist?: string, album?: string): Promise { + try { + const data = await queryAlbumCover(title, artist, album); + return getQMImageURLFromPMID(data.Id, data.Type); + } catch (e) { + console.warn(e); + } + return ''; +} + +interface NewAudioMeta { + title: string; + artists: string[]; + ext: string; + + musicMeta: IAudioMetadata; + + blob: Blob; + imageURL: string; +} + +async function writeMetaToAudioFile(info: NewAudioMeta): Promise { + try { + const imageInfo = await GetImageFromURL(info.imageURL); + if (!imageInfo) { + console.warn('获取图像失败'); + } + const newMeta = { picture: imageInfo?.buffer, title: info.title, artists: info.artists }; + const buffer = Buffer.from(await info.blob.arrayBuffer()); + const mime = AudioMimeType[info.ext] || AudioMimeType.mp3; + if (info.ext === 'mp3') { + return new Blob([WriteMetaToMp3(buffer, newMeta, info.musicMeta)], { type: mime }); + } else if (info.ext === 'flac') { + return new Blob([WriteMetaToFlac(buffer, newMeta, info.musicMeta)], { type: mime }); + } else { + console.info('writing metadata for ' + info.ext + ' is not being supported for now'); + } + } catch (e) { + console.warn('Error while appending cover image to file ' + e); + } + return info.blob; +} diff --git a/src/utils/storage.ts b/src/utils/storage.ts new file mode 100644 index 0000000..4d9cac0 --- /dev/null +++ b/src/utils/storage.ts @@ -0,0 +1,3 @@ +import storageFactory from './storage/StorageFactory'; + +export const storage = storageFactory(); diff --git a/src/utils/storage/BaseStorage.ts b/src/utils/storage/BaseStorage.ts new file mode 100644 index 0000000..466efee --- /dev/null +++ b/src/utils/storage/BaseStorage.ts @@ -0,0 +1,17 @@ +export const KEY_PREFIX = 'um.conf.'; +const KEY_JOOX_UUID = `${KEY_PREFIX}joox.uuid`; + +export default abstract class BaseStorage { + protected abstract save(name: string, value: T): Promise; + protected abstract load(name: string, defaultValue: T): Promise; + public abstract getAll(): Promise>; + public abstract setAll(obj: Record): Promise; + + public saveJooxUUID(uuid: string): Promise { + return this.save(KEY_JOOX_UUID, uuid); + } + + public loadJooxUUID(defaultValue: string = ''): Promise { + return this.load(KEY_JOOX_UUID, defaultValue); + } +} diff --git a/src/utils/storage/BrowserNativeStorage.ts b/src/utils/storage/BrowserNativeStorage.ts new file mode 100644 index 0000000..4dd5c17 --- /dev/null +++ b/src/utils/storage/BrowserNativeStorage.ts @@ -0,0 +1,43 @@ +import BaseStorage, { KEY_PREFIX } from './BaseStorage'; + +export default class BrowserNativeStorage extends BaseStorage { + public static get works() { + return typeof localStorage !== 'undefined' && localStorage.getItem; + } + + protected async load(name: string, defaultValue: T): Promise { + const result = localStorage.getItem(name); + if (result === null) { + return defaultValue; + } + try { + return JSON.parse(result); + } catch { + return defaultValue; + } + } + + protected async save(name: string, value: T): Promise { + localStorage.setItem(name, JSON.stringify(value)); + } + + public async getAll(): Promise> { + const result = {}; + for (const [key, value] of Object.entries(localStorage)) { + if (key.startsWith(KEY_PREFIX)) { + try { + Object.assign(result, { [key]: JSON.parse(value) }); + } catch { + // ignored + } + } + } + return result; + } + + public async setAll(obj: Record): Promise { + for (const [key, value] of Object.entries(obj)) { + await this.save(key, value); + } + } +} diff --git a/src/utils/storage/ChromeExtensionStorage.ts b/src/utils/storage/ChromeExtensionStorage.ts new file mode 100644 index 0000000..5f2f063 --- /dev/null +++ b/src/utils/storage/ChromeExtensionStorage.ts @@ -0,0 +1,47 @@ +import BaseStorage, { KEY_PREFIX } from './BaseStorage'; + +declare var chrome: any; + +export default class ChromeExtensionStorage extends BaseStorage { + static get works(): boolean { + return typeof chrome !== 'undefined' && Boolean(chrome?.storage?.local?.set); + } + + protected async load(name: string, defaultValue: T): Promise { + return new Promise((resolve) => { + chrome.storage.local.get({ [name]: defaultValue }, (result: any) => { + if (Object.prototype.hasOwnProperty.call(result, name)) { + resolve(result[name]); + } else { + resolve(defaultValue); + } + }); + }); + } + + protected async save(name: string, value: T): Promise { + return new Promise((resolve) => { + chrome.storage.local.set({ [name]: value }, resolve); + }); + } + + public async getAll(): Promise> { + return new Promise((resolve) => { + chrome.storage.local.get(null, (obj: Record) => { + const result: Record = {}; + for (const [key, value] of Object.entries(obj)) { + if (key.startsWith(KEY_PREFIX)) { + result[key] = value; + } + } + resolve(result); + }); + }); + } + + public async setAll(obj: Record): Promise { + return new Promise((resolve) => { + chrome.storage.local.set(obj, resolve); + }); + } +} diff --git a/src/utils/storage/InMemoryStorage.ts b/src/utils/storage/InMemoryStorage.ts new file mode 100644 index 0000000..b44f26f --- /dev/null +++ b/src/utils/storage/InMemoryStorage.ts @@ -0,0 +1,32 @@ +import BaseStorage from './BaseStorage'; + +export default class InMemoryStorage extends BaseStorage { + private values = new Map(); + protected async load(name: string, defaultValue: T): Promise { + if (this.values.has(name)) { + return this.values.get(name); + } + + return defaultValue; + } + + protected async save(name: string, value: T): Promise { + this.values.set(name, value); + } + + public async getAll(): Promise> { + const result = {}; + this.values.forEach((value, key) => { + Object.assign(result, { + [key]: value, + }); + }); + return result; + } + + public async setAll(obj: Record): Promise { + for (const [key, value] of Object.entries(obj)) { + this.values.set(key, value); + } + } +} diff --git a/src/utils/storage/StorageFactory.ts b/src/utils/storage/StorageFactory.ts new file mode 100644 index 0000000..9fa9b30 --- /dev/null +++ b/src/utils/storage/StorageFactory.ts @@ -0,0 +1,13 @@ +import BaseStorage from './BaseStorage'; +import BrowserNativeStorage from './BrowserNativeStorage'; +import ChromeExtensionStorage from './ChromeExtensionStorage'; +import InMemoryStorage from './InMemoryStorage'; + +export default function storageFactory(): BaseStorage { + if (ChromeExtensionStorage.works) { + return new ChromeExtensionStorage(); + } else if (BrowserNativeStorage.works) { + return new BrowserNativeStorage(); + } + return new InMemoryStorage(); +} diff --git a/src/utils/tea.test.ts b/src/utils/tea.test.ts new file mode 100644 index 0000000..bb3fbee --- /dev/null +++ b/src/utils/tea.test.ts @@ -0,0 +1,73 @@ +// Copyright 2021 MengYX. All rights reserved. +// +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in https://go.dev/LICENSE. + +import { TeaCipher } from '@/utils/tea'; + +test('key size', () => { + // prettier-ignore + const testKey = new Uint8Array([ + 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, + 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, + 0x00, + ]) + expect(() => new TeaCipher(testKey.slice(0, 16))).not.toThrow(); + + expect(() => new TeaCipher(testKey)).toThrow(); + + expect(() => new TeaCipher(testKey.slice(0, 15))).toThrow(); +}); + +// prettier-ignore +const teaTests = [ + // These were sourced from https://github.com/froydnj/ironclad/blob/master/testing/test-vectors/tea.testvec + { + rounds: TeaCipher.numRounds, + key: new Uint8Array([ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + ]), + plainText: new Uint8Array([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]), + cipherText: new Uint8Array([0x41, 0xea, 0x3a, 0x0a, 0x94, 0xba, 0xa9, 0x40]), + }, + { + rounds: TeaCipher.numRounds, + key: new Uint8Array([ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + ]), + plainText: new Uint8Array([0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]), + cipherText: new Uint8Array([0x31, 0x9b, 0xbe, 0xfb, 0x01, 0x6a, 0xbd, 0xb2]), + }, + { + rounds: 16, + key: new Uint8Array([ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + ]), + plainText: new Uint8Array([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]), + cipherText: new Uint8Array([0xed, 0x28, 0x5d, 0xa1, 0x45, 0x5b, 0x33, 0xc1]), + }, +]; + +test('rounds', () => { + const tt = teaTests[0]; + expect(() => new TeaCipher(tt.key, tt.rounds - 1)).toThrow(); +}); + +test('encrypt & decrypt', () => { + for (const tt of teaTests) { + const c = new TeaCipher(tt.key, tt.rounds); + + const buf = new Uint8Array(8); + const bufView = new DataView(buf.buffer); + + c.encrypt(bufView, new DataView(tt.plainText.buffer)); + expect(buf).toStrictEqual(tt.cipherText); + + c.decrypt(bufView, new DataView(tt.cipherText.buffer)); + expect(buf).toStrictEqual(tt.plainText); + } +}); diff --git a/src/utils/tea.ts b/src/utils/tea.ts new file mode 100644 index 0000000..0a93d6a --- /dev/null +++ b/src/utils/tea.ts @@ -0,0 +1,80 @@ +// Copyright 2021 MengYX. All rights reserved. +// +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in https://go.dev/LICENSE. + +// TeaCipher is a typescript port to golang.org/x/crypto/tea + +// Package tea implements the TEA algorithm, as defined in Needham and +// Wheeler's 1994 technical report, “TEA, a Tiny Encryption Algorithm”. See +// http://www.cix.co.uk/~klockstone/tea.pdf for details. +// +// TEA is a legacy cipher and its short block size makes it vulnerable to +// birthday bound attacks (see https://sweet32.info). It should only be used +// where compatibility with legacy systems, not security, is the goal. + +export class TeaCipher { + // BlockSize is the size of a TEA block, in bytes. + static readonly BlockSize = 8; + + // KeySize is the size of a TEA key, in bytes. + static readonly KeySize = 16; + + // delta is the TEA key schedule constant. + static readonly delta = 0x9e3779b9; + + // numRounds 64 is the standard number of rounds in TEA. + static readonly numRounds = 64; + + k0: number; + k1: number; + k2: number; + k3: number; + rounds: number; + + constructor(key: Uint8Array, rounds: number = TeaCipher.numRounds) { + if (key.length != 16) { + throw Error('incorrect key size'); + } + if ((rounds & 1) != 0) { + throw Error('odd number of rounds specified'); + } + + const k = new DataView(key.buffer); + this.k0 = k.getUint32(0, false); + this.k1 = k.getUint32(4, false); + this.k2 = k.getUint32(8, false); + this.k3 = k.getUint32(12, false); + this.rounds = rounds; + } + + encrypt(dst: DataView, src: DataView) { + let v0 = src.getUint32(0, false); + let v1 = src.getUint32(4, false); + + let sum = 0; + for (let i = 0; i < this.rounds / 2; i++) { + sum = sum + TeaCipher.delta; + v0 += ((v1 << 4) + this.k0) ^ (v1 + sum) ^ ((v1 >>> 5) + this.k1); + v1 += ((v0 << 4) + this.k2) ^ (v0 + sum) ^ ((v0 >>> 5) + this.k3); + } + + dst.setUint32(0, v0, false); + dst.setUint32(4, v1, false); + } + + decrypt(dst: DataView, src: DataView) { + let v0 = src.getUint32(0, false); + let v1 = src.getUint32(4, false); + + let sum = (TeaCipher.delta * this.rounds) / 2; + for (let i = 0; i < this.rounds / 2; i++) { + v1 -= ((v0 << 4) + this.k2) ^ (v0 + sum) ^ ((v0 >>> 5) + this.k3); + v0 -= ((v1 << 4) + this.k0) ^ (v1 + sum) ^ ((v1 >>> 5) + this.k1); + sum -= TeaCipher.delta; + } + dst.setUint32(0, v0, false); + dst.setUint32(4, v1, false); + } +} diff --git a/src/utils/utils.ts b/src/utils/utils.ts new file mode 100644 index 0000000..2917592 --- /dev/null +++ b/src/utils/utils.ts @@ -0,0 +1,80 @@ +import { DecryptResult } from '@/decrypt/entity'; +import { FileSystemDirectoryHandle } from '@/shims-fs'; + +export enum FilenamePolicy { + ArtistAndTitle, + TitleOnly, + TitleAndArtist, + SameAsOriginal, +} + +export const FilenamePolicies: { key: FilenamePolicy; text: string }[] = [ + { key: FilenamePolicy.ArtistAndTitle, text: '歌手-歌曲名' }, + { key: FilenamePolicy.TitleOnly, text: '歌曲名' }, + { key: FilenamePolicy.TitleAndArtist, text: '歌曲名-歌手' }, + { key: FilenamePolicy.SameAsOriginal, text: '同源文件名' }, +]; + +export function GetDownloadFilename(data: DecryptResult, policy: FilenamePolicy): string { + switch (policy) { + case FilenamePolicy.TitleOnly: + return `${data.title}.${data.ext}`; + case FilenamePolicy.TitleAndArtist: + return `${data.title} - ${data.artist}.${data.ext}`; + case FilenamePolicy.SameAsOriginal: + return `${data.rawFilename}.${data.ext}`; + default: + case FilenamePolicy.ArtistAndTitle: + return `${data.artist} - ${data.title}.${data.ext}`; + } +} + +export async function DirectlyWriteFile(data: DecryptResult, policy: FilenamePolicy, dir: FileSystemDirectoryHandle) { + let filename = GetDownloadFilename(data, policy); + // prevent filename exist + try { + await dir.getFileHandle(filename); + filename = `${new Date().getTime()} - ${filename}`; + } catch (e) {} + const file = await dir.getFileHandle(filename, { create: true }); + const w = await file.createWritable(); + await w.write(data.blob); + await w.close(); +} + +export function DownloadBlobMusic(data: DecryptResult, policy: FilenamePolicy) { + const a = document.createElement('a'); + a.href = data.file; + a.download = GetDownloadFilename(data, policy); + document.body.append(a); + a.click(); + a.remove(); +} + +export function RemoveBlobMusic(data: DecryptResult) { + URL.revokeObjectURL(data.file); + if (data.picture?.startsWith('blob:')) { + URL.revokeObjectURL(data.picture); + } +} + +export class DecryptQueue { + private readonly pending: (() => Promise)[]; + + constructor() { + this.pending = []; + } + + queue(fn: () => Promise) { + this.pending.push(fn); + this.consume(); + } + + private consume() { + const fn = this.pending.shift(); + if (fn) + fn() + .then(() => this.consume) + .catch(console.error); + } +} diff --git a/src/utils/worker.ts b/src/utils/worker.ts new file mode 100644 index 0000000..8fc5281 --- /dev/null +++ b/src/utils/worker.ts @@ -0,0 +1,4 @@ +import { expose } from 'threads/worker'; +import { Decrypt } from '@/decrypt'; + +expose(Decrypt); diff --git a/src/view/Home.vue b/src/view/Home.vue new file mode 100644 index 0000000..69a6f5d --- /dev/null +++ b/src/view/Home.vue @@ -0,0 +1,255 @@ + + + diff --git a/testdata/mflac0_rc4_key.bin b/testdata/mflac0_rc4_key.bin new file mode 100644 index 0000000..3bd0914 --- /dev/null +++ b/testdata/mflac0_rc4_key.bin @@ -0,0 +1 @@ +dRzX3p5ZYqAlp7lLSs9Zr0rw1iEZy23bB670x4ch2w97x14Zwpk1UXbKU4C2sOS7uZ0NB5QM7ve9GnSrr2JHxP74hVNONwVV77CdOOVb807317KvtI5Yd6h08d0c5W88rdV46C235YGDjUSZj5314YTzy0b6vgh4102P7E273r911Nl464XV83Hr00rkAHkk791iMGSJH95GztN28u2Nv5s9Xx38V69o4a8aIXxbx0g1EM0623OEtbtO9zsqCJfj6MhU7T8iVS6M3q19xhq6707E6r7wzPO6Yp4BwBmgg4F95Lfl0vyF7YO6699tb5LMnr7iFx29o98hoh3O3Rd8h9Juu8P1wG7vdnO5YtRlykhUluYQblNn7XwjBJ53HAyKVraWN5dG7pv7OMl1s0RykPh0p23qfYzAAMkZ1M422pEd07TA9OCKD1iybYxWH06xj6A8mzmcnYGT9P1a5Ytg2EF5LG3IknL2r3AUz99Y751au6Cr401mfAWK68WyEBe5 \ No newline at end of file diff --git a/testdata/mflac0_rc4_key_raw.bin b/testdata/mflac0_rc4_key_raw.bin new file mode 100644 index 0000000..39c8a3b --- /dev/null +++ b/testdata/mflac0_rc4_key_raw.bin @@ -0,0 +1 @@ +ZFJ6WDNwNVrjEJZB1o6QjkQV2ZbHSw/2Eb00q1+4z9SVWYyFWO1PcSQrJ5326ubLklmk2ab3AEyIKNUu8DFoAoAc9dpzpTmc+pdkBHjM/bW2jWx+dCyC8vMTHE+DHwaK14UEEGW47ZXMDi7PRCQ2Jpm/oXVdHTIlyrc+bRmKfMith0L2lFQ+nW8CCjV6ao5ydwkZhhNOmRdrCDcUXSJH9PveYwra9/wAmGKWSs9nemuMWKnbjp1PkcxNQexicirVTlLX7PVgRyFyzNyUXgu+R2S4WTmLwjd8UsOyW/dc2mEoYt+vY2lq1X4hFBtcQGOAZDeC+mxrN0EcW8tjS6P4TjOjiOKNMxIfMGSWkSKL3H7z5K7nR1AThW20H2bP/LcpsdaL0uZ/js1wFGpdIfFx9rnLC78itL0WwDleIqp9TBMX/NwakGgIPIbjBwfgyD8d8XKYuLEscIH0ZGdjsadB5XjybgdE3ppfeFEcQiqpnodlTaQRm3KDIF9ATClP0mTl8XlsSojsZ468xseS1Ib2iinx/0SkK3UtJDwp8DH3/+ELisgXd69Bf0pve7wbrQzzMUs9/Ogvvo6ULsIkQfApJ8cSegDYklzGXiLNH7hZYnXDLLSNejD7NvQouULSmGsBbGzhZ5If0NP/6AhSbpzqWLDlabTDgeWWnFeZpBnlK6SMxo+YFFk1Y0XLKsd69+jj \ No newline at end of file diff --git a/testdata/mflac0_rc4_raw.bin b/testdata/mflac0_rc4_raw.bin new file mode 100644 index 0000000000000000000000000000000000000000..fd7e4afe62236f24c18cdec4f26f6317c1688798 GIT binary patch literal 65536 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

t6rsLzvALz3hzq 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 O+%NO<^XG36X3al!=I|~6 literal 0 HcmV?d00001 diff --git a/testdata/mflac0_rc4_target.bin b/testdata/mflac0_rc4_target.bin new file mode 100644 index 0000000000000000000000000000000000000000..a7f86c7c322f94ffe0844c6b156afe8bb8bf2441 GIT binary patch literal 65536 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�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­3$+SHRto681zN;>&dC_ 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 literal 0 HcmV?d00001 diff --git a/testdata/mflac_map_key.bin b/testdata/mflac_map_key.bin new file mode 100644 index 0000000..7fd7a72 --- /dev/null +++ b/testdata/mflac_map_key.bin @@ -0,0 +1 @@ +yw7xWOyNQ8585Jwx3hjB49QLPKi38F89awnrQ0fq66NT9TDq1ppHNrFqhaDrU5AFk916D58I53h86304GqOFCCyFzBem68DqiXJ81bILEQwG3P3MOnoNzM820kNW9Lv9IJGNn9Xo497p82BLTm4hAX8JLBs0T2pilKvT429sK9jfg508GSk4d047Jxdz5Fou4aa33OkyFRBU3x430mgNBn04Lc9BzXUI2IGYXv3FGa9qE4Vb54kSjVv8ogbg47j3 \ No newline at end of file diff --git a/testdata/mflac_map_key_raw.bin b/testdata/mflac_map_key_raw.bin new file mode 100644 index 0000000..f088613 --- /dev/null +++ b/testdata/mflac_map_key_raw.bin @@ -0,0 +1 @@ +eXc3eFdPeU6+3f7GVeF35bMpIEIQj5JWOWt7G+jsR68Hx3BUFBavkTQ8dpPdP0XBIwPe+OfdsnTGVQqPyg3GCtQSrkgA0mwSQdr4DPzKLkEZFX+Cf1V6ChyipOuC6KT37eAxWMdV1UHf9/OCvydr1dc6SWK1ijRUcP6IAHQhiB+mZLay7XXrSPo32WjdBkn9c9sa2SLtI48atj5kfZ4oOq6QGeld2JA3Z+3wwCe6uTHthKaEHY8ufDYodEe3qqrjYpzkdx55pCtxCQa1JiNqFmJigWm4m3CDzhuJ7YqnjbD+mXxLi7BP1+z4L6nccE2h+DGHVqpGjR9+4LBpe4WHB4DrAzVp2qQRRQJxeHd1v88= \ No newline at end of file diff --git a/testdata/mflac_map_raw.bin b/testdata/mflac_map_raw.bin new file mode 100644 index 0000000000000000000000000000000000000000..18f70e55b2df793815231875452af81d852399ba GIT binary patch literal 65536 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 wmR|l Bck2KE literal 0 HcmV?d00001 diff --git a/testdata/mflac_map_target.bin b/testdata/mflac_map_target.bin new file mode 100644 index 0000000000000000000000000000000000000000..791905758c6648b87d3b76ed31ea358811bf8d7e GIT binary patch literal 65536 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 literal 0 HcmV?d00001 diff --git a/testdata/mflac_rc4_key.bin b/testdata/mflac_rc4_key.bin new file mode 100644 index 0000000..8f1104c --- /dev/null +++ b/testdata/mflac_rc4_key.bin @@ -0,0 +1 @@ +pUtyvqr0TgAvR95mNmY7DmNl386TsJNAEIz95CEcgIgJCcs28686O7llxD5E74ldn70xMtd5cG58TA5ILw09I8BOTf5EdHKd6wwPn689DUK13y3Req6H0P33my2miJ5bQ2AA22B8vp4V0NJ3hBqNtFf7cId48V6W51e1kwgu1xKKawxe9BByT92MFlqrFaKH32dB2zFgyd38l2P1outr4l2XLq48F9G17ptRz4W8Loxu28RvZgv0BzL26Ht9I2L5VCwMzzt7OeZ55iQs40Tr6k81QGraIUJj5zeBMgJRMTaSgi19hU5x5a08Qd662MbFhZZ0FjVvaDy1nbIDhrC62c1lX6wf70O45h4W42VxloBVeZ9Sef4V7cWrjrEjj3DJ5w2iu6Q9uoal2f4390kue42Um5HcDFWqv3m56k6O89bRV424PaRra1k9Cd2L56IN2zfBYqNo2WP5VC68G8w1hfflOY0O52h4WdcpoHSjZm4b35N7l47dT4dwEXj1U4J5 \ No newline at end of file diff --git a/testdata/mflac_rc4_key_raw.bin b/testdata/mflac_rc4_key_raw.bin new file mode 100644 index 0000000..1633371 --- /dev/null +++ b/testdata/mflac_rc4_key_raw.bin @@ -0,0 +1 @@ +cFV0eXZxcjAF/IXJ9qJT1u5C3S5AgY9BoVtIQNBKfxQMt5hH7BF36ndIJGV5L6qw5h4G0IOIOOewdHmMCNfKJftHM4nv3B0iRlSdqJKdL08wO3sV0v8eZk0OiYAlxgseGcBquQWYS/0b5Lj/Ioi2NfpOthAY9vUiRPnfH3+7/2AJGudHjj4Gg1KkpPW3mXIKbsk+Ou9fhrUqs873BCdsmI6qRmVNhOkLaUcbG6Zin3XU0WkgnnjebR43S8N4bw5BTphFvhy42QvspnD7Ewb1tVZQMQ2N1s38nBjukdfCB9R6aRwITOvg2U7Lr0RjLpbrIn6A6iVilpINjK4VptuKUTlpDXQwgCjoqeHQaHNCWgYpdjB69lXn8km/BfzK7QyDbh0VgTikwAHF9tvPhin3AIDRcU0xsaWYKURRfJelX3pSN495ADlhXdEKL/+l60hVnY7t6iCMxJL3lOtdGtdUYUGUCc76PB1fX+0HTWCcfcwvXTEdczr9J1h2yTeJNqFQ5pNy8vX7Ws8k7vDQVFkw4llZjPhb0kg9aDNePTNIKSGwy/7eofrcUQlC9DI+qqqwQ5abA/93fNsPq6XU3uwawnrbBsdz8DDdjJiEDI7abkPIDIfr/uR0YzgBxW90t5bt6xAtuW+VSYAM7kGxI3RZTl7JgOT60MLyIWkYASrRhRPMGks8zL10ED/4yGTEB1nt \ No newline at end of file diff --git a/testdata/mflac_rc4_raw.bin b/testdata/mflac_rc4_raw.bin new file mode 100644 index 0000000000000000000000000000000000000000..6f02875d9555b09e3ea6d0a0e07816ffa837ed9c GIT binary patch literal 65536 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 BEA0RP literal 0 HcmV?d00001 diff --git a/testdata/mflac_rc4_suffix.bin b/testdata/mflac_rc4_suffix.bin new file mode 100644 index 0000000000000000000000000000000000000000..3762b4c9e9be5def6783fa2f431100275e820566 GIT binary patch literal 708 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 z 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 ChIgj` literal 0 HcmV?d00001 diff --git a/testdata/mgg_map_target.bin b/testdata/mgg_map_target.bin new file mode 100644 index 0000000000000000000000000000000000000000..f318eb9800fff51c7f169e2b3ddf2d06ca994a7d GIT binary patch literal 65536 zcmbSz1yogCx9FxDloF6sI;A_MQ@UF~T0lCL5=20{JEglr>6Y%6?mYB)8~wlk{`bBy z?i=GR*4}5&wdY!U&z@_Ybx^XfPz7Lte-&9(KexwACvEg^Fr+Xp_Kqf&PLB<+;>C|2 zU^)DYTo0r4*z@1zu_p`&ow|0`JoyRzZ^Z%b??8;;eJ#uP@0gVwEy!&wO*H-tPcB2w z_KKDB73(Wba@w`zfPYsyL=YbxJk(^=Hi0c1WPB25v9tMYg<`AiW+ z0G@)09eXMAQyfw03o<^Tvh|Yt%d_p|L@V;`6l90p;1bu zQ$}SR&QW#=RW${5usG{$x|mJ7I8VEHYbONi)_ZH$2kOoQ>O%sJ34;Drue_HbkM$4f zDz!|meOFX#J5b3uP>KEr z1%Lrj9!rL0Qr`bn&9&pq{@+#PT`xT#0`juQfw;$kQbL8Y$B_}~4~KgJP^Ka(j9rc# zQcfH_P6A++`XJsHBR_O5kM)lb9>op-BCNz+4#a&RH&mF$9XU0f1gD)8ra@Lba^!z6 zAOGkJNC-u$d7PCWGJB-)AGY{`!xCg7zefN2BoN_q=5O+(UrA>}yqHNF8HKpX<3B>w zl4%+W6O#W(&}Nu$9h4L0 zWn)rh7gSeM*L1Pfj(47~3)G)+UY_<|p8jh1Ea-nK*1s(W0F5T#k4?sygt7Ld_$!K` z{1xy&mg9ii^NqOg8>L(&rNS8F&?$$~8OJD&gffSMDxUr*p7S`qnJSn5IH%dTy4j?Q z*=((uZk@Mw?Y|7>uh}e5JO78}JetT0-tcwlDER-foDACVHJ zX}xD|q<{>rJLyQY__wVS0WhS&V1fs}SSAGntRD{y@P*QyROVD5>bE5Az`ww}-A0?)T8eql>?xI06_U)8 zIEFYvvaH0^sfO6q{{aid)CE;P=;!S;%8xrYlrp}K6C4G>!heI{yGf_ze+TRJqiZ(qduUZ?D z#enlK5KnzFt}u^DRb6|tu@YSyUtPU6@w?4G;A3$9Q~V0P*D9!+C0g~fO~;z`R{jet z1i=~*1OPu6B)|{A=@$W62;)Z!0KscoaUk1zDi{@T6v9ollgvXYWyS?YI5M@{h&Ok=al#X>`0C*|^fO0q_@IcG_Ll-Fkdtq zV7LlB71)gi01Db+0P=RpZ$l`OpHMNhQGgs+fPlEC5@ekGC6>h1js14s7FR9 zbE?OhSw1ocKm>uSIQ+c|2fo(3 zURi(~R4P_Pinr)uy#xWcV#sv4Pp|>t)e4v;8Ho|na=fJiB2mF$mmLF!ESX%f&#YVI zF=Hx$PfUkJX>)T6Si8w%qExJvO~XWKsdA^XtSLZHwnSoD>=D%YqVio$)~ck7AXlw0 z1_W7U3!P*^&@@H`5~K5_Vv08R0~?ral??H2y#@0w9W+4X-FpDwFE@4$h|a2L2gL;o zxP#GNO!hG=dqR;*U^>Ve9I5h{q^X6nb`zUog0BwdY)BN~09z^kPaek`7DY~V3J2dc z;1_RCg3}YRtrXKiUgS)tFxJf!Fe!n3RPg5#Tr>nI^p7+?0bK?`M}kurFJfu{D#aH0 z2TU>gLN#Pwq)ewLvNDBkn0#~;VEm%*0zs6_m>3-f<{%YW+T5H8m2a#8U|<8O4Q0&> zh*Xg+tkDQ#%?wZj8*5F%zJe&A?%R&Npl(&MWO&f+DEPXa|On{H!8acPMD9;?-4I|;-4NM2#Nz_)!!QdF)IIDfp}m- z{7;V<>du#GAJTNarrCq@PJu?JmlfQlHHID=Y~8}mk%E;9xs9@HN(+CL!GW4xz& zjQLdHUGPSXEN$i^UT(}|W9*+BDzYdb4D#%;3B34w{?kO43qA;J{L_Rj`&^N3L5zvKSt z`gnSLlfMJ~yXpTAglS)VhUq7S^WW?XoIbn?0!8LH%$p0^5U5`<(sZDHDaz6bKFT9C zAjad5py=o>2wu}tfXvye2vX!j&aIxX#-a#_(XlFokg^rf=0>R;3D&$(v7+l<@|2^h z8q=|E*;+0l#{qj$LFL3Db`t3t#~g(0E>>i%I{b@!vC> z|C-~l!T^4tUjSe<${DJvt+MM2qno$=+i5;@n!oMMRU7;*{_7>@gbCG5Cf>pdg3)74 z0N4PaQ@NP4+knA@ARx+$5koXgG^D|-n|6b8a|(P?w3cdbjLM*PDAfmfI!U@bY_aZ` z98mM=K8)!M3)ZR0f-^fma-dx#U=SV_;f)dKhA^LC=Ky{`VPE&WfBGa+u9x-|Eiulp zOg;u6^5g}(_zM$OY54-g(9j*g$l)Ue8NkNDHO9=GF#tUK;4uC1$)_g)sLd#1y&JhwsB+m9%q%0a|LjcEY0Qj`JMSD51)XLh?uyfw5+`18x=J$Mu6oBAOrwW zc;qjV5_!WhBd{W$e0v&&9gP!%3uZAQ;AG|zM+AU{{X3U_gkfR-&ZqqzC&^%WoKHXA zePL|ojSmB}3$=uXKntLS&_-wlv<6xS9Z>^NeK_xq3dr8HBbEk1NiNV(XMh+*Ty_bQ zK5@{=0)DpbHlJeq-ulrCL1Nv;TAo4jA%M3~K1&&kDctqO04L0vBMQ-1$s1XLlR7yz zEG3#|{j7n7^v$m$U94vfJTFc-tcTK?hcC}|8dRnH=A<14y_mxj%eowfQP<1oLtn+)cz1EQJ7Kj47ZY^DKlT0`#3%&2M z!HQq-PBwKY>^)wH^(R02%v%B3@cB^M#`n@bjYYe%d00-d*4!tDK<(;?)Sq8D7#ICB zs-~g6GSZgg>%4LT{pTnL(>#W8a`tPf(E+hqafBoFP{G4(l50g-W}|W2vzb1qzw`$& zp=4F2EjP+VXFI?RlX1mqh@yEB4?5k6H-KlSfA2`}y zb2@7rp1(&3(HHX68t7Ojm{$4Z{bs!tUUa-FmzgTpX>On$VsMHf^V&rImYPW}#5^~- ztryq%{=-t8zR8q;S!=sgg&ygb;ZwdoRPI#k4X^hr(U|bpRBl59&T>w*l!|Kr$mix- zZd%|y=N;c(T{Zx$A|T-V^_>+sO>@*%g`)A}fSmsA;JMocNrF$RHK;5-6!LS4D2^sLRZHR0$oGrc!RZ7jL9BO`6t8935Y#lL#uynUft zF&g0|o7}deZ+?gs+V(-_L4K;40d_mfcW^l5vqeK^qjqq-RfF^Lk<;S4NuSNZhQ{0V z7kH=c-qY{f&I&rdD2(DEqnsl184iqTzhkjV=OVW-yrFm@_BIGwlbt}RWTD!YKWKDi zI1^WDIFJ;Vr@hdDePk_jzA1hCBvH_pHf^Bgtr)b?uQqpK=%XK#7QNgdG0BR+%$@&7S+8bq1{++O zix62co3I7#-!~5l%tSUz-aWYZo>#9!^}?MlMaf$uk$;w2yDUT52p4$WMG=KFq?5ok zqQRD6-}Zt!xlO0T#X2%lGKGCflyabz^R6++_w_eXgvKDlx^pyiAOnVxU^}gG-dSCt zG`c=q8nkbX`AoaxWXg@M7xZZT=>dI5XD5w`1lG^|k`(uxw%Y6xyZdU$q)rlOBA1;e zZ_Y!UYNpc<9#EBIJfSS3=xEm-9yiTlXNxYTPQmv0sfPQtiqs*ipBtTST}QO;)_z`} z6&a?R@o=5opMFh+*n1T?w_0{S_etO$nHVWr^I)7YyTRkIsSV_U$Y(#jZM7&vk z7Lo3|&-<*(Os?}{Z(}AJqPu(+wPxa*k!)8#ba+$25Fdhpb3JnRR&aV?Yv;^!(1%xf zv!=X@Y=X^@V#|~YTESF)IIwfHnm&2MblF6%XdWX=pi{(nZ&0LjVH<6)5vo^ZMWGW> zBRG+C$Ib?A38~KdcGHs0!iW1*cr?9wKbkl0mtZZyv^)EcUwt+jB7;K06F5%>;wW{P zukdW6sMSmE1{__lj{`qc3)!ZRcpc6EFrVMp=?RG)hZAW?zaF|1|FAsm$pU(!;6@E=J(J6l z;5;8E*O9Fb$TUp;&AFsuLx>oU&Br3o*8Q3IM7L>#*}?S2;taAu;WXFQ%srSy>584n zqWJj%QUT`CWCJJVqdrdz*tm{!%04Z*BG|V5%<$FXK@QY`$LHZRx$ZRiIbuE(mco+^i7ZB%-i3rF@zt)z;yF1Wmi& z#cAfX(0)UsbYBsf&qaaV%>tPvIcwS<8XJin5%R>@_+7tRb(gE4Q5r-{V@uZWwlS4K zMSXGhA+N%IGDO-if$OE|%k}!LBy_fwGI@2knMmmYUmgJijfQc+d^^$Tykz!ly;+Z7 zd!veMGhC~&4DC{wd7!v0M~Gtt@$`PTfhm118*6D%%4%Z;7D(gtG90UW(+>L<<0#^k z3YM}+okzq?BN2s5WEKV=;BNZmyb|geMc2xnemAxi#p?oFb8O07Rn5qY3%T{a zA@Y^45Kc1`*t%JbpwnT2;z~UnJM~fjCi^Z7^}>xOVWdb;j*fI-po-om-fk0gYHZ^@ z>84I@cEvp!(DilY)ua}#&WO5Jm6-4jK`(6^ITXxST2?QO(=u4*x0p@~P%ADGt0>>` zG`_^$4?dZmncuVXSu9zqvsx`ypr)B!?mH`C|CmW}#lnH6FJ^Y8M1@1&e{a!cJ>jgV z87nU-n2wnr>lte?(&anjajQPNRec|MEz8U@<@imlRa=rhQ>Zb9_sljk-4lZT>z%MY zBh#eN(LpKJZ$@oWPQ7UY+ICcNj4eR~?Tj3xz%EFUVaWL-G zo9|u$p095DZQFw5%4<)Ts5wT|(E0E>+=qh{@E9EI8hD1Nrtd_b9Wt^2*V zw`FqJ@lS4!Fu89G}q%BQ!Y=QPX3bM{h7>-lk+D5>~-+hOHw8g`Vt(9CuY96E2wVU z<9L$O$R4~$qny~uBQoje{fTgtYJn&xUaocWT-lA8=7;sUl54C3Wz7)>K&E5u;|zw+Oxz62h|TkCO@f**)O zhzd{KlNVb{U~l<-&DQh8jlH95e7((myx_tkK2AE265IN3U0l7K$d8}RzFj@KI2C@q zzgRi4SUMz(gSuE|2TRfK5!6pwqBNO1<(mvm*Ke|Je1N3lRXwyVx<|}y^uWbK_7b;o z6*g{oJu>{oBkOPHn}dY(Acm@XORG}uyM;(C>1lm4PIcB*WO4#Y*ypLi=0khe_#{br zhYLxim;+%7f(br7Bqr0WjnA&{TNcL|&DD=3IQXyJrt`nyIC?DQPfEqp-XyN58$!K2 zOy}Fek%a&Snz-)~Y`4=eJw}5=<=rEZh?*aphuc|qnRu=FH67lM3@MNe$gY+%axInS zdJem5LMnLL&(Cc+iWCuLogeik$^S3H-rJF(k* zHP5Iuxb%fr9FpH3B>b#)o;ubd)Nn3&fTed+_4Q$L9k?dLjOzkSty8>4qy!8&iv_6? zINVU+RXeyE+cP6eR<0fJEDj@ByZcWPQ}+ZQmrh6N4@7|-XFEkFtD3xiM1Ff|{jo)| zCZPz%sT3mA6p1JOANQ!MJpP}_opc#8PJGaSl(|5x!9;8a)mRs}LYmQT2GOEn!eJj^b z83{it3z@T4c(D@ovh?LrPb?~KZl{?^(%d(ZhBnhCqv|XiE@$zK#|MY_CNeR_m90nF zMtcX)Ev9>VC$=rm$#P$OS)6Z;5)3d+G(~{4_E|*j-JCTa_OYifsxD8;qwUD>n&(AZ z)ipxSgU6rVVn4wdxrS;Z4^ZktuB3WmtM=cs$ON>5#0}t?jniC$>$3@wZwInetrGrjX}xMQ-RF#-;1OJ z8g}j~9w+@aQ8yM5D{DWfUiUp2-9{Q9vcwLgAd2>cdDngGZ;%$kv#vhF=Nd{sKY@w{rfWA{DC~Kd2AD;*?c>=UmJV z8G+bK{BGmQdB+8luDf%lYe$`%6Gdmpy297!bM*6z`$cGSQkL}#>HSVQZY$+?aoyqs z(?&j)WQRG9a9aLeuEQU`#;$TKMz|9{gfmEUGn|#;c<);&O_D{d(jx16mDz^3Sif^g zuMRnLck=GyRKb!{b8I^(H8gHvu`{0-OHC!bTeedqkxjh%b9$k60YvIs^-78THpLMV^LZrqe4B_>Zeb~u-G`)rCk>|vqN7wl388) za=Z9;Xed!BKnO{nL-1yyhl=mr3y7~pd^%gSz8N!q4{;q*z~GUiuUvQBUOB}LapaAZ z{H5<|`o+g7=5XQZbc~Hwi|ig&R2i`*$VD%_vX^3tUSkQZ#+2R1oxQZaI3(<49sYyE z{fN7>UpM}P6ivf1Wju@XX<4RcwmFxv56iP(sJD+=cHAJ%#Rqe@oDD=vd0mXDadDr|GJ)r!M}92<-vcWYDwt zJyP?EM56L#AD#5J?uQ>B$^m;F6K_w9t)lSfT9ULcqWk-` zE6r`;1rUs|llR!#k%Rojr{H*s`xO;r-@d8&~^JG2|nDLs#>TuD?L?BD@I)QlZOwXb5fb9zW7HwFxR6 zH+9C+yB#4A`Jp-U``dk=>T7cvd;bN+a^bk^5B`LyRplj1&?~Yw^epH|57o`X8Z>I% zUH|3Umu&S?8x7%+)BsMeik`9KSiCaZFybVGrS9P_!qKqSOF5DEX4|IDA7%P97@^0T zUId)@sTYV%^+z@k`r-|*Z|K3rD1*$XU~ms8z# zBw69-R+kt)k0BYL9!bB^w(2)`>N)@2zEseB?tQrhW$+N+KO+>FI&7)axrK&ZonNp! zZrOU)K0tg96q_N=dkxWxGfjrs17l-e#)Fo658HV{v_XfA7}c#)S6%-1u5WnK`?x}< zR1J~L3p;h|LU_Zb=c=rHxEgpr=Nj%(1notn#it)MZnV8ltJc4yMfE20J=iu9Vt|lg zJ#Y8+fP)vS89$V%`&2mO>gK8j-I?7CxWX35o82_@xZ0arceENw~X^PhkRLdGBJPeU>ZRb#_9W+f5c_tW~tuO4h`qPi^8c*i>-%dbJELP z=|+KJUr@Tji9UVt(>+Xfnp|Bxi*WR+uEHWc)a$BCQFY5%;*uHH?53!wYW~vv(wN2c z80N-;>ZI0iP6i@J^204f7E(;yVl&-x!k@@ov(y>E7CJ86Lb^34fOR9~YY<`)=I(Hi zy*!eCzhDpqe|&MveNG-(hCuG0qSFH7cYf%6&fM zesj(!m(8Tc+WB=;6=iOtP?%tQb@LZs#Go`UI8(a^V*agXX&BO zWop~RrG;~J4l;n|$&yi7S&4Q%cit9a3nw3TS!(0s#i7eRSA*%m!HV13ce>niTAYg# zWrxYFNEua9o8On)J5(zJcV016i34uiA$ZS2bm&n>fhyM;l?LqJpQ?h_Ib?k?a{klsydO1H4&Vy4qoXE&ZBoaJ3~hdp1Gv( zC%BO!X4t_oow?n=&7l=+_%_L^t*I{rJh>=BWZ4ee-I1=o?Wo?Behi0+>Q$4?Wecha z#)yC)^QVl&RB zi$zC5tPOECJ6zYQgYo9(5<;_8bmWN<=v&}GgewdnWS!bfL^`*xxrYk+NPq6XA5aP`&S{j&Pzd*T*ati0Yw3V2Ea!RqM zhq4`Nt}*c9S{1NYacMo>9AF*=e#l1sUYFzU6E?T_&ebhChii~lazxxC6{k&((Ht{< zIKSjH+S@l@ApYUQ;YA>aqv=$gyR_W=m>bLkcgeYY9MajdKutMrn#&vs;%{6DZAET1 z9G^n4R5oo=f;SvUzig#PJQ2RxHhq6oI@gW?tYib3K_gIO#BKHV8mN;606YNif1UZj zwvHi_+XJs|M^Jj(udJYOBDAA^vryPUiyIQ))z7t8VC*F4!Bxt_ha8UjxXhW`FRyfX zIhOw_=&{G@VZjP!Nx#g3kk!WDUt)>~!S|Bu-@lpe2}%}$9S`#{0A|}@)Fe)da>F-m zxa*80i8wtIiXU*Cv4Io6PjDgt)>_(#$%~g+-$~QojC9DWeezh_E+`?7?a;WrmXD); zm0+H=1Q3<<{CN8kY9r_A;q6}o2SFL$H}6A71Q+u53`&ST0b-HGjp${SGi3&~>Xe8# zvP-oWP7!BS9F;()(Q+E(w%wSVVz1)W(-BX@4^y)T)vg2Ui@%$)j1hX9#24Ktk4tMS zXx`5Eo!7b)e=t)fnZOeSWn;D~dFx zwyfOFa7*keZ}R1@_FMe35A-qA8iw|ZbdBs0ts!?|b@>}RW#kPUYF2)go~>G;bxUUj zIrDJ_Cz!!~cZ^q>!b9TS+>7n1Rpiq#dhTk1MIetHblo?KZh_HIXhl zHoI*Y4{AfWEJQ0Cb!6YS=jV@na279*Ox#a&W?va~VA76zrK=y*Hf89@+=U;1vCpLA zM&1?%h(EDseWj=zyRIFQwhE_7pH^i_D z4tAG*7#}sU^Q@BB4HLXb0QPfhd!0Dcq1E%YqIN?z-RdO+5wY#g78X4 zjlGvzofOC}=vkzx-iL5W0sDvJOoU#f77rfHFgmOnX}Z2bOKNys^IpS8F1OrgDv9sV zoArH@NzNd3@y)R?(N?xA5_b0rwI3-z4#$r)3un^nB@37wzV10f^L=4a;gcJP{4PA% ziQ=5L#hUxWu;Jpy22=j7@f#Z`su(c$MqT*nsX86z!lV_G(I@eSdtUy-+7b?hE7E>E zCb_O!!tzy`7+CqO3HXg(BK8M!cjB2~Z-L41$~0%#!qoz_Ic@m7{J2S++caO6{`?1-F zUnTNH+HzON+d06Ue??Zy5Ai*Q{T5O%jO11_%5O`nIzoS+T1)&ECwqRU%8t|=OSsN% zzsK2jShXzEqU3tC-*52gNCW@E+XqaqtHO3~?J zi9-|@ceMDxs6uB>l>zMY1j5Vi7Y9|Laz_D8w0@7=DD2`n+^tH^W0}ycT|nxuWqe;}h$3 z1j+UwlheFYmlX{Jk(V~d>&_P~KW8jv;QZ{NTeD&~R`plu7%L^PrK!iP0N@LREe=AH z;O~inD-7T_VMak_5Dr%@JUI-oxGSSqmLE6fm4nb>Ik>OOq_pZi+9$|ST!v!!=5YB4 zsV$eDzWl1(sbA@xJzRNkt;e9&_xnP#4vpYZ>E3`4GvI3YA+A|tnh+L?2MZvfBGKy} zaJ+r5YA9rb_nqh?*S0%F>6_Btig?tFzF$*|EVw`Vl8Td1e_1@|J?AG({`COGtHzKQ z0z@PNzNIHq!o307ChLC%-v;qJk60P4!>QPAj2)ccTum`dE`KF44G+sb8&}|h$h8XH z(o@Zkt6N$}vHGfA?d0FyTzHnwPEuu?m%6{05nQyY`8X;|9e%W>w7@9i@$NaP_}IPf z(+c2%_Tkq`Orl7aY~f4DZ~Kuv^;iSDIQZFFn3Ad9yy(iWSZYGiu8p}P-@nNsp%}Ri zxv&{t68bTJdJ&q+$>kL)LA<#>@LFD2J9P|-^Ig=fCf?g=%IzR~fygdN*SeJK3;*sr zK`BL{`um1=5MLR?vtaeSpQ>MIDgdErdGDjd30YeC#_?VT+0Wc&yKbGkf~E|%u4*E|ZNMmjphn;UZd(x#5Mm%B9$4|!4{G{h z2OQyx=oQ3Ku2BLgKrhi!<*l+|7ALWt7r(&OB|DjHpDUWsa==4`VYseqi6-pld}{JE z*f$72U=S%6WN-y*F}p}3!R;Lp6LK4w!0UB#X{HC`_ha^@>Qk@>%fo)+R&ZQJG$z%b zKTC*4%g!n&joeo1-HX73d#~8149#&&pWFu;yDyiJp)Melix#WR3O^WnH_f1NX#tG% zPkB#r-+opg*p|x($jE*&7O+YhA#t=k#=7Qo$b|+=V(B#z94pW(%q#lyy&ujwFerX} zJ;-|1Rj>OHZT+oj=!3TBMO{LHsbvD`%H9a%=MPuLmO@pMZbSG_S`nPTjp3ILqe@oD zPFT*}dxeX(^bn2eZhpkx%F39p_1Rh1FLyV7Af(AjehssW^IH^md>|c(6R*Z-`$$#o zUOd}GLg1aYPTIn?ZMV$y6ak63Z3<+~{FS{bMOL7|@47qq!^=v-y^NMSoT}zj6Vnp` z#W^1N5lVVHcE?bJH zid~7o{p1Az@J`6+7!WyYJ;MZgpSRC+r>A43fw@l)T_8}Ryzezyxhxr?PR$NHp{(#_iolO^i_*aG5$-` zEExu<-AeBl=>&3Mg~pF*ynya@K5v_=tWbODL_pM5tABHQSkitjU&}SNU}tsK>ng0w zyY2G`DIbdbX3uxY4;0~8pS2>qKb&_8`@O|<`ncZHf+@Ou$gDS#RVMbx10 z7FKte@~VpB#TVo33+8+QfsH0h27AGV`ERr3IfSK=_L8*yF6#$MN$)gY8mXlB3QY5! zE({0BFoikTZ`*p_F=>W)Sq-P*P=D7M|DFtqRVNZg<4zRIinD0bcS%nZ|9UglZvFE)(2(6 zr&Gy-h;1I+a-$=hT)^GdItxXB7~p3Kir2@`w;2ZT!uP8v>8RR*1NQgG0HXICoRQ)- z)Oj?N@W8RQ;@;isv`hY!$zQvhPKC+-)zcRBRUxbaCW(gmh52Xj0L;wp*YIO&Qtv{9 z_EUI2zb}yz9Tl&{)N z3O(C$YZBc1?Kb5?=cMiRxkV~wh55ia*D^puzl{WwD9td&`QYCrgG)B`&as4{Pf$>QdDB(`JxoYQ2}%YJBVs50fVmsXa&+9=?Pl0B;;y{gOt_VHFa$G8H-Oc ziSzkIJfR(R@MJm?#t)9q63-4OY3zb%PT`e~_o`19XwaN5T$R5eR+Bh&Z6q7Arnv{b zIB$Nv4PYB;gs3*(1(dWhrGFEqs&eNL`)%WHp1=)`mDLiltLU#=VXMpm=>VBrN>cT+V#`~mYgRn1N5Nu1^7Oq9bfsW z3av*5N~S~372YNv1a znS}96h3kb{a-8*|95XBffF?ysOc<{j=%06Snn+Bv`L^w=ix((o8@G%Qr;AdR3`D9xF}t}xMdu3)67+e zXtG{MSi)qVZ!qkU=A@^NAf*bt_zzT<{(fUO+n-hyUZGunsq?71 z7@ADKlG@hiY4VdEbm2dJ0wc;PD9{{72|p@-Jz*ml!MaR$e>-4oGW8{M!t(MnT>Pv@ zvMrh?u@gqBi%b{K#YQaWlf7vKE+Dw+C)aY7K~#m=0__**k6=>m#g9+o>aQ<^X0!|^ zlea3a1#Az!XHvzz<7#W4%dwRv%N+Ks{79D`Aa@?{3T11b{19s&M&iN^yk1Z|4p5M&qE99LO)Wgrd~Hn z&Ye|4E;v^j&LUsZe=n>0B04D}+#vqtRtl>(dFYI1dRcq9uCQzv?g9G$wM-k-?wb_5O6U{8gsU@qk)bHbZ!O zEN@Aub1YzC-!?vi_l#w0V1#+MIuf?`7N}JnOCs~xslveXfuA6UNSVU`#JR+gKP!lY zUp0M;Y((`Tj^IrC?bLVEa9)t-6QJ4S1QEyxgoMIs-|qB*+)@7 zI=RVK&3Cp1V$nhQ1ZaTo@G8BnimlV`K5gq+B+8R%;bKmfW9~Pd>__`PVcfMtsOWMB z5pb{SZfg}WcaUxreQUscEUV<6mzw#&^$i8Cg|dUJtNv18W`nff*7!+37R}2NZifwz zx_TNy_*?I~odUcHhNk^;_Lx@*CnVPSWMysHPeTQ-XADj2LcKEKaI3WB)ugf6KK3~? zCctMU&lb)rAG+-6P$B+|SJe*`y83c^vA&S*%I=9HxbkLMW9LKYX?i&11{b=iV_Xu< z$&vyk?=~XM7ciqiXZN$9-s1PI9e?UA87!5)k?0P`b(r&YgHJ+_J&UDG*z)~;{~mlY zK0KNt!JP_>&{?K_-^bjB3n6tEF2)iRBBM2nyTj~btE(b{PECCImYQdAv~3eA&iR9Z zd}vS`vwLoq>x-=sL)GG^5%>L1x14J)_GZr(#)aD4F1;_8VD1jvyq~4Msx2B!p`7aZ9RJ<2Geh&Lv0f!sL=L>dlNWrqlJRzT50F zDdSuc*4Nr3z8epZkWv3TueiAG^%K$N9%ilZe#Jme%LfD@k2E}Fc-UDO;>lq;+=7oO z1bg-dY8bEBFylo&iSXq%Lwv&aXyy%%V*`SBR%DlJ?-y=95GXspc>1lpV&}F?)ms2d zfET`Oqq1C5yi9Ky!my`fjUU+u?odD55u)K|AH6|@G#j|h3ku6lKjf)M-`(pUuagesEmLbAZZv4j)iw2;^kX%$ z*$*O}_dN(WPc>qB&RE%ag`?GRHkEJZq0o1hEfki7SkMSdMWSxa)cOh*V>oB z<&u&o)i&7_Yno3ZcD8fBkB;$m@!XogRBgF%!~?pmpYby+bpQS}&XM14AuB~IVBri`}E0Bg;@|mT(VDkaZ zO_|9Ri33L2#!z2uT~iix?0H4g(AL#t(tUhg@GRm*PRkYl^I)Q)`0-}~DHR(g6$agC z5JKRN$=UVxMg3jZ`#XC{=x&3v3RDz+VY9@3+B^)x-e|&CJJozr|3QFTEUfurrm*Mi zo5IK%?-V&1LPu&Eg^Q2OTUEoMS%mB&QnV4>?2kyo{AD+gEk{n)@2}H+1O?z(*mdb2 zXfzM)P10D9YQnF~-TMZT`EajN8ayO?l)OViV-Gh+J#<2L z--u7g`*oZO_LvLfWFDa!RkXb@D4n(2?lyxgY%io$_|U@MXG6d3m!`GloiyBhScLHP zeA16Y_A9^J><2_3;grlzl+h4sUj@`ZGZGf^fIL-IAyBa?s(Q*M7a`SQ<{ggJohQe1Ub9o4~Y<_vK+BsT}w$E@1Dan}? znjKMpq00s9-gUf3GTBWx+Af2tDZZdEs($tR-7eMMrxX z4dAyk(9i_#A!Pz$(1i8d5WrtH41a1lg&I72g$$J1zU${$HV1g%OzrPcQs6QKNY6Pj z%Q+Epjj|>m>7QvwGAqNk-Yd)75^a{xb6B| zci9BdZ|!XHjU`p|W*RSHE(FkDMs$V8@) zO0RLtJ7NGPdDhZ+9a~sKHB~~wEa%+9$;k7$HiGnl@o+#I{T1H7R#zgxB^9td{=fqP z{JfwwA;N~updc18-DbwCq;Dm8GxG1NDY3aEv0aeRF$&iQEx4XVSoLA zbaby~o>g=iSZ}k~t5ss3{xwf@Hg(O+x&AyI<<$?5^(o~-aM2oYJ2F7uk&;2lT{FE? zHj7{vF#U`$^F}Qr?>Q$zJ0d`lJ5M^aFXb~?IKhAw__O-QR794+rr1#HCH&59U~EYH ztEv63fKid<#k3?scz=ut42q$c&M;)EPzMduj~+*rTd8QaB#wqaWNkT}RHBrEvK$!1 ztb5(h@ex_xJ`b9-8dj0kJ?M5C}D_ws( zpJ|&ro3?^lQCmpm_f757%Yn{i2gs3=EZ433{37Jd5d`Mu;$$et_Vmyq{5n)B`dhib zAuqC9(jgQ7PR-KI!-0Epm2O__1!vMqb-9pR>Gz=)3B2VgclOb8Mnb#m04C@_)YoB} zDURAPSl}5g&?;qiG7kGH?C5}W;W#dN`?C}5NiS#J^?cLQ^iM=84N=MsTSd3wg`SYn zX`Jn%h=)*gz%2y^;PP8mqSiwJv_S9hI9JakGukNcgc4$uqj~`=xL2q^eV9Fv!ClTI z$3;qREXPO*e)Aj5tQ&(P8V?*oA`Ii)c8sFOyK@l{+ z>SeO<)b8C}jOu7XoY~#nPvHEke=^RZk1Zz(RjA9647hDk4}SdL7})Q9=9mw4hzD%d zgNhYk!Z=4^PCQ%`QqHAu+-T-g_6!zmlg!p)pBcr@;qb+g=IjG*ma~-Y8p&P-3K0wR zZeI5h_`eXPo8C^!nbL#Wg?n@8e}*VRDYJqOH`F{}+iFQMQqc3FqPS<)!Hp!m=_~T* z&wdDiNG*xNCUnfY>+WhQhtIw>Vy<1_{$Y-D-}&h~V4Do)!rSPG@8(Va!w8I=siG{q ztDNrS`hz$w4>$is>%k_sMnex=zV@==;){sqX1hg0*mXLwK5P!AHx!@oHFNxv$+FF@ zHlrEfbpf+7@5>eXE#Wil54j?qmr3*UV`163o%VuA8y4)?(j}To@xl3%z=^6 zjsHJ7n0R2%(jfg^L1V5h@>pN0^_Y*RG>i&qlCY%~qgu5yzmFo09ayk3z?(1s0>A*y zu11^a&;TQ5cXq(P{NS1g3S1n~bYy ze|-0f?&V!a0G%0Gding9Mo!&~;?k9xmuY-nT`A zoa6Ssx^z2#TUgrU_i5#R7ufH=dA}tZ{peLy>9!~V-M#$z3BcN?vkwqSGW#)EbIs;t zE%EBF6-0x&lT8v*G~*8qpNDV>h^ZNqhdwJE4cE(bC~(Z8Sfpm-;HVJ(s3fXWI3Zky zsphkKm|l>XCFs3ykTdqw)SX`A-B*kHM9ZUZC985}7Qq$V4KvoJ<00dEZo`hE-t?B; zMpC_*drhoVkc7!FvS$)oSUQy^0gFo&{;6O64kjhFB2 zwij^ApoDN9klOk@2^2X#(w!{p0*I0WwhehOQ2_NfsPJ%Jsdo^reQ}~;eBF@lEMqIJ z*gpuGY6V#DoyMxv_-={KkFM#8ZgUK(E_~76&GmsH5w<^pmrs*K6tdE0XK)On$g$(P zVET}RyyndT337S4fOiQ_O`NSGDcOp4U3K2`sanw$@`t?zcq)CW}sP6<_TBF^uyt!oq19V>XeKiy#p?B z?fJ-=!IfQ7e>4;dJPySIi{?sHVm1%Fi_NFHt$xN|bWLBJst#g4UOj)XL|aKf*1z4w zk_&1{6{`^u7yv%a=_C%yao;iiCjkHq?(>gLdx zSNYL1!2C#}LGt{cc%)5J{MGl3QMibNmS&A%b%i~u%nH*3=^|>2TG?oVV5vdm$O>=m z?Ga7V)SYNCDy+{1!7{Dngr@${tx}52h1f1pu5MH-CX!n%X;U@rNXT0UYaF(i!wxNU z?D^76HkdhpfxYdKs2i$)61ufq)q5-W-RPasDTY_bpFwW^4@3s(F-cn6=ryoP+svpc zt#>G`GtVFP(2GvJhdQF(SY=0&erfc8;Qw>F!=rrT{drM4PmD7#rsa4ZqI_#P!qH|5 zfj{B`*@0Q~M*v_f20HA@*8BNXh>FI|CIGMpU0MLpF<^VPkGl0@0)UqW#WGdWauS1P z7r}OQH-=S;R!`h!#HSgDmsK$Tc%V@>f8nd=Y>_L-*&(ark5GqW(zmJ(K*Qz1Pe@m| ziVgy6YwOO!hRr{FmF+>_O^=LvX9@{H{Z+!+{XrBx@wqT?=09pxbv0u&;)&dI#)t(B zUI6^15>E|n2gLhHG>{I=7=9HUC>!%PL}tt#DB{O21JdV`*uQx|NiH@^?2~9EiS@pY zyx2n{_muLa&w7#Y_|=oM7V&PjG)ks-YqSN|`r*E_Wyqan|>X!Gj*R#sVzdkr8)Clda~vA7tJ6JX{!U|cjZJ7 zVqQa>vf)&$y+aGP0R%1xL7`-w7It>M-yXfG8W&Q>Q=+-0um@>jyR+Bn48ewTaG=k`8w zm+o7vj7DZ@50L{sP{8Ci;Ncw#aPN}|d5Q%A7?}foPyoB;k0iid7`-;oz8Q}PG(&=h z39zf_KsYAuq4K=?l!;FEHw)8L#4^=NK**`;Y9u|jp2yy#2L0?pH#wZho$b)9?ehh= zv?NKLiTaoTrZ*bsAofu);F>3>I;Y*21DdTJp{Tx4OGgr&YZ)2M+#=D=q}|w)Msy~c zA1F^ks{RB$E1PH3FJZDQS9NgM)&j5-T=jdOV^@gBm6aV{;hxY(jK+@vIQJDjxh`Q< z;W%1{)_hEjnDrxLb*+4pk?%XZE-@qzB=D1bjjd~ zT|<{s#lL=G;~IGrRZ(5%G#?Y)f>B)2z?JMZ2B|Jy4Vt*|t25%os$A+*=lFmuP5!4^ zK$c!IJ&Hx~HEA>0HIbj=_uzuT+k?MKGtFO1yOAGA5IF~iqZ2jDv3Hy`c!4i|6b>m* z-%Xz9MVIiJ)cPYoE)(-+ZetEk@~IUwjXG!wdtA{l>1Xf>DN;Gr0*=qDMJgSh*Ev6; zXHicir>dLDAlu&$o&iT;YCz!6=YuwwE3vR%*(Hu)MUCxBno1`$$TV!lY4sf};{)w# zZ`pPSqp{c5G42Q9NxcB0rM9FDHztZU*c%6P}T+_P0^!@;M zXFTLl*}&l)r;gL0a15dTzkv&5l2ZR5a}Pr-;j<(MwNt3MBMeyuE3ZD85EWzUM4lDnqqr#LK%7L5^qR|02k>n(GAFjyeb zcdQZ#+kF+y<7ZqZN<6Z-l*BeHtR5K{?GLhbMFTy%_H7`xuf!H@41O5(qn>N4q`V2n zGKWQNA1>~c*XKOBHN5<4G&18Sl_kRmkE~g5_CXVew$^}47Fe+S0f39;LBtzQ3iSa- zLC*>(oXdG$2yjFHI}gD1p)YoeXw#ocf?zAcBFedq>T<4flfjd-a1lcbpi z)ndNCa$9P=*##BS2Ms7=PtaHR;STEl02@XKUnSbL=g*xVe07I*UjRkx_<*XR!3ih- zlTfKwqK7XX(ZruU&hu*;`QQT<*`ds=@=F1jCwHry;~KUo6(1iAN~^S9u)=??B=*T{ z|D+dfTpFhZa7!@E-Az7cl(Ke?L~`3+EEC`~4>&$2v^gAN#|_)^tP$j*u;|)grfwU`Bl2hz{J61Bhv$kh2I?EY$aU*hFv2|#V z8uS%GOC`pHzlN-=vlnX!O1(@ru&As>KA#!i&`tYh{%BKjE>KENM?7P&mUk>IEpwWR z2K-;Kr5e1u;Pqdz>3PJlh1Qc(oUp0QLga9WV ze83aB=4&6QxN0{Df9!168lY?F`RW%Z&l^8bbc0yhW_0wc6tb1s^@^)JbZ|D^*gk-% z)@>i4Ff=k6Zl8&I&o9zpzCNQL;gMi_y(J*6C zV^yy*Ze~!UP^W;Ff02~beCp{*6`e5RI^&&ChwIMV;6@+!u%JMdT?F4d*)V#?q+Llj z@HI`Lp4UyeES?m$)KU`UH(A^+_nND(D@5aPPR2ei75B@V!JWw2U=JBd)fF+uV8=^?V`Y(<)!PT4aWBCvthm}V-pp@> z{a6>n!=8sB8Jn^hny>cyG!<(SXIN2eKz87~Wu5BrFIIJ}vPQ>>87J-O+qkg#yj>5^ zI^<9FSC6c$Ev8&ypWCQY1V;QVoY(}9V^;T6@g$?d(_Z#kw9b(VAXh1HMjE&Eex@rq z{dNoZ3O$V(QU=vxfI#W44I6C#u={{Rsia@s;!fmGM~EeWnL%U$yX!j(?D=E)gzE2R z6b}Xgl-NRK0h1zNwayug-UmP%QcVN^ls>bA-oD2eBEHj%0>l%`FQNgz+T9V#Du=1|VfHebqZdYD+F#xu0Ir8GuafF-&d;Oh!@S}#$4ULN;w7bvB< z=gZs>fWkTAA1Rz1SC|0r!VfxOUlP9~F~x&WOboWVUdpZ$Y^KK>p-R(NR8aIO5TW@ZDSPHPQ~elYU$L+7FuQ+RZcrlr#xt_Q8;n;pvuBJbZ3Dc@rX?5(AVoIi{y zE1U3_P3#3(7&|5+r$@@C%Zd@TIX=4HLh93vu~*rQeQ&0#IM)c@iSq;qGn-p z)fc=s;cK(V{r1nr@n6&I%OJG0qZ^6o5^AoRu(^7>bE9w|u?$3*Y^T zy18ZI)xi@v#ncBbo-cF9=O@11kCf!}{pQDrXzRa$o-J9uAxFQBxPI#Uq>&{@T3SXS zi3^YZ-Hb{t?~?u4N!8lgjt}T&>!J5u3%z*}|Hg9XrOnrHOD@mno7%z0Z=RJ4?Ki*1 zj*eIq_$P7%xuCTtD%m--F3o-KZ<6?>iM{U(^>QQ<-@kj{aC*YX%=91j6Zl{yZLJj6 zU)-zQ1M_Y~j@F{Q?foF}j{Z&G1XZR}{<=%ki#VyYj>U79P`YoY68TC#xN+4kZ0E8R z15Id!kgcK)cK+Ds!r8dC8y}BTGHBwh2~3}~{yRQ3)LLz7d37N?A#z9O#%A$AxoQk{ zpcDv|q4&P>Xh3Fx)O?Io*wA#GYOqIu5Oazbljm8`90_MTw|8Szb7C=KJgwpKzSr>( zo8xZ0a}v0^hU&x&hPnZ%-|8np-9bvAnkg`7r?kxQ#;ygm!{66qGVrCe?N+0y2 zwTbvkmk7#h-7afS8v|D2=sO8ex6Gv#-#FW4NHL}Su>+p0J>I(+b~U@n-R8u9Mp0R= zuJ+Tz&E^&MfC%YE#<*jCCVGZO1_f&E?HsD~+wPA%BJBGL$a@w&R8bQ5N+wZd@e221 zZkH+!6~vPhjmM|4&hbYhhW7e~y*ex%N5Nk7LyO67*eY_hxL=+#>QB!q-KPl2KMhCf zPKg7xRZN1H3@zWUT?@JH&U+sk&bAa~=e0Qi^Z#QfLn>GBBhIo_A8FLD0#|T{0+>-24ofj3iwOha$RjTR88BX#~@(<3kN+79ab$rV1LFY{-f#zYrz#CMGS%B^0TX>VN+9J6Pjn z;6upg$ld7glJmY4Y%Fr>_~H=M-!E-%EO-rp6JQPE&%!JvO#qx|*yjV{wz zh{r3Uza`CAxjshy3jhf@;#TC=wLJpQzAjDO-^xSaM}3s=oPx(dHjJMTlQpyRMfMH8 zjo*j zonr1w8k-&YLW1eBg3}B8hku0Z1Z<{E!_f*QB|oU#4~-3q-Ed^F70dZ9bqQ}NdD;2- z|BfqK7K$K$ePWBN>e#H)^o_IVfXS3Tbe#=yGbZoGi5PYB`6plIiFQZkEc7hn$UAEM zdbo|sTZ-KX+Tv$@<~~%K<#L_fQd}2go`e#%xzOv%AZ7U?nu+igfZ@){f~OLHdUw2Wj(VQ%_6o9Op<}j<(>> zT-#E;sBkCoIxqOc0kGlLjt%s|$}?b_$`GJAq8tc>-xveUfa7-dn|3a1U{gS*#66Bb zPY~>bsThlH^wmi1o*gaP_*^(0t~MwEj`G<9kH&#~f6hA9roIxxu29KPRLG^wg#tlk zO+ehY0PpC&p!7f>!WLuXzkKZ}Rlgf2_#2Q;^_>m7=mS0wha*7>BrMqs(-soSC6cv! zK2nnq8g04hzPt?Y)w1dXFhT^V0xhzi0*wxKq z+&MsaxTT@?+nSK)CU{ukduh*krZ6dT*;?oR@6$z< z$-N`t;fzX~BnvhC`kxdLyBk$8%|O%qVrC^;Bhsm<;3%Wc!;K%2oo=hdX%kj3D={-? z`y1=N^M^2|Z^rxzx$C+?$3fOTVhv9bv9HhTiHm&{ERa*Vc4yG{z#)9Yq^tJHD^8Yt zj_CQrF6Pp9jmRMPqmPl^liU!|cDI|F`Ek+dtcG;|;MtvS+kzoSb@|G26L4l^(6t!T zst;Bav@^sxUg?&OkpD2_H?jZH?%G4M)d}Y(ZE&~~D1-5A9$TwdD&~aE(rQS=g#Mu; z3J@(w_*Xk1S>`ph@iR=^TZaW@GqpzYijDS@y?uKV=hu%~qVvTFkjog>ocTx&42!`q zyphX!W}Cp8nE%MU2$BT=R@nft_WO8-c3((jd^5BNcqICC`G!nf@XZ&x9wKlP=!8T| z>TPdQIh|j0-~z2*%4>{7it%L3QG_4G5r9NYkF(@?moe?&&|J%y4W0A~0A z$3Z(67ycKpCxr$8hnHoV+af@=`UN=z=xdTTX`WlCJ1CdNhEL-NFovLx`n7#r+gVcU z3}z>iGTx8Lf$-My{Iq<#dT5Ebb1_yRo~5n}fBH@~SSRnno;IeLE?byaWUs1cu zmW?fL-cl_`-&f}!@u>o5jS3c4bPHR2ML+8)8Qa`PWH*g}kKCk^NQ? z9QTcwl8Bzg##=0qv~mBD4muh?p40K*>o}Hw%#<2_mQduly=yan?!WIO)F$-yp#NcB zTHRzkJgcgn7tz=#w-O$piesd(d$_uKs|v{s{k-R~^NMPfS$bU(1*{uKCyo`cW7!)#WJ3ZQTwD$HB4dBpc;+}80`aNliU}9 zM~EzL>>qLlrL{Rio0poVbex-pc}ljw_r{Z}eZ=I@eG-1mwY7JTa^A%a$AouH@H;7V zi4fLAo#krKUr-M6sS}ebPDo`X>0EG?rfe8b`ut{nrI_=_&go+uQnf2lER@&M^|atC zY*G=fyAok!yS#1V+*|5<+AnGzAv$_5L>S{LI@u{VrSI@S;?=LYXi`B4WedoIifya! zM=UUV*sX_7>LT2!q-XAWVODl432tlXu1S~a-!wqURC2N2oMW|ciQlt2r%QoK`R#y z@oGU{K^Q@Uq~_M(rs#SB-~*I!+PpjYQ~=ny9D(8kr~y!xYHdUkAN5)(gmzk->~$xB z_=zhlXEPs%1A3|Aj&|#_Y&HAp{=5-tC-3>B$cNzBW_xYt&wjNSGVLeP7m>V#(gz(MuKXk~Ly{v&XVsF1Lezp-6&=|fV z;XNaQ;4@o(5_zD?^~BSB^e`Ak6*cK9f+T&$Eu4S<|Mi<$@aBTofAt#-@DV*Wubc3{ z5hNVs5hz`91kNK}f@PfJK+F7rx27^NUWwnTsegFj%KpVnd-&-1mh7!~6DQ04mBjH; zC^$FRYH}S9IcXb#iv`}3r=tO)YoH#{53pOc;sl7ncS%hGp%+p%HSQFM+Qn1Gb+IgQGQ0Dcz@d6MAyuH0+ zCN^)6D+nrPd9(lf=Zl$ADg3{cf=HlU$U8WPkPZUa+SMZffcbS}#&Wb~qrlpG!e2$X z4%w!*UvBE5@YHO**}MJD%A0_s?MZ7vEh`_DXF_w)G=k=i0MMKau|Gg-T&d{oH4^;# zW4|v`Pb}Bv3eE6unb;CtS`EFBPfPd|;$P@Y(C?BYgvVsjU`~w%9e=BSeHLXitb==( zws+PEi#eQjb+&I8F7Tv(aCu`?LV~A!V1Q>CV_igK#P{`^={>)Ag`KG6=B%T74d&dP zUQ>QP;z6Tazq|{#H+na}!;${#x`p_aokpfd^eNOl0!ljoV)Y)}Qpuxj zEs)`om#D08blhLfei+VX4NCHFi~j@pwxidf&S#&4MIMfN-$JP8J=d~i zCm9F{>fs|<5xUnn@R~EK`Frq<6aeP=9a74ifBm2uWZlf5V)aEvu@ z;7x#?7l0Rs$h=^LGrJ7#4f)kip{M||{}S^)MINQWAIpt-3*YK9wu{oj^87~4#n{pm z?cMAfk4&7 zq_99*7DZ>2M4UH(ZYfpg=ocHtYZa?_n~5@owM(3r_I6!9`FPKI;)>4J-E27-f!} znw?PtB6_l|$uRv!E^-$Ow07q+XIS;!j`HZCWD+u>{Oa-q3>DU%-6rSsm<>g^i;sR~ zM|~(JNdW}aS5|0n(6*I`PEBWVK-37*E$;fy3j}ll4e&YRAh#jSYd{46%sXj#Ocg%i=%+@-nIbD#K)LLu8aQ))qa1H~JS|Npr747}NXGpuL_ijn zgqgckF4lxWzwTeH!6D%BFZ_U}&qKn|z_lhY7~Y@MX`;hsEIn^?{S(`MnrX+%7|t?wOs^V`XfJ({cZWAdKaUTE%FFpujbkpa z0y|PwqlgN6uG&$JD}3tO&S%Vw3*sq5g_K73hQzjJQym@*b-PqEMkWY-dq3_Lr~yX2 z=J#LsZiVqun1p^h_rjl2R_OATG6mrYKF>uCkW@p@JtoH^@qiPwk*i~1N(}P&aQhN; z@e2jjqvgf`aNvdAjvsqR+wO)=!d?Shx1X`CS!$1b|B&9j4)WmO0WQ5H^=+HSa+Cpn z5CB_1UUz8qO9VvcEaQ!HEDFisdPv9{a9e;s4F7t=wNjB-;{T;~e)36Pf^UaVOhD@w zzb*ZYFP9Df+;S`gz;W&NX+HZ;qLhedP)pg-bIx`Y>EDrWcU`k#eR|*gJS{Km@6m6{ zi`iwa)+8E>5c+Si?_?Vsc)%zXSOsjx$2om&xikJ!ef+@)`Vhxp*=kN^`pco?yzPa0 zpqYf@fRy%NJ#6p#bKm z7FW`&!Za-`@BfgVmx{wY$p_HuQ$xHPTht{DAhH#VvM+)BGiHG=!&3C_ul-)nQYv7(j+v>j-=4!E$lxa|@0Wl1jCgl+H-AGapvve9{pMp?C~TN;=uK`^Qigw<~)5Hm1>P}XbTGnBuZGqaur!3 z4Xp}GSYV?rq~tij_lnEwNDo^4Zo{uz`UDV*AM~}|CLS=i~&~{IDtR54QAWqE`G=Q56lBSd-PP=E{y+y&$apJI7}dE zHDJ`8pEs=Z$Vio>y)Tq{l7ND2?VC9lk_jiORUohws9`v(i>zNhu2N_kG^5v%f{0J$ z=6-ttpfAk7g6K$^HY5oew|P<_aus9VhbClw@IqH`E?CSpzC(MZdNS1ilg)BU6>&M_ z;rn1#_RI$t!;ag5AvJy!#%m#EW9@qTZ!<}sm~&#jCeVRM^nOOb2ZdMt1aY*wlk0t3 zr(D@p7il#i&U;4u-f9jbC+UM)RjZT|~c}MQgbWGe#lhbZd8|dO`R!$)KT>3 zT_|VG2aH_SRBE?PaQGsPF;zi7j$zEFYh0xoCvdU>4_M2Bo;bDneoa@&jR~}4 zw_l-SiR(JF?J0wh8xo7!5b~q@w3`k;@jr+L0HV`5H_-(kX&vkbuSV+n;sd)|V+B|P zX1m_HK9_`yEcVCATG3aV#|=WG%7}m=$*Eriaox-WT`0kH6+V|nMDICx;ZO3JCqY71 z_TRjhwL?8awoyh#0RjWP{%tWwY{8a9mWvLP{pAHmCFL(ix&Ju_fuoxZzwV#bPGlUs zN3_hU)o5J3wL>^GP7Voi|~>DF$1oyTD*bJ2E8VJGIMEno~(NZj==qzErBh-aF7eB*h^ zyB0%T#yg3KiDLW}eMK;bIL8V;jg5Ixy7W8fK5 z>vq!rB9?r^`1-6dd38KOP0?LMeg^S2V7oSj{fp0T#<85RS6^v$y7zgX~aM zqbd_GKaC!B_zH^#G)86l7`48ETVeP=wBQi~&g_N(%P0Uxn%lz@ZM5H{I~Tpf0^p=&O7Gb|P1&CDa80_6a&-x&3m`2$H6k3?SC65aL`^G$Hbu`3 zTl8?`xE1{s`}dy9nM#}UT78%J6%jaw&C!m-W9NI!^}h1m_ourph=k?kWr0;xXn`Vu z+2y8z)r#T4F)WKXD4e5x2p*eP@VHc-mcQs{n7E@gJ%oBi%f;n4I@hr3B=UIqBs4s{ zg*<$m!J@i;X?k$jjQeDhtS;Ze=owUE4%U`snwt~W_p0m^&lDf6@t?7lLqltZ&%1@> z?BVi)^5B`WY@HsF>!)#}hR~*zFX<3zA)D|i1?O2WmeP|fVo8=bFd4h+WzC1FL(4CDz=2e^z~uNAI4QpqT5I zoO0~!%dC+g!V`tL*D+{o3%wwhd2SZXz!|w zjPi51Lt~1=gZ%C%n!b`+7K9*$xhAbvkP}XO@Ba|Daz!iNoJZ;0C4o|B0t^r>AQaQZ zeaVPXFuC8(U1_tK2E?Ioluub^n!IPtsD@B{lh-2tJoER_Z@nf0Jr)}hbU=Xn2{ObG zMH;A|z2+|>Q~e-nE|B?rneD7I&MPpaxP}epXK#30>2YHMizRr+$%mlFXSe%UBEvo@ zR&CB1klw>Rwb=4nRX8WM#hHbA`R>3*J@c%5hgZ))D$-UtQu}=^I@N`7Yuqx+*U;0xY%HWXD3p4+mFg=3sTFKh<+R2z1kxmyrQ#i*~IV0Bl z(l&KAO?l{tsAzug@1sYq`ZfJAxX!EhAT0Vne$Czgder}|&pZL2I;n7nK1ZH_>>5xW z<`$&ZfDaeQYvf)aU&vpXTUYZ^7shAsdio@v?M(Sx2UqEk?ZOf7u?`uRoaZB+_daK1sNkm78GDly3AFPvjhy6xOc%I8USdPVVZNjChEP zsUQSz09TsMC?*0Mc*>6Ris`>EBh$Yf<2UMq2~7Cl9|J!ObyNwIisY-%<+31vhK;j< z#YF2>l`Fx?30U<582>!kGyYautOOo?Hbp0kLAEUL9V>f8!Zv?}QdrpP=~G~w+Vml3 zO{z4N!<0T^@XDR?bFQ3euUaRE5bQC=zNVjeFdYTBc=8m0d`~a*AeyWjUCC&?Lq`j| z{P^&~;m=$x$E@`Jt2V3oh(pUWw9o|Kt%2U#9G1_yL}wfq<$ol2Uxxg}Su1;3pzd94 z5QlAG*H_*$pCVfK-U1w1cSE0s+qIy*yMGjYCDc8C{wRM;V-sdSZ~!nvc7LlyH6fj zy}jMv;I|PW>30%vt#VAR8(tpBfEiD&J4_4A$F2K9(H^DI8b(VT8THl$?_b#11rNP0 zU}8*rgT~j4LPIbM9)L^5y^lFZ6^M54a|Uq&PDq?J*XWaENKGP6%W_cJC$%iY;?ngXPilhIP?+gh07a8*VNCJmB2$%&F&@4_e1d$!}OA{80 zdhhuIgZG++huYS!RJHc|%>aU+&GbJRGWG!cUR`ngrtNAG#1ELi73)xBQP3D9Dor?m zBQzai!)Kw)>7StzD6hV_=r~yicf`1y`yEr;S)-FGNG494oZ#n4Qof@P=SkyPZceG+ zM((wJ1K=)Pw18yp&2yc5AJS<>gHb`g5dVdHqo4<0W%JE9aEB{twfMv;?_o0Q+yYe$Z>E-^bV7&P4sjk=w~39@ifh=fHY3WpMjCsZc0(41>^F@)V{D_-9Bw zR`JlwcPK9&dAn1*EY)cXU2w~2;J;~WG8-6ZNaOe4%Hgo&&12wsZ}x@Y0w>VbRd^3f z3mm19`_Og{+4Dy>AiLxd0JI>jekcI+eidSp zZwZxU-pq9l0?!Lpo^4U&#b>c1BZ7ZGwoeS(w0Z^{YpeLKD_<^((P9zgecjpM$ia$D z09GK;HOUO=K&yr|0Ne+b`#y(502F7H#{*>30R*3)ABd%9Y4Y^hgiAdt4$PzC0S`hY zIL2QNq5*M`<7d0ARtW5hGkPD>FVZ5O!Jr4g8S^TK*EKl;>D| z^eX%<_mAI&b=yAi+I6ZgVj?yX9>?n&hyVyGApXzmi$WY(2|3-&Lowhw}s;r*j4yZbzzPcQ4ZZp*e5 z3gg*5SPr@@Jmv0VpGkjBZP8yAVaoD|8ELQz2#MV9r}oXJXRORir5A_WI=q{6*YmS1 zeW=~qni#PAIfwf5HaMV+*XYPBtG_%cOrV^rpP)Ka+ zMYMPH1sF{Zx&dX^?J8gD{v(`c!%5DnZADNEIW)E9(G_%|PiuP^2%o^yZ^13x)`9a} zdF5&!A0l;#Z@ae~L{GI0h^t;>55_n3gzgU?h`zN^FIIS~pw|Vv38Wd*WiCy7BgR-J zjW>Bw5bq?bF*5x~vb)7PXKZDoCnx!#g9y{O>V;GFP7oq?G?|z1wBqfr@TcFux>>Gd z9@9%arP>IV7!!OSgD*C5vghw;G(y1kh0peHs%3TIH?}7>A9;!&*E47Aa#$Wa$V6v$ z8UpEQ7Ar$E-To!~+n8~UR@S7FyVkWYTYQ(uuC9Vri?TvQ7wk2oYVVbo!Kh~Wj|)-q z(v&=8-ylKu?RIsnc$H7YleOQ)gtAht1)!hkx{|M2| zW?t!79sL;@03^w3Hx}Y(QMv(Pl5)ONH_T4--2WkJPsC)QYIU zknX#?^B2U*4Ust>KY5ly!h1t}jn=GsTX`*gNqvLSsGWnPH`%>yanLOBdi8t7N*fBc%Nw_0GYfP3lmxbf?pY5KzA$M`HY?wZk+ z%xvAua0hCtfy z`((M|^uXG>I>d)HGTNkdjZ9qni-xsK4@vuKmt@*m?O3}eyC^Qu*d+ozi8)%4 zq$l$T?P~z8jqSX4N4>Uy1Y0N9{mR5}s&)^^6-*abTqeZ}8$@^I0Pthc3I*VPfVxZ_ zDG}7=%Yk*cnfV5f-Pl#LDz3Erm5)^IA=_i=aVhNE`Sh{vHAnLKELfyG%iVR4ewYR6 z@h=#G*8)VBc!2tfIRH0U0S{vYFU)iQF>jE50|msH+3hT`^JBAhj7t4;sBRPggiHtUqP-AyL%o zoaBp~4Lc?S(4E!yMPQn*WyH_*wkrp)d&TtbC+-EP=mfAn7b^EV;>uJL~T+`2@zUK?%$FLPT;1zb4MltrZYx+b6G!ZiEi*Vm@*&%(pih2Zbkt5@3K>vRxY_bypdJ2+ZUK_rNSJ z2VO1Y(`r3fCO`E-KY{XNtnFKIwNo$-QwGog)EA8qpmUQ7FoBCffU2QA4j=bmbj66s~?~%5Q^IOv0r-?LW{>rlosZJ=8blo4dlB#D!~A8 zb4w^N=K)sX{;LBcwbGQ8D1g=#d4I;1to@d7;xOijBtk}=VFJ9O-hO1+Zucl z^|CN1eJSAN7y#Z;{M&H`_!;@yq7Akvu;u|x5JOu-fXBnuxqwT4O$2wE#1_YY{=P*7 z6Bx*R36OZhpd{j?qY%JlSu_1JA=pEOzuuwVxwW!Jg9q|~Ca**IYvIotj^g(Olcd_B z57d7*A3S6`)VBdfaR_7Y2Nf95-djKcaJ=y1KLy*e7%~+99x_Fb`SICb0vNCUGH2{( z#=*&x7(RWS2aCc5)k{=#HeTMOCefSk2MJ>3wObVovM&leR8ltCaN~Q3MfA~wK6ybj zD-thF7C#S`k-!}a#uT*n53AF-H;^qlMYY6OFfNxLiF7XXZTci*#wUxsj)cu>RAD;@ z9!a+?*Q`&q?~5m?X0OCkFYw_ zHXkQd5Z#+ySs9n`j9D;<#qNzo9}%C*+NU)|-PNqk%%5dq)2SW3O13dW%X&ehLM|j^ zF*u(>w}&I@40|sgH{ZV^ZHJ^koOO>=ja_4Q$Z}cFG^}|hVcdT9D!WEM?3>cuq-*C) zb!EOMImu&f;URKByfqW<7}cMU5+t`Ey3Y-P&nc9nD(D8y_nW`D+B^P>39bmoJ3Qd4Zj2o| zC`A{6x`qbGesX7Ni_M?~lXDe7>Q?4LMUJ15Gyo|I#{kUY_cr_C?41LjZJJ;F@B^ZE zY*K!Eh@nn$aG}8ajz1C2bHu#{Trzm>d8$D1<)S`#t)xycaGnJIba$sx(jc8P2m;cLbeFVr zgLET}q;z-3%$ess=lvZ%?Js5k`Z&E5mh&a}r(V=rRx4~o5?%W`YhJNepmU8p>T0WY3u z<@=m+78-D@27FC1J8mN7oeSu*MA5z)J$val%X**0T?c&+`oGPc&R0m06Y}pr@eOjn z0F$klxkO0o)E#0Q@uV4>gtVsIBT+R7VC8yx;b0~SGx+PZTmbuP5@XY2wqT=qd4H=s zIWg`NG*7#I@aedt-UH+;o)|>VqE}dC34)rMlvlaQuvOd%vU|FG zmNVJ)wPbCbo@^)B%5=RdC?>Jj#VVc|hN_C>oHXnBLQMfX9i;O20~Faf002&kQJpaL z|DIF{T$>7rCxxgtTDLd>)goy}6Bb=81$*XH*_m7^j|6;-6XLblxJ^e#pWj6@!LlA0 zzd~GZ723_()*EeIJ zslAp=a{rg&mshp2;SCf}-eGoW*l ze>$48=kLE_G$g6*LHwsz9|ukfmdyVS+%hc2ke zjiG{;8C98DhXl6g&;Xr7oo1_UVvc5*y8p29E10M6smNk5itri@@a;TqE6Wk7?Z9&` z0bpoN^Cv_JUt$2@oB5dAM}F#9N(LIh(`_dahyfovTPGpq_S#Kf#&>lw%D@ZoH~seV zp!^{^Z#2)lZ#Fcq_^Y(AP7n3XB?$;@R1<-M&E%g=6urrv5kIeB?@E$+KPz_l?vObX z{nZL>l+hX3dX=W#%vS!Zd?R!>6;2XcLf95^V4l{*DV9d#^>qibRwGATY8KixYsS-__lbpKJ!EocmG z@T^Yt%e(khq90<(nJIKR&Zc1bF|S;oWwmFy%Mu-%LCKC3K!UFTs1sw2 z2Y>~rfPr>K)vhX#- z!=SCxE8!4DkHJa(y8MKR36QUW=I7edhQKi2oyLOhFD1QPDU2yVj4CW7&VXqn7Fq9u zjRQU?g;}lr%m00_(E5Rb2-Z&fyW@hblR`WfU(u#VffIzWn{^!d(uprY&yAniPfH)> zvgXhC%m!6muYOQ9=0uBxONK1%P;tTY>mgpApof5ciUxqywiNFxk~&Lg7N5V#+|0WB zF$3qTvgl~;uz2w;R)y*SnX_1eA?M|99)x=R6@lwr75rPxdm|yJ(~VSywxwZFiLx@T zu1HeK4IXpNoZc|^VY1csi7q?!Z_LU>^`oal-aUen)mkUD0m1NDmY!)*T!Y37uAzM@ z;S3hZICVuwlMLBK)3^0>ZbI6`!9jFC!raL}E&07xiz$Ao-gU1n@sBc|*up%?R9jK( zF^0;a>-MFCw)9F<*-F4w^hNQ7n@uKV^b&mYJRBL~47eu+T}R6A^c%=y(`>U-#|q`l zqF}!G4n6fgsD@A>w$>Xqj7(~DYg?&sBA&8V=g$I-je+ZK?DY!{A;D&^n6>vp~auCl06*z-|?wePHz-LU=ie|>%?@j-m-E+t#+tdfWfT{XPDX zKZv*?Ik2wJxLhQ<^J1}9ZYlR_+^sAZ&F94MnSxn_R}N!snJxq79Y12mwx%MKUB~B)OF&?|Vexk)yY9QYgdY9M3hm z8F#`(`s^Kl3!nseaV6nj;RmZ6Y_uhkjKK@G?u9eA-_7|SyHP><{EtN|D6N#Uo;&Ec z#6cg3C%Gp{WOg}EXkRw$=pTpG&NJL3inJRzMl(RyP7F6FFQ2C}^k(O|)|e4pzM7lL zI&G)G=?(13JY#|1#Rx7^cDz4s!MX4othAcxz8kE`x_8>0hi`+h$vOXpQ^+`qJsxzt zA-|43kHgGaz21T&PZu$$v%%agV$}djc5~* z;Fr)=g)oz+O!DX?*5Zvw^2p%h;kkm^=txWV3?z=39}}Ck#LA#F?oK@e`lGGL>C7%c zN9c^dU-;hqaOJ+e+rN*pPoHDu21kFq?T$TTL zNTQvjKx9xIj9ac?WLu0Hr2l?z1+vXIv=Du4dtS0SHfEx5Y|mxn*EauL^Ib7p#|cI8 zoGmZG4s@f}xaF_?`>>lS_&CLa*gS0t0`ASmEZCK1707v}(o}XubEPA-S{lH)PQ~o@ zG3)AP>f;lqf7_)?`5g+SE!l3gCs&^+Tas&Z;>S^)728YRmt~1h0-xB>q_>1$J&GFR z)!Lu3Xb#RAE4ApaR_GSJTlB4P2^UW=7g*eNZ1=ww8Wt)mFZVdQAB}x|jR zJ1%5I>ZlG)w0Sl+3c7ATZNESUstfXIl|^%e=EL8;V5KC&u9YLcnrWbHQ=iDu?ujNI z6&^)sWd4m7G4xj-7yT`dSgAiJZShz~{Pn^Gf-5_O$(Vt_&g8Z^^wVHRJXi_nR1~PX zq2unGqjhLdZBovgI$0uzmLSM`7g=G8p0Ur;!-WNKy8imWLz>c^Xn(jtW~u#4J)^%9S< zewN_%s#OWlOqlG>a3(=>90f7vmlUgh3zVU%?-!QG z2i@@!O~}3(8MN;8eh>&VhG({)bk2)nC3Am%moZtJv+7WwQpGNeB#Zoz4_)@$|ZjPth=|>bMm9IkP)+~A+c>%jDtlB?r#?3 zm+GZ0CLqe)%Qfvyn|v*7R}99K?*c`e4RRk|;!TJqg}!2*a!+i$iZ@l6v;u1Y&JAghry;tcWEYN61Yu{^H(Ur5hKp97E z`+WsIyBDJj`4i?L7FYZYn@r*;H8!)V5}TyT|4 zHKSm!LDp+qE;l#Ij#3i90KK!b=T0^`IocCnW-y72{@L|~^f1|i6(l`LUKUN>@5{xS z)?dK{?LE_c4Is|$1`n>OH#UN{rkp_6+Hmt!ztMvM!T??&{7pdUD{qBx!j9(lBaazk zTZQgq^W*6Is&RaD8awJ^;a2tgd7xRMj~$_Q57WE(2HM}Rfc7lYK8DFly4Mba#g1Nd zlmEm?(VWS$$EbHMz@^$dYD=T@^jB#y&(^mNZUPi^O-I0A>L{JAAEA-WklT%>`i1$I zu-D|WBy9v<`C3C(%R|%2!h;;a_x1jsLzRn!LLVbixbiAa<>nUjpD>CdveFZxjQCRU za2$!Atlye>j*Sh5vr4b>=>qUVqM;P*H>})$b;3B6Y?bUY2J!nCa}{kg>t76T3@*}ObZ7XH9?Gn*~Jkk>^z@{Pko;#0r4l$ zGx%x=vK~1{0UoZ9+OUKrbR;rQ-I-%MCI(pB`Qcxxo8MkvYKhq0xVI_bB`jMMT+lXP zftKhyC#EIR`I~0^Ru;B*k4d!;6s2FSD{P@6BU0^5(d)*<={flqATL2s$M=VyL%D;? z6b6<>b85r)WrA#QzB68lNr&D&pfVqd;QLux##sW!H%lqkH=RO>pUk>i7ETA;` zrKYSd65Q$QFuo`KIor8^SC%R^78SDf&1h(E(Jmnq!4maYCy4%z&D)W|KZdqR+oQPG zmO6FxIo-LGgN#s8O;ha$tL>(pr#;>0KdS2`nnke4Y(ERELwijVmETokmMB_ zx;*%nu7vB7r6If0n0{Sy`^vmtzQo*fsnkF_|LNrvw|^3vUgsE9VnSRk7$$pqTm@FNKCSfFWLT z3&SFD`rnR&$p7y+U?Ml8Rft{*ArjJp03%I4cZh4Gvg8qQfOzyTDtja?RcziA_y1=x zqCuuXu$WpJqYYjz_}4VD7D+#3X}|L~on^F%2li;NQ&1CNLIE&$_Cn42X29Yu*lS?+ zTco-Wf4l>yGuso~$+!l;Za|Lt-BFNzN)v;kS5GuQI>ms~$6F+Ply;{Mp#DxP$1ME; zDK^2m=dZv!S^e7#HN$Plu}`DBfij*zRvu>yCo6;abSkuutt);dw7&fn&}d0|;}Gp$ zt1145DrVK?&m8QnJfpi66q7_Ac2|JH-Wh-~uf6lV-`HnT3PhHK_FM42a`OjRc6xG? z6-58Ks$u3&w&9PD25 zxg53iW9zj;QB`8ljcPWpU~V$YH0qM?FYPM1bs4#AG=V?W+&}Nm!+Va}#?gc)x_#N> z9MBo>iQP;*X76kcBm6`L<+lQ%EUbHHC29t%!X!m=+*gJj_whE%t*#ffT3BeQdv_Yq!OF~Z}`pQLjUJYLcnk6yY8vpqFqaWk3aJe@LEx!%@)Y0>D z&E<2ORmaRu8u3p#wI}_Rpy2)1Yv*~QO%`Hf9!JtcLutB?y;Jb^5MHa5aZ>#EU&h?@ zj-ki%)?ylt_J>}hc``zGcW4Rf^i($B_T)n+72_Z+T-W4@v>m~M5Gx+#d@Xv{6idC2 z`mfpsew;itm-nIr{A7pYP&9UwLWG6e67a6sY{I0=^a%^7Y~?|DxjnuM;FQ9AAF+W6 zN*EO|d(sYJ1vY5`c7Fm)6JYDNTwD+?m;k6c-=+-injgdP$wO&8Dv{f}ci_7*pZr6+ zz}!J#RIPL7S9_okkP3=8X;w_i81TWN~r^_Xug?m_Uo+m~0pEYWW-8hs-X zH%aVCO^_^NN)&vEc6%O>hK>h>3Q@NcR^3;E2M`ZabTANnRi!iN{Y^9<0MkY>2E%r; zeqru5PJ^0B89$9Pu^hW`r#$r+)7_&EIdm{Rp*h;|H z@*gfu!Rb*hMWU`vi8JSV;KkGU$Jfvt%io07f1a}k2n^(?j(45Uhyh5}&r6zXDZf8W zQ4(ah8`#tiS8)M73rTyM4H=;HFE2Gto`y@&L7lVa)Hy`r&pYFPEwPE5VW*&?(wh$6 zWCrGBC#V=MNj#TT&QqPFDtn9hvw}$SUsD!cnd|dX)i+BxCYO(fys;A)QF#^@hTq#gOH z(uyMLGY>&7iNLQuikbC(=n0Fg*5#@g7c~z~)mvYz2K(LSJ}X;=V~ZX}E-N2oVMeLx zBzyTMwZ32o5o#o8pW!-5Ot^OR(Je*O(IcNaa|sW*ic?fhr+etM^+h%Ii0Jt~d>2Ql zo-bt1iZO35D`EFtQEZ5oxH-tvvKFF}bQNJz0qx&6eNqL(yB7c1O`Q0lS6Ox%d;>LL z0L~$$#MmoLAmEW4tCQLjJn=Fg!2<#cbRfVAP<0Pg_W^Fufps+$Lyxdj$$u{~;!t7M zY{qQ+)sc-t$po5+Tm=(S`oO*V_e_<31~6~=odD4i*L=;3rzcw~)DBDpep$_w=7Jfu6a`Mo)>!j@hgS$Y z6}G4gE__|?-#g0=eLFwJjTx$=_Rce~3Hk$OY8M=|(t@Kmw<2Kln^-s{{? zty6d^1}CI9^T$40$!r0sezZ`cK%m^g!|Z1ifPuPzeXx8Ih2cTA5@vGeaA7)f#gVdx zwvsFtaY9v1{9^5&&4txqdTNv#q-Dt8)EH(x$Z!v(bBg+{2Aj~LBeW?Y6*rTmO^2Ly zsm~AxwJk0gxh|KM73ZLuqV=J^!vFaFVqc4@-b7&mIj??609U#RMF|YQZrQZ%B@nFPHe}BUb3A6Roe8?#pY(OvzF=Iu|5NUTjg8HrxG} zzF>637%NX$kur)qcQ=#Tx}M6fQg|c-#wS>wJQ^PzAA>s$)5Tg{?EypUvREG1%t&sN z<>j@oB=x^He;jkHP3Ntpy0XL{KDQ<9s`o4e@@Z`c{+n%;;YLcvS#VCTNdDR3Lv_H0 zkWlCd@_27Ff~{`#OhUl4`K@eH9FLGEoq@x@)9X zg$ao3R=vWK1<#N70tBd!m_TWCT&F_M8H25PylI^@GD&v0Azh;R;@nOYc0k?yqG zCK+N+LsiP$IvoQwOH2J!bf%#Aj3tiIMt9ypp***_RrlrEUJUh=trCB%84up@Nvq&n z?i~2$w(iGK89FYDgE+5m!!jFNmXV2v5&G>%)O z-5Fae8VA14eR+kL95Bwb+!Xt3m?ny+eWvg9Xlu8=x$TMQ$`x8T6MUE@=KF-t&A9(* z+ALt}5lb~)L%_bQuRwM-GeaF)WBX_8ViuOIzX)#( zM>vhRN$E1%LZV|fX2D+!#1%(|cfSD$t{w46N*FVtF`#Gi=5j1defj-JR+DTjt5(q| zPSWQd9MQY@1`OXL+EqY>1-6KOx(;dSA~x-|2iApwz;P?2E?kTN_WtFnAk3cFDH=)2 z7H5JXgJci%GJq{qAm|6b_HQ{3qO4Du)voHRg-cJBMq5f&2=EW%wQp`a{;`?vD zEZp#$@7*gQJe;s^Tef_k%lx>A0MNCct=L6|Zf_s>ZRB;xdn|eyO8EAjGR8V!XCw>! z=L}qxS?L#=eO_h1`1NP8eA{Y*Ea0?DY!3cTEelYOwOjmIK&2Fy0>!PZN&gYY>5M@m zr-!7`j6JX0hjhrhngZA}n(abTq#K1A$S?vJDE3lhAf0$Irz&af8J$C zTpw6`Q4}=VU2ATMtd|mr+R57QZy)v>w~jVD9{-dnAvrdJ*W&)sao9W3r`{f`fs3@| z)2|=nHMWz|)?6YDiw{S7sU6Ktcgk2c@x`Il-iarghaZ?+#+D7*cetbHd6LH%RlfOM z#}&!1epV=r+Mmy|KfK0X8y^+WXZjB1pq@Qk?Bkq7s zr#c;{&zcG}3vM+M{ssYj**b5(K(JSk%A;EWOCX`zzZv9O3S&C~0kt|HN5&#HH zJQz!y;+&9!-k2pQ)rVT)qjavcO&`ZI2p|6;>}2&22=CBKrjKDc)5eP9$H<51gkfSm zL$&t*;SqVCgf{&FtgNYhMC}J&oSu~BKQA5qZvYPP3(C{%5ENnqn$!h3-)y2kfMWbB zI)Pk95Ze40Z>fHyJb9_GcmxRR4a=EUC{t?}}E^ zk5h?LXV}EdT`;^Wa z^(wF7akdnac_i!g1&4vHt&)fkTJ0%TaYXKr=e?oP&XY)4f{}y7etVW{oBdc3lg(7s z(X{!A+K{Yto|}qDoYdwY-zxlY^Cs$ti;>|cA#=O~xYvf_a8(JX{junXw?N8F^uy7u z)n7{svPH`yvMuX9f3-8qo^r{3SJmA0pR_FDjIj-xI;QVZxK^iM2mCS>d7+8v!Ax1G zu2T0TWYyO0n+)pU2)zo_y9k)sj~xFuiUo+09B!hjw+0#8U8bch+(OCTeF5pQZA=o( z<-NHp$A%1xuDcz)1p!XHyE0<9KW@;4;RWN!hTRDeAp^lqB892cfY_hyd&3# z2dz#rK$t+>VfQnv6jQd}E2o9#JM!Ow%~h5~PvLH3mvsWz8F49kugyY|=#H;^pFzR6 zIw-pu+Qe`vhcy5$BZn4vVd1V5EjgS;5v`y&P+AfGx3oanaEmlbe+FPs%}fU4erl2Y z4U%g}U8p1d$%v89s1^oTl`j0|CnN>Pp2fs{QT;fH{f?<)^#flkZU=i*;l!sqVT#06 zu76}uC0(OA@eJ#*X?ET88hG6R2}w0A>dYW}^OH9@{Xtaiz_S5U|K1m7oUp~xeXbo` z1IsamXp~dvPHw+M$1Wk{9~Gyv(-pp=%V^@P$#x(+#>V-c+>-Em|2f1*8=8e;AJ z^b(w_Ez!|39KCcg$TYW~@C}fNbaV~z``VwsYdotf5Q5Nxtnzj#6X40E8t81rBMXdfqC zMUfdN;!g_T^8b1|$eiB)`F;OWkzgU85O1n-ULel2b#xMw5pbk>1Zfc3Lq1#~_O;Q2 zt^@YHV+wwkz8=lN!FuBm5)LO2Z6j-A<`egEM?!ihAtFn&FE=>*s50+no5t-tjPR@^ zxZ3@3t60SSjjPr$kj$k=R&-$Kr3&z};?aOR8$`bZMMe zGg7o>l1r;E)ANg6Ul6g++p6M^o?10GBl|VV#h6letHX6H%q6+(L75}1mhrGz1LsTX zxY-A>d6ncJCSLubGG=p5Hj*))!0_`~H7}a=h=IyBDOf}|>@9AI9{cfUtN=6K3+CQF z&k%=Ya$%IJF|QBM8bnjQu#f8xp8FPhAy~!0L$#R)8$ZknW=u=bvv`=kg&QuUi=?uN zF=%wLKF=tkT6>74;|rC-i_Uy;!w3METf1qH$$eG~`V%|V5MyiuVk4N>)MKNbSse}j1^TktJ z^O^ywPm^?K=TN~3j${{&h>t7Zf>wmPiQP`7)?7J`_1#H1Tk zLY9u|sf~goPtWhCDr?SAjSb(;JnNkN>|F6IzX+<#b`?sBzWw0+oS1!D@o84A zX*5@ZqnO}E?i8CJa3_vHg|d{r!v4-#?ATqu}Hymx5Crir6l%$xLnO-J%Ul*&ZR zC$gH=GVe@((XFFld&l3+EAr-V4RM=)X4?&Wl8()Vh~TH@Pf>80*MDc)w~mjo4R-wy zJCQ>zDh+?nAZdpnE8UG%9ULYbwUbr0{lx8Dk;b;)4@MX5&5P9MTe8YC)z;8573lJB zm*iTwz?9hb6mN^L9||E1ZS!?WLpEx68mB4o+%yyoPuhuYqGV>Y1%A1qd-X2UuWsd! zuW@v{ee%(WpKUqIL)1)%XH4|^WwayR!73w=55{gBUvGX>KQR*j*+B!nXBce)^%;=>(29BFK*@>CDvj&VUK*My#GN%L7t#tXHTfINsEzXG?Go%&Vbzkw}KUuOR zdz|1rKG`%lh4mY>Se8^hHkI?#GnFKNzu=<#DyeX5sB1ND=-p8h%`%p2x4+{(zc3vs zDB2KS)O$E-pk-T9mDD{;l|h$Q%f8FYnHGUvhkEE^NHtgQp8kim9>k4_!t1zbg~O8z zBb^6O4F-}j)IuY=?}heNqxXsHjx&2uv&X%;KI8sFrxyNrAzCt&r{aN%I8-U zg+{$gaf;q$Z>Ti6R{JDPYCRe{_P3`m{MuSy(tite3&(Mq5gSuMgt8D(C3WdTMdd+l z_9bTre*}H%>+LY+M;{)`6I{8@;^0+Og=To{nH8{#SNL}*)o)FtRbzA9f@%;O#>A`(c%@eY5Z@9g~ z0PH$<1I#D^tE7~}DFd_wTQrGIlqub|$=>uO!sORd$Kg zB>N3RW?*EhusP`gN)#1O4r0>;4A!x9c3gHyTEX)__?q12Zp@OOb;6H6C$yxJDnS#T zDiz#gnmLS&``UDVw#?o6bG3AT7}P7gOX9eZJH+cxozGYi6syHuchT{E|G-y%){sfm zob^oa{j6`p7L3*5D3L4$uAJRsdZ7|NnbcSswQG5->-NO6KJhTwzP;+5p3$mT;o#m! zdzYQdOFY5IJ;z3t^g{1ntFl<)UX~(Q(O^3-nIA0iRFBfoW=C?{I*~d*zhQ0Wc(Z-v zU}6BNVC2W|_C@di{uFt?lAD89s(9qZ?`C;fEm9Q~l2Pf;x)&t2K&vHxx``Lewv=C5!4cD=>XL7#%(P`Wf2SSj30@CcSbCMFaH zLh12r<<YWV#;g-4R7Oz%>!4>v%l7mguCN0U5vYeXAQBa|=f*!r9GLkP@5Cqy{lkF*+Z$9!}%_3U{8GfNy=(hfH14-p)lpwXeYPvZ^luUBtL(*_nox2~813t}g@GoCwNBX}VU)oemmW>!bX(LpZ@`~6dTUT?TU zC`_K+Q$E6n^RkjP44(aXiuPekUI;QU_Woq8qh!FUW7B|?FLXqZZBj;gYN%C#xijilgi^hXwZ@Rdk&$vFU@Mo&l6^ zBHr;+KFEAPlTK5ydxXyjV4`xu{_ONDs1i0q26Q}80944R%Tp_`E=s{hRPQb!kbtz4 zY>-y*G;3-pzW9b4LjzDRc`ZG}ua1rP`=XkH-m7xMN!$}fv~CXNR(?q~EklS@3!~lJ zpV5HUEc}g>?_fm$-2cCNmOWdVm2znjXmwGw5n%i4!bAW=X|3V*YFz>hAPCNxV~wCb zO{d%XOU{C!Xm6*5DS~c&;OC#$YB#K2jm=N@TUXwq1pu{8Nk78OM?EY((>DmXei+_d zk~sar=C;lDC$y)^l*P5} zRa6FrNm!J(@w&>l8Zk>+4dbL66Via;bG&yKBT*+qTN)RTj>p!|)jFIeTWs5Z;1{*t zqN5`(p^t;1lt|E}zR4RQ&ILIWYsk??vDu}OIn8P3i2sR+gT^R&cn``!VQp&h6Z>nU z!7pP}rAp;@PeSqCWA_Drz3%TuYnB(nB8n-Tdd8MA;PtKQnbRG9F0Od)4(+4<(NKgA zZNjqZ1%?B9*5{}Wzj;+UQ|SyvrXN!%As%Cul}9w1RE>atQNo%w8*Z!vM+&YyJD#=l zhc?R}vMK6Z&HO*RY9ZsH^gFhX{Z-PZ6EA(yY>927d zgUrIO62;V01#h5A*zj!rD% zRQ<4P*uEMNi^=8QAtuZ!aAZ7xiPvNB=Wp1Tw}|p}oYPdo#5o;W1f}(@_;)!rD*Oav zd2*ZM#C!HH23J@$NG}cVih_3$9>?C8<5osTLqq0y{bEzQH$|N2oE2J6{b7aAaMPQl zo9>((N6E^AB8p#h&Lp&gL62YPCw?hrZ*| z1mlNHUA|}IE5L((J0Q{Ocfz6z(}23`qB(S0oMY(Dpst-00xJ>2=rFNj$lZM}4)6>I zxOJa>g>3asz_ven%#czON0m(?Z*|y8X5!x1MQ+NOM}&v4N3TpJzTY6LRv9OJo9{>b zbK>{rd-7!5MOTZ};vOAs!T?0vBfMNFDFMRyTcw9rt>1(g5dZd81-|{CDPzj<&%d`z-U2wjWVTc8N{3bMe$uCi+W6Je##^As+KR|3zjg-H&eW95=vxC8%4 zT0)wBe_PQ|6oy(E%<_E|#3(LkJv90$!15R$#3+2ZVV`-ymlf8zqdU6ZX&`= zRBteOD|v{iy^!@EzKfx1Zs7c`#H-1*^@QTZn)ekGj#!(c9Rd`c&EY2iU?+Yz_ZeBi z!JZZYY|JwiK-3ce4!|)K7GkR>V1S+!Fn#Q31OtU-KsJa*+gU9F3kCo|HS8HjtqbZ* zD&l%S*SEJb(wCvkXCZPE3 zH`IqsIVXGo1kgRcPX3D-14D%gm(s1B>Z@2BT;4@^?yO~#!$L5=G`4BL$|DWG7=K`- zFP=>htgIwO?Mo*qNmRy2HqWf6dzZ1e}6DmzCR@8B{J6i zQFQUe7>=2}iprpde{z7_+OfO%MSw;9yg*^>O7ZaFB72M6!o-?++;w zM1;=`<8P&iR+0Itv*}>W|7FAk{r?6KatMxW((lg_A@w{65Rwmb^*`Mo1nPe|Ozk1A z_kSx@WIdSzzct}}J_VDsQrl@494&+@24bx(&QU=QZSTN>q9kJ9&^!@%rDm#Yk0d~; z0dR`MzpW{NV1D3E>LP?51Rw(ZOngz0Xn&x!-{odT7AUSDFxv=1!3O|pYtxjJT3*Dz zQX?v{Ip_7~dPW{@xa;~@$(c!uA{F!XStTbw;7Mo|@8+Ve$ld@%6Ap$~%GAj8S{tRA zl%Qnswq_aFUrwMCFhxw=8+`>6cqS%nJz)$LVF)8_OuBn}z&Oinn2;?>HtYhkbN(fO z$_qMO5l)jeC?Sf=pU6ls_U>ogQ5U>ET^P!6`+=Uc~+tA&-z|6%D&0-IB5#Cx($b)! z5rzaeHFINz#O1EMi4^HiGln%B3VE63Hs#e1=Q+d7JD-wI|FTJ3FNk?eS~5hSY+bSY ziX!-o#h|ck55;VR(v|nmr%a*jsNVf2$2=Wlg(A-9HYfMqBR|U<%?A-ygZ{p=Hx$bE@KMuCp4RwYn12IDjcSzZE&oEg3N81!O#SQ+B^S!vsbS zT&Y1XrAE=EQ$ZMkSF5aj!PxYkouDxkZ?LQ^t(J|#lVd+J>q0ZG(?=y^n|OeGcvC>l z>;8jDfHB{6imjjn|5&@;Sa4>&P5pPVQ~O}aosG{b zCp$T7UELy0<)|s-$0s_5`uaGLe@|tu@L!s*D-YAnq?e+h>1(!sQ67(eF;{OSIR_~! zUKQcb9N|YMKwI{#t5+(~EXkWuY+PZv{{%>n88Kc-fWbbf88OTL&~kCs7zd+4O;J2b=I{BC5qL;Kv>H4DBB%%u zt)4rCPuL%aGji-mNULNuzD&u9VZkDy*LGmYTI$$afM4qYU8#ida@T4J&z zm-zQz>t!alc856N{Vc*R{&i+K>zq`_c36bz$#Z{sywesct_OUPR5) zl<$T^_Ts{=|B*Y%I)Mn5`ovoFyMO`<;S&5-%ZZ~^W)JU7btWoxf%!4T-A08UDTX(U zQ%HXcQ`OE}OR=epjG6QXBkjY5hRv5kQQN6aHE!MYahP+mMI8l5e0Pv(xN&{fm*LTD zzD6_ODcD!tk5k4&+HrfI!n(ygHO4wl^}Le=N$;t~2u_C%vDmq-pkCi+fC|J^#QT8g zjvEYi`t5!?WFcS(bc&L}Ko;dl+%9!3I?y_+)hR2CEGl82NRpihaFHXsFES$5RAe{b zK9HTCehkU<=@8!u#_dqP`KMw(OL_v-_zj%-~rySGWZ(L*k{p9G=u_PdA;cxxD7i z_4){JfS^4)Cwket0{)S1Y<6NTmWhMr+KQN`q1Gph*KQaD*$ew(5uSd}G*~m}zGUOr zPjW?LVM)6k8k~O3X>+zZbDe)Oao$3lJZ8ReBzr!gyTj1&O;9iVY5V!5L!jF4A_W%|NN3%~ck;w*-Xr8$|9l*63!lTDi#8l}2@ ze630c+=%Mu{I6cIF1I(y4_2;Cm(tgMjO2vG(jE4EKXnW$MZwC z39s}*gN!2OSCje9)fF~AOY-o!46HFZQhEhXIiQ_SzAFmL=(?VNolbT#JmubO&C%gl zZ(?7FUB*U{J0?_Ah@#eNkM zlVSL_!o8_x>k;XN$f6I4Zx;DTd<)yY%F4v4`U#u{SOF`#RH%R$MAiLf3LQw`1}2ab zAPx}BS=d7e0?;`BqgnsYR7PJ)>ajL=?zvA=kX75ZuwIWv5=l+Uk_VWDVBtFC zUx@p7agpArN>2|I&wM~%M+O})&Gj&NccZ|JR!Ok|Q`5IAUWj(Keg=U0t(I52fLu|G ztT?!;rNN6cz{ZqoXh$MA(?dNL6&B=3fi4a1^m$#*JM<5i3&pIzwN@f9C1o-w`wie; z^3!6flJmO1W--NnYm~XqV9H0|zjR^QO>@+`sA#eI7gj?ppW2Ls5TeS>?NH^)o}Dg#G=mun|TXkS-w=Vt8Nebb6v<_q*Rx^WBgE+Va?yl zLa|YjF$We&imYvWArFFXBh$8DoZ5s}0i2*0LU&RsVK~5D!Uk9@up^DJn1ME{Dsxuj z%VZ1J!Y`sbV(C5qaHZQH3nYfZ_TR-2jB_F#cKrzRf_prx*rSIRh7R!8Nd7W}=u60` zcc|EUHeYL>n$U}U(}3!>+C1!Ga>b))cVhP#*zn*lI!naEEfS-;3O|PcyE|wJSo{x{ zL{;7>Ytdu?RqCArNE`~D&_(l9L5_Y!E`l+D26TR8Bv*DEjoce|CKFM|uQ?N$ur=tq`Of}^Edt@-_!OsR;>>VoYL~>4n){x z^7{vi;Lqh5ZXbkxG6~qB3Vnn(=_Gzkt6EqxLeN>IQTki|_TEGNCb}b-cJ)EJlKm}L z6oc<^^u=Xr`eu}S{mk5iplEbSuSC;X){&Ycf2AIEF_mt7A@OU;deQV@d$|2Gp5dX2 zyvbc%CSnV!Q?G`!gsjohmesA)4y!(AlC;CJ#eefha$_TX{^AXmD3CO@@EiP{JFGpJ zNE5qKT+9pU$p?OejfVpPz@1>9cTp?7p2MUszeGf3N|~@=%(1|BA!n=h{OZd?{%WDd zJMY=ZHoAx|BpC~m|BpDeLs57k_zsFfFhsoRTb)7IKXM0^%sMi1u&zBef%=W#!4t}7 z2bK`kX>-W%v`Bhz6^BKHKV<|VKxsTU;{;R@C`&tb19q(0>34(1@k%TU&Ds5D3%v$=< zAKD0iER*r8RYIcfO*&dizS>Io$(O9F(99{}a$Km;No4$Ho7Psz9l=rRDat zo8?Nx;*pxsoQ%w>N&^WMom`yf$-lN6{w8VM&j-@iS{ivbBO@a*I~Psp1y}JJdH$DP z1=RnisH={O@(tGCk`mIXq#__K-JpPUC8ZD*kRprOrPh>GM)l**85D$IW&nR&U? z$CCMlw+Y!P_7|?;r2EIe5t;3eBKq0tEZDVX`kKDSqmCpl=dP`%zBq(C&|#rL|JaKj zQsqEfh??+#Ba;wi+p+f^FYu4VI=HVLh3_z^a=eKim<`xv*%6?6o4aOiwMPxlqiY4@ zZ{pIYxjF0L!su5X!T=U+s%LI;qGIOaau$Np9>g3(Gxt8fUksi&Pmt_YmKxkX2q4hn z?(0F#ul+NTsBp#v z3}wcLQQO|!kF;g0OxPRU6?WNIl+$#Gh|(QG1O#C}+oZ-H>*qw+$r08b1v?Sa69V%P zA#-sQ!uh_-VTxp9qix$Iu@r{j=FFqA{D?*AJ5XNaTe6;$O5&H+$xDum>BUG}%7gUYKXHNn-(|%;l_MWb?W+QDbY=46R?i!)Hjtq`tFW=QOv0^~A@;=_$S2ssB z&1XqRKy2l=9Z|^U)9z^AkXd3Oa%ZpeAPPpuHGG~n@3w>?!}EDEP9iQ&y%3PRGpJN> zuhD_6fANgPgDn zcdX+AH`oP0i}+789DqHO#)8)0+W}B=7&ZXv#6Om8Ena_HCkPt)8jt!g+~9@C-sYz?QD-k}Z&aoYN@FBpq0OMK< z6jCIae@#uko&1y>zy~H+CqOJG4Vj6*a!pvZ_a+u}ZPY{@A77*Odk8y7A{_E0kmXD} z94p2Albgla-qXXG>4a*y+L{yo+wA=%!J&@4u>{--Ln5j!(rVfp`px8dZO(|@zf2>D7ECw=x&~QVozCp;m-$S& zgQ4P^sU-&^4`m)aDAAVJ=S2wKKZ<%lm@awCHfdzwiePXKI(I}U)QoJZeo*Is$uAhF zw47h(=Ac-}*U>B*76FyXi;Ob<@d=8$@qlp}dtD4s#E?HWuxi1`O07nZ-hm8#2eQJPf;7MX zLA2Jup3ap?>C6&07e=c~Yk*^v;oGA(S$)-B#pVZQ(UIxdADR%e`B`Vo04#BwG3cRm z&<#Fc@Pb~VDyEEV&_iHjzR3F)fZ41zLRvKXkf7x99TKE%J0zwC^Z{?p?+J?l2jw~o znEhcv?!H6rkmG~(p96V&kfIc`9To1Kn*zI_y6tw=5X?^?yr#G$#Td<&zj7FI(3nk*WTd(m0i2K_vQ$Cj0)V`{iR#(X}R(ihq_z~Z{npn{5&%PlZ}|A_Q8QjCt;^NNY76T82<--u{ z7L@{J>qC&Q19_O=$G8GHrj znkqWD%$4=bPhWPV+@{_jDWe9bWrQKE54vE*yq%-Ci&8b`hE0 zoRh^auz&w+zr2(Z6|0jn`glLG03-JEdc#sGj=0EykMC$F3Ci!+%#YcU43RRr>h5;_YWfRS zP!pjCzJC1rCHCfr8k^E)(FAmo=NDdSGxZ=7&Ul5o-n;E$b?@AFR9s7MS%3d%+(DmZ zS1Esa%CbB1c{_eZeH_(UY1uB3i7FwPDOySD*%BfABfWlrvYJNCUjv&d}wafrVD|KX>A90Txjkx@TL}$zb&XHpIasf%%pLy-E@nff! z3pO}auMY)TpQZ%-YsD34>DapOq+0S?+it1v{2WO!`B2(NZI$dra&~cdw^!DF!XpzE ziOKXF{y1uUDDtCau6`UAIXa%`Pd9bH0R0vh=BlnTL!== zy#b94w0HtIL*v}Q>J>PA;H2J8VX;#LYkijWrG)oRD4Y8R`_yagSQ^C_G>z^{bhVWJ zUEUwK`=lq#k`gJkTzp*ZD;qGdnbaR8U!RIKfUyfWi+CkefWK{pl-}@*Ly5qbN%il7 zRJ4$7SKz~hmMPY6ez5(&dEqWbgLOhCkIesEstf4&l3n93DH;;;{qdpC`7Fz-mZ~nf zPb0(|bh13WlD{xaK~-frB+0eMkYQxUQ)n-`-Kl5JR?VhSXOw#L(I03Fx+fN!BPvc!rqnqnYjZ8s!>&wD25i$pnr?Hzk-QvT%haaEOnznRd8i&22Vd zOVp1Ia~Z{A4vy<=JXWckEOA|YvQRN5MjxnB@OvW8fAZ7a`%lVP9N6BRGXkpwRgAVF zi#E+b09^qi804DVzy{||2uQqp++}u$4V(QMzzx8_G~Rjt%Me3YO#%#*hR=f@c4zp^2JZ$xekaro{Qf(MY;7P`dJoS$Pdvk>JuS;pEPwUt#C_W_ z+ely{G8&=2Bg3|bAb(%W#4LT3II?j5v$}2WLIs9qhp2)KEe$)NIK)7<6_&ao7Aq_wFLLzT7~@f zA6L6$ZS4F?P4Aa{bh6!~u?&+okD^guH6{^M5mTZCQwd13$l-O=npnu{Vr6Eq^kET2 zH2GaYvDgb+O}EfANI*y8M^@5Z_DxPfJ2UGN8}^! z;KTIK6$b`K7TA?9TDh0;4P$o``Q|ByL3uZ+!(SqmosuL!ZNkgKKmjhrxD$-}yAf7G zBJCMeV%CnZ+p9Zh3>lm9{5clnelht~?!M4EPyuGgcd5 z28bOT2{WW)hgxq2MmXB(bI}Qr{2DGhK>x@%y|51(JR&4F^yTM7K?F|i%F1y^VgUeB z__3@;#%99mKk9%?(&x2bAGpBifFhvbl8;#{8rQRhcg(9DBTo-+zwEG?@$8m7$u(-j z>jyGWvL7?jlU8_s^yeD)v%4=6`a6LUmy`MBnv5$MYP}oiI-X;6)V?E$w$V1+F%TH19DJZ|`OM|XOjgYdx_@f6UK}I@uzvYUg#kYvHQfIF&hi}&o`TB%o zWlX$Tw@n>QUKtGIe(F^B4&}dsynjtJ)tN!z5LbP+d=LZ05xU|!3aJ6IC$}XV{g^a zv2g-E)J>f{5VZ54WjIb3WEWL?b|NU>@t2BvJ28;n83Ig z_53W)n-8umV6d9CvbWvj95Jk{BX^$<{rTkTFS)8k5o-zdgUq?RzTVd7R_xt0H2IE` zfO|Ku>`~8aCg~sm^pkc=Gx%;;i^629*I`^K-KsYDSe(n&MM&d;!3Q)M3LujSeI9j( zG|fGHTCF07Btx`dJ|HO+ejux5h^DAT(jY^Wh%U4{qlmCrvSdEPN58M#u(%|9qCcE{ z%rYO7`F*tYA)Pct`D=$ja4X$<__gn>1FBJ}^5xZs-3Wym{C#HXxzc@}&kd%X=0TT1 zWh>0mFlm`ql@jD(fq-!=T8J&ZKc3dyU+PzJr6LtPR4SfznZKq$$aXT@P=FkmNTjlX@bVUTh84wWmB6pG$ zCoR@ya19{u)mDI4CqAGB92_9|%;63sVC-VBShg8m3;Y?6Y=rW|a^gK6u%}^ShdOz~ zffDz%U=)4Z(qZcBaB78Zmum`|g>X!M)#gPzA2L$xMt#9ghnGL*Sc)JE9hOv-!2+2P zp|!zUUo&~K@mf40r}VwwpiJl6(@pCI4C;}&(~Nb~exg#DlNt4#)=-$({;E^ zCS@}b+f{09eMUYPzGvR_?a_9H+?+KOHx}L3dOOfqOsv#!%XmN0_mxJS+cEYkzAq-o zJVEbGpFAS|h;EX~Ly?xz;>u&29kM#dD)ndDafEF;OEC16AuIP_bpz?`Pk{|cs`dBQ zpMNyBvNUCNtqzNT*tNFNEY4QlR7tM1s|%54H2uHJ$2a}q-+0QZrbb8PMRhvoIbxMCxKUE1Aw zL~z0;yMlluQ)(({poo@Ow2KW$^hN`~XrU*jS(2wJF!5E-I6BtdJe(f9OmX2Bj3kd# z#k#*|7^MPW_yt|J&e(s5y~g}EJ*k)=Z>uH6c}q(ZK-UQGYM}<>_H}S8!FTa0b_}KG z9jZ)_vTTJVy=RvXExSVq_hQ}TMlk@Kl}G+L0)Wm+0Ggl2)1>@bMo)Y`?lLt4J^+$< zJbBrhqcM&a`ec^C>gI8lw~MSN{213hC+2uO{P{RPNzm2FB(P;Hd$}#d+F6CuIfK~P z_FCWMj7YdoW|_s(YU$wHQchdnz>(%Nl+b+l7sMuMwaWgN(x{+4-u(F%!2!J8l}+i~ z)_O%GCy&>&tWr@e()X&($M+WEbB))xVa<#8va=aPe{U8NI+uT0rlXZO8l9EnZY9*S z3@4jxDOu3M@{8NFI`zHWG(Olrn0wZH3=3q2Ov?yz+4tt;=s#;eAXN^aPX)vE3HFzR-2p%60I{iI($t@h&Qz9oi0YBELPF(aZm;ThCqLscJm?ZH$ zb^DTXzjHemy<~5kWw9$5GunW=mHV?byPXc1-SqiT^4b5PuYUi3zvjQ1m|e9}ni{0h zK?84e(h@<~)d|?H0e5k5&}i&}2M4>K0s=+1ELpDipx7Eoe^q<14p+l(oD5Mp#%9;M z-wmN1*Qfv1&rc2!L7;TkS!3fr%vuc$7#ewb{S<@sh8@96vg9yE{;Jz1FCss3O6}{dZ{3UON7{g1Wgm5M| zs#amRKPr!D5~2aPJez7#AF^u@O+!A9I?zK?q`bb@rIr}o9CUSJCOfaCWHzuhZ~2>f z!p9Y;Bc2_gu`*lf(qCISxdr(CO!Rm0MR*u6bMzW`Y{li(|7c;)&czPGq4lpad)04$ z6EtNOu76e;#%(0-@Mui{FWd1a@dZWUM)f3FYO2~Gzs+ok0p@hWdQRMBwT%4Qr{J4_ zR&QiR)NA%ZgbPJ;MBa30pdIX$=ctk;?2FRm6Ymoq`dJU^&M&X>Sb;~W3)`6FU) zMx_5ZE{?Fc_OcGQt_wyHVgkjVa4l0`{+r&_>}U1 zR(a{_A*`w4R5zFId{S)lP^I#-?d6|S0dQ7!l~caW^KXpO2F6-^#u?c?fx~*jxe>D2 zRWaWE0&ldBH(fM_$J2k8B~V~rHJH4{Vr+bi_#Ju!k_{tI68$%toyAsI-UR-Vvvxd1 zdd<0piGD-RJ>WI+8d?q0w``cNeI|@`%g9vq&|a-GxoS`nfzHPAzo4+ebQB**wa^~b z?0(#L@b2@+LWx{9OSf9zh9g4rF0Ee?2{Lut$AK#iB@u+Ib2R&HL-=BJpB|P|g$#yd z*WEQ&_FCMq%_7p8O8t85?!Or&Ssxco53O8j6phRiTrQbES6O(CYE*0%c8zBnA7{?N z`h8|jf|9fSAQF#FzGqIis24}o1(R-QvMAg9KK=3TVmB$*`1>pUn2bz0YAY8c{=}FB zFQeRudbk+}bc!BP*w|$JGrF~Z*-(D3fO>)c*faT>@|AY+nhbXD)5n~5hrd2Bh=}ZZ zRuvrYzg+S@r^4FX$+dR65~euTj68^EC4V<@@CJQvae@2X=NT4}SIlGd6SS`M&n~0U z--yrijroXgiAYZBXkKFYD%tpn>H$6ET)xw~$EoyTJfnN*`94?FEkHrE5J^8f!TIE} z-qlW;MeB}AxCY*FeKYJiZh=70t=JfyKVwMji`DpcXH>KM{!vAZ=(e$efPU-o>E!$l zqs1bEceBV=NFM7JT@^U^-KweD`B3_?0YlkfmjK)p?X;YSx}O+ zPGu!@e{Y@~d;gnsYdc2YS7%Ik=h+IB-g?7PPZ3Ddj)sf7MJiS5-1@C!h`+@8A@gm= z>@LICyN%h7Aa6KU;wDyly`?H}Gski;Q2lntf8B*XLaJT;<$Yb7lF5%z7yQk~8y)@P zN!thA^>3#tgE}^j7tj#1z-GwBKYni-tU+x80bPhtP9U~fEwIz2575la?-K%S(D_Vk z02Irr{qN_+T;U3^8gTSz>F-0A4}Gl9m>_^`%5-;u@7h;$^gYYSaI}c<{?!IHBLnBX z&eYq+@KPVmAXL#4#HGJFuW0?fJpoh&|J$) zppx*kUz>;rT|CL1y}#)E2%>*2%u9nV^xY{xEiMVa@2Jv~@ke)U3To+Id9E8A>g~q} zE0LY|^EC03Ovbt!kTKM3JDI$OU^-F$doI<&fI;!Z;(~36oUh!?=ofm^j&umitojh3q<0yeLdae+@kjR5pz7bi%Z4&w$EmSoxZ1$05B zRp2^o=&C3;e9;y!}BWyJy#&vgrIsc2GC{gr6&IA!wmpejm^|MO6UOL@8uGm`?hIWRk8TI z4Cn9f)e|m6ViIl3Te#ra z4N@NFqCoOBCV3*Q^BKFH>&{^9Bc(NTa{n1r9pi*Kz-KrI@x z7jd}sLdURmZbRSwX8p;fibomDB*Rtii305*^-vC6qU zyald$D!(2+2*gaW1Cr*l9~GQ1@oK&6!v2$C&juEE05s2$`a?=F0FBXxjlnsTb?AV! zPnlV@ub2rUa-@0AIMgB7n$bE%{iP1pP;&ApqmFqZdjmq4nN=3NWco{O)f)wjkoR+3 z-slwfrh9RIzgI3JM8mFOV{Ex$4>HC=n^=6wArwu;t?cBWRi^vJK?yurvIKp`EBkv{1mUAr)#d#W-{N5d`NsWx<#cEC#1GQMtt7k(1SB^$z+ zh3A~Y5BT`tmS$Wzy(b251K_yrANW?`u3vyI(md z`1esI$*@&Zdm_$mOP0}53?|UYY=ve{HHo*Vqj%m@`4!_xV?NEQs>)^ruSg zPKa?cY$eWJt-1O5!S_btxrgWD--t{_S#p+Vm+izOZtKIlF9ijUoCnmJ(loFOBu>VL z$%uu%nht!c>fA)>ae8p|#hdVpw#&E+&3$Qpnn^lD?axJQeV_Tn*_!{8kpYo5{`HMo zMSk*2g^179cGfM?woeRtnndz3&kgCacVoWom~390!vw?5b3E;{uRoogDy?9UQ436# z^K3|=p^o1?RvdWvTU#d@5K_C!>@plFVre*!fHaIw#rTbmx8@gewjLyrPqJI({DKUl zm>$}>kq~!J|6X0SsOmI**6a>yW-$GGcS|G-Ckmcj#RsQpM8PuAw0gjV5u4Efp;>JJ zKrMp{;A96Qi2y=BV*s#%gR51)U2vdU4rs*v#z*KG_b?>%|))eCvhl-sx=h zReEE8yMsGrfpFO6viSYF(|t;O0NOa+L53$_;_`xb5D~x0Dv0awV|w{w*sbV}Yz{+s31qC|{od79u0tcnCY@0``NBMLzdX0zjXK z?7c(21OO%igv3A$4iuB*v2aK4L<@Kl0PMs}-8|UEJXD<;fGF|v#|ZfBCuU0g;^+GN zk?>m(ZviCLd9|0X78TL8=g#U%$}&M}pemJc2@sfM0!b-fVpH+S4u-jvudK8!`(R`w zMZX^XZRdKMFhrd=U`Lz{GNp*H;E|BX-|v~P{2}aJKg}I=MVm{CDi>d_`I#{A`iG<5`{r{y($HwpI_{f^ z-W-RzykKKeBIaF7S2*ZxwYo+z{A~8J|A^9L)3grh=lyihT1Ka+KI6;u-Fh%cDF(> z|2PLTHD-`Q6AAuTfeASL|LzTVS^{Qn51hzB#1ts6jRAIUE6wcxBs}y6T)l$s+t;AJ*)aZhWB^I5 zavDnC8kTl5ATUfP*ZEEXLg+I9l-yN#@|1yy;dxQZT!u0&^sNd8*$}faPWwf|Px;om zD2*rinG7ckL=?F8as^>(GxAf%r_wnZvMl3$PfC({>MpJPq;BC4WdUFp8-pn;N8WK>?5;`ulkFus+*&(u= ztNfi_d3qdpX6mQ^Egkt*IW?%VlgdJ~(N=zHh`cN>OT=7hH-|-kr9<<5*UrZL6nat2 zkkV;8=bEG~RI(WHHt2<{g{XH?!P_}rJ4upXaUnduGyZECO3`UDwJPB% zu!ce|t6hZ!8YSy={>k^cPMQrlCM7q*4a`OTywNWHPjAALD#Q+0DHQk(qM)t01t() zyfgqi_pvjeMqk6hlfm*Fw7M*T=UV3xUvbUdF66);=fr7P@(B#B+H|Fz1S+7*oV|+I zRRUz6&5a#{MqZ8XBnMS0{?~D%l9Pe9(XUMy08Ffc3}oP+pdncvEZkjSD+RFEisL;0 zQiAi`G^|gBEX*fLoCO$rtGE=1$S1E!UB;f-w~5VJmZlE>OO98F*Vk71@}5R_fA<|@ zpQURyKcF5;+JOUv&a$e`&5hbfA+M=Xh59MBR*_9} z{mA$ma0%CYJC40D`;n*B?I~2WHOM~lb>%(|5pLG9wV#(EE1GT2P~1#W+n7T9Kz}^W zY3$CWt7hYD{*^@rfx77(Pp7|j?|5zN@51r7tWRyx%YwrYaSe>MF~+3oyUZEf$wG;s z2|+frxkvrp4D$0d*Yp`q`$>(7p_|6J`l7v{eEStHAN14>b8ziXdPyIDfFwILy?O^hmB- zp0VyTX8LKiZCF_LYE_(1Uf$^X>ck}$aBVItaL0R$W9G?tzYfuZ8WI9&!JK?xoZn&a z07lF61i&?t7@&!IN>2b@`7r?+Q6Eh}mKKEp$n73^JttygRt7B|Okq6i6MZ>}Ed}iu zC)G@k)%v#N-FXxsRRm1Em!JK1bPu8(fr(^x(BPTgl%@vHrsZ&DF#t(mRa`hClo-+f z9Pp97V~se&0zxsBw<}egl1W&e7qcysXhjGXi?w^Efy5|jnM^Cy&;1<4wNt1G)7ZtU zHTZSaE~cMDnn+~ufKw|o@xYU)oZt<^OBB`U}2rI{;nL4LRH#CfQKG@3exaBwv}%akHU zB4$X+@_BKyOUa~n%ySJ|iLUvlglciDTY+Ag1bjZhS-*V+Hi_OU=fyTk(dbB<5!9e4 z?U*y;{8-!#7#34^7N7k_$&t@51{v<27CxNWg0s_2REJ(T<>T#a<{cM`i$A@6abl91 z^3VS4(bz8}vhSd@=C51xf@@o}8W$q~5+w{8O)gk{{sR5f*8{KZp-jKz_%dfpN>J=< zWtnDWod;IrP{sw1YmaSB;Nu=ztpy{_5Lh+3lMN#VTy{ZRHLP)H8wWTGhQMS4%pZe{ zdhR#?&fJ?v5228?$H3I`J7(4woUEXy0qu-Cdjgev{{UF0P4em4)d^38p(lBRZAOf=8gLYa&&M1X&idkAL^ts z6nLrnWG^rY{h2OhfCn1d`QXaZP&l63Ik>++f(<#pxD4>!JYWgb+I1Z?HWe>F`0ucn{>gSjdQSNmN#HCA>SeD4 z^xow=%L1}aC43NIGwb9>>E3+g_lvRTKJ0z`nD~6q5bsBM>^`MwSaeC*$U4@EByl$= z2i2qG-S@5Jx?M^G7j)k7W??uaRpmpHQi@+E{kpJNwq<9+Ek&}Wpm)??j&1%{>+%|z z3^h_zI`1Rq4Wnl_S+xn)4cz5#t*AE}4l4U^ z>)FrexI0*u6WG2JNok}NRnL1wvG2Q{VDU!?|cg$yw$?r+|)6;<#u5= z_s2lC(WtpM@Q>7K=TPzZ;`RZ(MAWR@)eSL`(!bzbxT%1;YjP2M)m{Hq`V(0K))Rcio2NsMZUXHTAMqdYd2*7P?=rjwwkLp$!LkNEhs|VsmI1U|P=O9GX`unbheDE2$Pa=%l$S10 zy>)s$fR#FhR;>TBe9&h+AkxbPh98Xu*|Mv^Hb$?tHp(|pb%9zo9o+0PCfhVmhHSfL~%>^&GlMeN}w&==l9;7rMb8QLC1rF!loj9(o4;!PVz;Z{zchm={)KT`@;CcH>ER}(Y5 zbG*(wD#}v5W#e~sG z@0dh(W5#`@2ao|k5HKNVqfZP}yMnhdCYgR(Am#>f3Ye|>fzo?jVD$5igL=8fpsocu zjx2`kp846cBb&Y&RhK0hC%ZoLZnPG9Hn9nbRcFi7#7IHc>eP1a2L(A(#xKu@r^Eo7 zBy839;8_p#K`Vk(=cn_Zgz}x%%USfAMjIGy;%CE0kp_n1B z$Z8QUQ@);<`$n`v6_sUyIXW$@7B4M`te$lDUsuAVH%*<*Z}l`^lN&Cq4KT>zLGhnQ zXxcJWtSnazWjP4wYn-k~oYAylU#;V4_`bMAnH%b@cMgDTg95i%bA-og%(#&}c$Ewh z!_U>vkA%Idl?b&L$b1F{j-6FUi9RDr+p&}Jy^fN0*O*a4*BqHmf18q>;_-xh$i@-I zQwSaMJbQZDX1$LtxJJ-Ssi&JauP>~Y&X^XMXmTYYcrYqq)P6>^6 zM%`)-Y{L8JVnReDUe(;~P^^Y3!MDt581xO%*^$J9pq zov{XMuoMHAY#>0D>CxNtH=(~GN;E3El#eM}EadzPElr73TVizp<+QB{>D&wj?2n98 z^8m5u$<4`Qz%IbKpVBN~8FE5L48sI&eCKVi93cAdFe`@{07BFU0$bn_3>J(BOi(aY zFN$Tp0I@8fnOleE3PiPgG_xcs9)I9gP@yp7sMI`6mew@UQGQ~N3bpFe6>J#0&xuFP H{_g%Cy_KY^ literal 0 HcmV?d00001 diff --git a/testdata/qmc0_static_raw.bin b/testdata/qmc0_static_raw.bin new file mode 100644 index 0000000000000000000000000000000000000000..80f65f9bd42534c80b73435ae411e8c60dc60158 GIT binary patch literal 65536 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

)6m&0&)_#zauQ-iKLwHG`n_w6Esy6Uf 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

P|P9WSZ4}qzoZOjtk#g~F1)jI zqdt?R7K8?SWIWO8&kk8u*I~Mvs14`IgVazL+`ZR>{tzpC#<_yGdETG^GO9|U@movE z@1Rl?tHR3mRuFBeKi5-!*)gx9TcU}SHvIkj_nhqU5VK3Z5P}r`89 zf0?<69UnF6k86>A><&|mjH5&rlXJv&pz1zl9Df~$-yV!yiGrFy+K*9`U2wv!fiJgu zk0A=zsidKdgRo@YOe3HB?PaEEiErrlGWE%|+Xy>BVNo3vAC0WcX#(tXdsxh5`b>k} z7Y`ik#2A8$#iC4P`ESK4sKIIdf?nJibiOWB0d%QN=*A#C;{EM{2V|Lr0wDD$bmFQ2KvQWl1(xYC z(wgCxf`aq{CT1tf+TW7`pR;imYZK zk+%298W4 zBGn#FIR7N;WA2d{sf0=MB)9M#glCm!r&60GMnsRKG(g%trS9tWAuj@pE#g-r_615x zU*M;52~>QGdn^#%Dz8-z(+p2oo2{bPR4gZZP+sFkq)Ym0xa;DQ2w*~GQ*nt<6keUL zx|8j>NX9okcza|Hje}4PpxXO)TUQ9qn>pnb%E84^lgYDr51C`L?D+|R?V zkr)zhTQ2wbX3bsQK+7ssrV?uiX=Lar_zzY0>>Bx)I^DOYPrO*#eqbz%gzHW!Ouu~XOF270?g&D2dq^V=9 zq%R~{)8`)$si}ED*;5-JReFy+7Es{alcIMR9klQ^XG+bFt-CsMx%|Yy_j2);8f8EY zYbc76uyk1lH1zzxJP0)9d#o@FS}}bl)TiK@{@5!x^z`ajm28_TpKj^kE>#&oYv z{jK5Yt42y>z1>|dv`CW`hjAWJp==&;P`!Um$@Vs${-ODg^J^h2#pF_Y#5Ky1nZZ|h zP-o#$@dSWW1^d!)f5R6wbAVOhwN43d~)_wh+3xN*iOs(0E? zHLcdk>yaXcjubo~aV}JAiczS2{Y**KB^P^Ik_)SIMS#N!&7z==gOt|Jn#^-&tFR~Y z3uz<=08&Z(wl?og@89yXq z+0=4W6smDaTKEtIr^bRo1L_$=R(kf**Wq8ln>odI*aMcmQ!}EFv-kz~S7MpYD-7+< zXKYoRe$gDSVM5oZ0Njn&GqG+*1&K9Udn)Ed`@fhlO~W?9dh3c&DgB>4Dkz6QOv;gu z?TY6jYy6dO`9x%!spr21NY8>ZpL#@=W2cpkkG_d;%Ii1={dUp~gfzve+ADq{yMzRo8r&Ftfg4;Q|cIlfqpP>pz{7Q!;V0p=eTQt_LnWuVec>4^qeu0p?Q ziG5x8SqCDpx;+WAI>|6oqD-`0@gbZR8o>&9*+A)PqY{qAn~^midY-wnu)iFX$)RMQ zipXz6{{9iH*WL33w~jBi^19u*978KF#?hW~WocFbn6GX$=xDaX{z1EK;}N|ALGWxc z^tNX;c8Ym$XyHy)>GJ9$A+xFlMHryWqWJNX!8^j}r^7{AA=Y?{_lzHP;V@{;f_lYWVCOAK?}hqhEQPv?K9*&seD z;KT{ws_vT=$VyYsn0m)w8d0%2h8=tGyQ!gB(j3TB!`wt$h{MHh`_8k2`Ix<;jT$n_ zZg`s*<^~kKBKGi4#^5-0d1{r};EQS$pm@S>LZ4724*S)YI37T+=t{#0Q))-cbl}xa z#NNx2b8~HDS~I>(?)vry*C+HM7pOE=_^zO)`}XJq`!%7oDZs-&&{Ve42JGdvE0U2v z@?vVf6vnQbW`Zn#W3l}pl$=o2XG+s#nz;sAz7c!$L1T)nhP0*?~$u%&y01j?PI zURJH757vwQTeeK~it?jjz#*F3%3~It`E0QC+&SX&-ql&BqXqR|l%yHg)^QD~kSy}= zt|C=CfT_L`K;A81pX0p-&KgU$>nCSrkX9*UIKTHMC?q=b>Dn-(LOu4e#?eAlflyZ- z?RgTp(N!}vkk0XaVKz-1QCU0iC`^FAS2AEe`pO;^=S0(#^Bw0YMxAXO-=pkTUa_-R={c0l)rj)g$XO(D1w3&%7Xp;|7_IpFOs0?$8A;fh&7uP&)V< z8@!Mc$VydW(}%Pg0s`g5gCWCp0K_7m%j@-EVFJnc_8bJI{^aYMoHLh5xRnQ~+lSS`J&Gz?Q}U*Rsxvy6JQ6 z)}Q}97R)d*zir^F-Q3pE%y8~-e|aG8{SA#Mm+X%{#( zE#)b{>4y4=1TDc?VW~mVZU_WdeTEYOZYGtx*0na?qwf$q>?rdwT>JN||B96iW6q~d zrF+ME*wO8elbBUQc598JIU-;5PDPlm6VU|#UK2eRtI86gYsm-m3@LW&hig~)BlHrH zQdFKWRslJ@5FxO6^D(4+RHSU_P4FK}BDhBC(Y!S$c$?j+?`s9@1+lS)W z4SY>&(S$dc@^|^T|LVCmN=^@Un!13PX8&SoT=f`J4@mCle`kME1iOn8gt;xzA|kG2=b~6ER@d^RdG>o= zm__Tqy<>oPum$RVOK)rew_#HtoDt&SQCFf!j==sDm^Itfn5%EhLT<{ZPbu6DH4EEk zB2^K?Gcd$~RpF03ijAiX?+4M!0BFG*-t5?IaTuo8AT^kNQr9`x*!w-IFu+!_lDIP7lzF zl&TIf5O)cMpZpv*qXxYE{3y;Gw$6cb0Rfeq@o*Miyx-S%iacL((eAOCw5Uh8&pi4Q zm=RrwifMdVC@2|}jyW~sFrbhjSbaYmX>7RMqVbbzkC#I_g4tReaSdasV_7Vw7!Z#@ z$g&RpSzg?oG<kn-L}xjvWM z9nU?KD{kOkV6@YN-wxi_HH@?!2ZV?F-MmNu4r0r2H+}2jC_9o=R|DUwB-u&X0}u$7 zVJF~Nkhd>T{^rI<&|V7xO^27;h==rkeN;k%PPPD<7kAPUio2DVC+YE4p_%^wc1HKf z&~LUW8oYUJdo9y^>tl@}(b5x*@%kFqUp~c7%w*LCSC%LSXJ3*b=p#4lY)9a9& zZNg|O%vtEI>0b1^IHbImw?$m&)w!GOl1W2nK0rpG$g!XqLLs-e5J$a}PmL0q}PFg4ugM`8JlEvul|I7HsU`uIgzHcbqd51JP zOA2Rd<>!k!AT*(6@!Z?h_-HLHMg08T1WvsQd)=>Gs!zl?0!=rGJB%~_Yqa2b+q@Z1 zzJy_sa9Be{Z#_hTfc6N4%5PIHEAoI@ZM6^3*;6)9Xr<5IL!08Wn!xV{0V!>W3J_8*(t29f6fml1N0nr!ncmfaa~P>!P;P}d6tg^$QHYx zOze38^A0{3q(fW&4C#L|!H`J|Mq7%zYnm)ILMm&XlgF<0?GQ%kBAQOhmg(UBF2{=F z1-5XtRbKU61O{=A@6VbypzMgX%!Je15M{MEsFEw3pt%N;I>}Tov7{N0D-*|nN{m>y z8&frOWB2=?gnc2ghbu2=OGw2SjBxI(k$(GD zw#z^U<1>fq(JFg7oxt?aontYCE_t<6wzw;AdJ?PlcpF`_FB8qIsvBz{Psuz|+V|yJ z_CO%9e{@*7zVT8*9MC+wIV?297jJ#dLb%7fR1g`(QT#Iup2TiIED zzM!5aC13ilewt_q0P9vIinXzqH+ikzD3?i*0q_hVf6+a(v#g09D~-_gZ!>6!PvFE4 ztmz8@W9&v*6`lAiEO_HE*3>q#)0j>h)8O_m|C-jF*(lA!3-;-2d5%x}vN*4W*nd^> zo|XlI@SIn^_Es_2)OI80jyn^S1_zdDzIQvW4u*q=Fz2|6{nW~#2i*;iM*C5=kCK6fwAN)6lp(Lw-s z0Mo|%7FeTRT)@xytjS7i0etBv=ZbqLn}hkR#NLGcB@5i;Q7-_DI;1oCO&kNr9i1Sh z+9o-t2_IMXUyqMnGXkbEDI5iT_%1qU2L}qyH5?7{|GGS zzljn+ugy}Y5o*p)#Z5cX5HBQ$qZ>y0uL|zuvb*q5+KULeHDT_$P+%(QhwC=n+e8fB z$Q=DqLXnQLoRsYW{uY4z9h+IPTzCngxtj`@vIK8cpCnc)own;aig)$%aZ1@19sewAnU_%aIFed zRot1Iy|0!3+0SRuQZE|2siudBP@uje$97%b!S9m*kF)&iUJ_EiHPa74CnI3f%MaCf3bIjUT;%FGV*>uYNxeKEu zUCF4der-Ob0quLc*#V2V+_(X99Y7ma1+WbJ{#t7%(^6vx5SEZrqNcVWn}PdrfW-Vz zIZ)N7Z&cnFgga}RTQyY|H@U*(Ab5=D_;<_z9%~PrD zIT8;`6}x$hsIgOMePJE%dfbVfYuzcN;!ZkleO6Ba+5w{Vs4D(EDB^KvC~T=L5=iLV z>3wuaJo`qrytk7yoY1%6u?5^r<;o15pv!=a*;L@*7Sqv<;!g0>i~+yi{>DOLk7LRJ z+nq}2PMd@|%=?56C`4FW<|KzJ5Ht=^ksO*l{Lg-vmnOv}x zN{If>H9F(@3<-}APNfJr|iylPRt> zO&z#N@(Ar@^CMv(L9G6ZFz>F&CIE4@)Z#7L@cx1)5z6dWNky_1E7PwFWkJeFh7iB~ z`bHlWCEBcV>NXfm9*+S#+w%DUm_)kE<=lNg`5kX}y%klB_c6Jar-U@gR4FfJrZ^~% z>yEjAMacf%n=iHOP&?w;*s47m%@(5hpkCJ zlbW!RNwSgvS^(kPajNS*M*?21Kv;l&3bI(-B@08W_2<LuOYfrdtDt?yy}YegF;Zm@`1A!($wzSBP~Z?rj`&8XN6_F-K{l zwPGM$p9iLA&;e#HflTWh`ZWk0FwyyjDr(w8Qf40<1C)oecyXc(I^SWrsX*Rno|Ctq z_%jni6A=wEn3FILCkT?TO599j{nGDCZeY1!9`<3!P;k5X4=00y_zUW0+ccTg@I=8* zQ{I-pUV>`n(9U>R~upi%uLuGFjHyt2Y*6-dy`2)+v-? zLAH#U@hVf=?$2)w{5#$-C70`cFaLpWS)F4~7Zzzjmm}@5iipIG(hqq_OaaCAZ;yFa zm$(hW-;R5sy%06$MeRYYJ-Ryt`OXc_y@#fyMF0aqepx$Xk}0nr!A7`<7_pj(7ic`6 zt9ckM;7v(g(o;)ql1Y17fd#c{&lBZ_YfH7mktW9qKgVcc+bX3;`$MU~lq(|eyt=$j z&{DnK#cZvZMwR)tPfXd3?$~dPKAoletO0OGFzC%4;`@Y0B$grt=s$qT9~O#jHT*$Y zL-%|Oyx88zC(_sg+O1#Wr8SoZLWp@Og!ZFmyJZ`bK`EYX8uO-{mvDkG^&iP@8gpPe zqx};%IC55Y_Bmlf9nBzW^wo+159=eN-XX`E$Ur5jqv^NFs$}vhT`zO|Kuk%kaiE3m zl{}|rBEerye;){IWlB_!Ff4{@JZNNSaH8g1N?mOG03UP?b=tJkoUjv8q`H}cQ`rY% z1E><$#3TA)9Gp93Qoyz|sm)T35#iMp3?O44GB*40lK2zTS5?|y3C@0O7Vkn+ zfN13a2^jjJV1HnG&`ge1Uk2a5x|c|exuXjV22QeMEAb^Qq6V`cuB$9O1j3t`Qxqe* zYWCim>SQ79GCP=w_|tQ6w07t;6E1tK|OF#$<@6Q4}R~$9UI|{ zTs6De$<9dIv6Cg~%_{aGuFq_X{~FDoe{U)FmX-j=me?}U;4W0jN)6FTEc??`Xb z-2)hjx)KKm!R)rF$tG3C@@DZkp)mvDS3a?9qCS5^JcoTw*7raBq>^pg`^<2Am9Cjx zS@24|=X;gBHUnEhYROLcigM@tQGsiSakoh!y>`dw)0&m9it&Tlr#{tLmV`mn$gT7X z6+|<5>Sy4KY8{#{fGnFZow9`_13|cX{r7G$(E4*jbsV7qS?$UBTI-H1v11F}+R8Gi{Od#wUjBe+VntxUH=Rl;mnBg(wmWfw7AH5GsocCp(V6*^NT$}Fe$vfrbMxyxl0tLe-tT26dYCSTppbi2g5EC3s(f~R@<_dSH?DIt z4%sJKxo#@SHZd04r2|9c+W2GX3>c|4yZr0{8U+!@FDA-P?iZeW{Q`UmaIu$sgmH`D z#<~*RN?-zvtaT52kT-Zr9j1bPcM={EZ;&ReNWjKLa{>bZ5Y+!$ShgF_uD>TSyRV?f10&cN=w6qLjJ-r-Pj$RqprUzUK*T9j^zL0X z@KUGeLkwl)Sd#zZ1hW6N@$t5S7-!{pkoj)0c1L;m6w7+7r`UH&yetsBrxNdH)0ox?QT4{=S*EO=os;+Ejs5eFd}k=Zn% zu*01xxA?dNstx2VS|{~z6`5zBjaxxlBnJw+Jd;F8!H&7?J@2z&LAlxIym=?@cj+7& zr@)T=kSs}x7}a2Ih1ns*N6}bOA9K@I=-wav5P9rIPY^WyQ93`}$hOr;^Zl6)0zS(D zw>Dh73^50$+>sV*f$NsRrj9?5&0z=oXC)ruD=n?ksRT^VdY3(_Mi+JHV}fwK5yn0H znqD4kMR>syok_r3hBGpA!ypqHdHk;X}SQ;4z^f7Vh0v{;#k!;y@g(}|uqk-tPNn8cY8t(5U>e2IctNobeZ^A$_u>6) z3fAs`gq{`+k?(*w6pze!)i@eYHQ1xd{!{zbI((26j77;)V#`fdVi;{(OO3fN(~YGe zWM)+pRF>7%*`~NrBmKnUv&|fOhV!sH@J_m#MnNr>NbH`J2x6meW@(GV!fK)DZ~Mi3 zrBZ~Fa>0;Vwe@zjXi#l*x{~BUV!rG*Mz;SAcCZG*L3U}s2alJmLRUr2*nEbm*}VBA z)Ms|TPxRMOQWX2V|9v_;W7fs$Lw!}siwGn%m{}2kq*uVkL5r1(ynKcz4>Cd*!3LcT zDr{K>nN}2Uh4VE!etn?xA25lEVjYFDjYiQJWC6Ux>z<1Aa53DjUUv@Z73bg5v= zqGOaqvz9y38oVYsDCH-+Nm;8{g;n}v!k)Ny8=i&>e~=Jv0YDm;P+4A30lpzcUiHuq~<+mmbh-yR!(aW@O3)hfEi zs*q_Bd7qXt1}4J#cscAB>77;Qw5_j&Y71c6X)Rfh)Aoi`B~DdTc{z zF~t#&&^oQzL|v!&T>#w8zeg zq9(1x;BZ&k&gJP)|5Y^auWloNP+?wJp!r09w!LARt|)wz!!SXt##O|YlsNvM+d>aV zzctn-hyX4wn_Sk2acNWQXcMRs%W}QDNkSlTlay-6YDUvEFwp8k$iNi+qUyZ~fKHLH zB%T=3_ZMr>+<#r!O9z&U0>tff%cjT0GLf?V=pa|tUDKNGi=;8qiyjA=#*)5>gH&ZC ziZ!m&K{pXNFAo$!*uYA-xzoS#6bOh<<$n(7YBe>i{Io46D~OB?ttR@I`p=8f!hvei z8j&}AToYECe&cL^2_zL<77iH{)cld+yO|Cw%f>&<(~JTR8FqIdkl|C|pke060RYf# z5J+-Zt}Mwd-AK#ZfQUloL3vS2qt7MK=f1xn#&`{DuP#S#GlX~yOaQ8^4tBbDoq1X* zNLGEjXowXHWcD)}1nA!>$;0To?$&qscIoHa=GGz1C(nj-1?WVF{Nzai zMLC3;t`WSm@WOhA8BEOObsD`bgUOW2d5ciSJo~~5q>9o06Ff68^~1Kb?U3F<+2Vz-JgD} zk7Y!hvlW|Cp9uX1&R#yMmKHu)hXne5keu0*TD+N!$1j{u-Gta{mluL2{?&AK_&nvL)s2j;Alx+A4jQLoXw4 z>(hZ1ua0y#P0kJ-UB?M#u0+u%Rh12Lxbk2>w)#<3*AH2oTR~&=tdBrUz78YkpCgs}K{O9dr66cb*EUBbuq^9wr5q8n zv{K>{7zP_)jUkoE#Np?oyEjd90@vc;;F#zKh?Z9G^%3SnH_)2-rCk-vXd(7)0 zz<%~9isMjr(4*|<;?kES4vSnEq+c2%{#1t)wWS3xHL^1-va2RiM4p`U2ja-P^_xh9 zz~H2`mfNN6y}U5^cRY9>2MF;5;T0&;FAj+9Z57az5U6L{0T=-#p_&zERU$%HS8yYfDNpR#F~(n-K{K^ zLR3mcJxS%KNuz$^{9LBrySmxeqd)c!&p6Z8CcMeXTy{N^A-Bdll@kJ_kz*@MT(mu* zS}76WAV&q4B@t-B1!yx}zi*c6sP}1GmIwl>jHJ9XAvRvpoJh;C$zmmp4l8tOh*uEN z`6gbcDL2O=wyuy=1yoB+!}tb?8F2GQlC{oL-yzx$2(0z>7?|QKa-D(a_ZOHRk#$9G z{5xjjFl~G-uRwI>Bx`%p-~mL=Gf$&r8R;27vZ-L2+o?u+|yLF%!B_x7LkJKu+(<}p!(%d@Yw!zjkJv}%mx8Qx78~oD3e|5 zkRhT6GtR6l+;|cpW%eBfwG$;?3x}Fl8RaIz+|m`ypzGdGf!g#YVFl#>)G=c+DaD0G z%Js;~5`9OBa9>Lq^@>1>hFW|W#S9Qfi%#%$bq#0uGdnHUrzZVh@SNap{?w8ED&jnX zYx;4bf)`q`=25n=`9hDs(Zi4Io-EU^JZbb81t;}H|F#7Z($GuItR2!#K{^$) zn;H}|gnR~2lS7woz*uZXw`q zmdyTS$<0_YCKtcLN&+|Xd{vcE9kaVJDjX+g3!iDL0%%Yd3p|x?7evhvc^E^cfx6G@ z*T`EAASqtA7tFIbOzIk(e}7pUa1#=;3o;b?9?q-!ra{8=az?E1F;1`awLW}wMcpph z+Y4R|J?wU*b6s#wSB|ZGk^OM-SCW=h2$G-BS8C#{>skZC!K|jw_-o`j zLa!k!R8dvbU<@58c6n;peOLc-5U0HK3uiz7z_%>U=fhD7DOEY@a`RTY_hN(yIzxm? zjs*uavoTqyp5zIAR0LUz2MUR0Z6wlLq|w5t=(_5FWOreoJBi0k(a_XCkgLFblyn#$ zuM-(gQBUvk6C`czXIcAg4@RYP&w0#7qgr|u<866QlOqVp+s%|?j7%(AsGwf%@E>D8 z#$5xwRD^R8=%BBPuT5qi!=tTr6m1Va4qFa>zOrYNyiv3bMUhe$`XHoZmdlL zISMxsm7Vzt8}MKl&KfRnsfWEJIYy;9 zJNxNWreCYlDW4-w*}f>K`8)W0RHn{*cR!AjdQ{R69{p0K6_Cb>f2Y3ABQrf2s}IK7 zOa*FJv;Wbzu%8J)8p+Z*D*fE2kNB`spX&=+^vOkG2?0Uh?*{CHi>EKTKx$tLdmaob zQkb_{214f|YESP50?K*0rg6Z^)l}g4>mk>p2|WP|Nose2b|Dhp@SI+K+d}-XYaD&I zuznaMMyuRx@Uf)0&~w1YF=wnrgUOW-8}$t1NuAKE8M4%+UA5Vq>i0XeC5{(#DVuG4 z^y<9MbbrO9t}o7s3!x#-|BsW^lWNT?6Txw3&(l0U;NNZD<)U1L-n1t^(s zkpn`Yw_z!FpwEVgunOw?u<`S)^{F&M2VX;Q5I*4^rX%^ybOg+qyvBadnlMPfr z?Cu2STsj75*j~Qxrf8_u_u59X1Gp5HF+Kwy)wbPJPe`G@Y?aPU8R)`7LJq9M?S ztA%r$zVKk?KY?y!$$N)cspkLw-b>zw@Iywyh^-3S2BA5oStM{5^kta-Z&*9S<9-?v z$<6W4My0Z{qJ|eMqj?hF(v)^-++1%L*luJ0kGeA$|MCZh^GbFe;Z-ILU6h^hEpIw5 zK8U+KFga7h)0iy4guF-)ZF>Zm@6q~kx02B4?1w(&P!o(HW_UY8EAW)%0mztz7vmI* zF&+1R9^!{hZ^^P60Z~MxV1@aQXtrAq?B{K?Il(HM5K+mtt+>Ufep>j2`Fd^5Ez2E* zGJcvvP%~P|ISQ@jdGIpWf5GOiBNkP76BfXqi(S&T?(7zk8;g6+j97KmtseVgY2nlT z1zg{mNp_zcnZQWnbMHoeVJ5|&V2`LWZda0t$@7$D-`2(`feB#&-D4eFLY%T;D2DIg z3bEwY(6r8^!2gd?!9S$=H)4?}-bSgY1^0?(;I$@*wW2bG+mCrC@)2=V1#AhPHQpYY zL5)$gbDLaxnsdI!;;YWrdElby;vr-5ni)Rq$%7K%Tmg}a#7#8=mwBnlrE`;{)nZ_+ zz5E3?aW!1`|FMEc_2wLX>v$Y1&`@*>Bn3qPDXI1@PPnoQ@m`_7&Vms~Viius?64(e( za(%HUC>l}Z{e_>vOSGuho-oVPt{W&!dvR6i;*KUn+uz)=O>< z;7+?#6XmA*kCxk3@$Ev4Rq)6 zh-lRWOv85f12g|NNF>V(iz{vWxOz#DC9Ug5B2m4p-ekTQ;}04OKq^y~c_VAUemay2 zf(^U7jtLVtv3Nkri#O_#w_$b9m_T|117mZZ8Of52?sLpiDUgwn&Gp4g+LsAc>dwC% zXE&Tkig>-FZQk$+rDA$vVpW>_)xl$6w&1DsCE%f%aSh3yO)iL~#c!oJX{?c57r-G+ zN5L-GOw4!y*lKD=%~qs((AIoDu^^RbL0$I}rDM>?`-lF>aMaCgh_YGK+vm=zrTupo z!Nd*vNk@^O!&Vqjixe_!Sn)kQqq3wP^Hp3w2$pM5XvBF8k@jC~(icRhi8sRa#GIQK zcmHI=T2G4QtG_Wbmqzkd2Y=XyY$H>Zu|eCPV1kjoD#8tCM?ml0X)p2a=}m8OENCU$ z>Xpv#6Tbb6i8Jb}Nv^y0aqjw43S_`)=#$#Sb#!8xSz5Wb$v(ZTNLjjm@f()MM!crZN{swcjHq)V zxoh$^cu94l*di5w3xYl6qK1Dx#mDdsy}vwhNy7(?EVYl**SrjvQj$XLjB{jxQULdo zOZf-$ML0IlsX2Z-4_zsw(VYa>go05Qok>45;=ITf$&hE6a!g}&fiyv#l>n3r@nF_@;>B~wNk6U@ zg{sRy3X5gTWKg*V&YrT`A7S*&0=vO_vzEx`=M=-D&!oV4L8wKTMlz?j*l* zkM2i~?*2M`39rx$QL%$De4D40(X6#lo*rIme&VHfDgj2gf-nZL(p9K7wG-cWb&I(& zphO>TDdDqBm8_ zmvKM17$hoF$P(h@oZyG!$gcf8+ z^bS)*JHwo1!_CCnd;UgcrA*hTldZTFOU1*a93VSX7Io8U*mjt8Iann?gzckAYJ38C z3odq767+B7+FPTI2??lDq5ffnMV=Ckq}NzuJmzN@e?aQ5F(9jfN%%kh>zn6p*4SUV8!o$YS+Zqf_&K=)fRP zy;_1ks-znH|zg@%{kfAgi@=_y&_1X{)xo~Ifz_By4N*) zpyp;A!enA3)U|a;S((`{9Rdr@S5BsN8@T=H6^GmKSsE0v*T|8(O=a4${{(TS1Kf3* zW8%8<(#jPR61{X4@Xj{B$htCzUBtR2;S+j4lG86)(nn6w+69R%n`^Y!P>i5;HKCC_%7}DurfkQ8w`6V_+uMu1_x?Mjb#J;6a-|~Lkp&43z*FtVT zk?Xoy-t1)+u2ppyTZD-W9$GQrqx3!@VC_!a!ctx_(kK6+8QA615;rZbA65Mj_mq`H z#5jj7t`|1t3qqiOTfHxU;yE;l_$8B09Xi5U#_Tw_$t;P5@HiXX4#(2>mx0hj+n^>4 zpButuO47t3pS2HRkI@*`h8JhZjh^&?D|+VYVg|G^X2{o_;YUt%=)bN zw@OK7U`h;ylB>j`5HDPWzuc^!PeF2O~!`opAB7ZaP+ zuk{@hbsf2nP2QE4*7ttyOWacK*dJ+t^cq+%Ri*(FG2}ng{l7L(o6)7*WJ~#W;geJQ z`Ax2iUX5sA#TFxE1S&0%Byw9bW1n_RDLXb%4^*sr=tIPCoR=NcC8Ax$7)xqeFFJ+R zu{^1kZSJ`z?tv!@^eQ9WafcbT{uKAdlc8$K;BYC1o}-rbMIpf5vhmTZC>-^pqwOHt zv=X@$!g*wU!}zTH&@%H79AU;!16$awqF{3}G>s~kofuI{&0ZB48?#;antlH2lCg0C zyAF1F@mweIT@g_$|C^)WpJB>9@s?o<#82sbj-KcGc8uhVK!iT3`KavJFxzRYakf<` z+@hr@9!~2THYU@-v9Z4#AK-ygrP0Ar^wyQ_|FS$|W4=%1!?Q($O&m`IKc7?6fyzKOQL)|^7nDWf{s

4p`Qif-Z*q3uCP-aj_+l~MBHn1!r3{>IxE91YO8QdlU$ z*Ytg1dwifqtIS|kRObG3O7D_`Xl;w-~};btfdvB|Dxb1g zcMhxnvmI^YW%Dl3U8j+XIzoBQy)cdv(4ADWIv63#bHiX4uyx9X==EKN8%k9vU<)uG zXE|cw6wo)Qz-OBJLGu?aoUHM({4m1hlfg>T0wtRgx5vdbP+0P!;7Odn6ie~=mN9MP z*tiQNmpPoAk3nmwwsKd&d}q^2#G2Io(n5MXNzKxY7m?Fxc@xsA-~Y&%gJAfX1 zH~0vxCti)T{{EomW0ct=xdnB2qyaJ@(2E2m_z`8z?Ac!9)c3|vDI6uC>d=|!ia9JFxmf7xNk-a zpCJN!p&;Yo$8dIyo?f$mOOu^|xFJtDFH3}CLnu=jZt5v297hkcLHsKTg2-=+C)E|R z(LmOrM~?9w@>Ri1z>b<+2-T>Q+2ZdUohaUriZ=dr`(f5`ldQ{mpM1fh&7ymVNXbX$ zDx`#CPOci;n10U#9b&O1>2Yw^PIDD-2$QAA>-3jMoGBp(tZxXMa*jPl1ejEVi@dxb zC2=m1>V4~AXq8MZQEF+%T3wH>)KYeiC)HYxBkWn@2vPdUuvD|&TLkd13S z0O23=<1RWCQ2g@z`u+Ype{+OZOgUL%(nvkDNR-DiTudwb4RM#E@yi*1S-RC~{g-7Km0bj*m;(+xaZ~~MFAO{C z)KZuGQ1ek?9U=+!mHb0-T!s{zyDMy$DYv)&GCi*4bWy=sin_ zD(m1UER*4o$bOgJs+)5|2iU$M)(6Pz^^=j%ty$v&U?FPfJup(N;e@?(J-3-oV{)QT zb=&KEwcxlb`^)AKuEgu`M$e)~TD>Gc?|qD#h222;v^emlp*ZZI?LH$Tq!UFZ-H-*o zjxI8=UsPugoW#L;1IfLbl~rx}S!#0pk1JIO?KJ!)ozXXR+=3^zg!O=<^Hw3-UA-@X z@`zawueyP~?fj^_MwfhImx3WWg18;V^+#DWg#qHU9U`-O%y(e# z^*hDI>s~j;85ADlfoddiBZBijBk6NTz3g5BUrCh@j0pE264a!2obc`2|FvF}5q=jO zLWzb)lA_2F1K<4oTHQ{|VDl#Ep+ijWSE8g-W;k~XD1owE#iKDBUo)JUgyh*+*|^x1 z(*c6;=R~vZ)7lnG%tu;7sl;||Pm%5*8NBkPYJydZ7}yB9sZ2D~oHA2H;>H})*?e5U z)pX@O#Ej{P5I*;N6uns_K@w9mmDW1TwTIGj6^JuiBt~d)iUmAE(+W_nf+bvwv+y@T7=T@no#S zHw#6@+fqCUCZjMUTiIhI1Y@Vl1nsYp8Wv^%h2@WKU(yDc80eXRvc-Mv+nP=TFtO** zS=xBvs#P6T@~vjT^8DTOSQ-yDWJzposcSWn>F2oBU-eH131XHVRK!1?<%@Qrf5#tn zvTNmhYbaej8pKJeGpdq1%GlxgBCa{P$EOzZ+mr3N*b9O#Bf0$ANAJP{iio4?ygfZi|m3tJpdZ_LSGiGg}y)t*pP2#~lH z4unIi+_avWWULDDd;3!1C5ga9BQ|RPYi%9U*{;a)kq{}7*`Y~NpiX-KIK0uvlhuM4 z5{ZQW@KFR;;4mCh@e9Cnx0xV7?jQCLE#t8Ce?V0MrIY1Qfst1ABf50CyRJrbsN(+F z7i5HfK!xnlPvjQtsnQlH&@${5LhdM=T$H}%7-BY`yyAJB&oUFz6vljnan5yd2w>bJ z%P4iAK2PEDFNJOaxX-qM$87%*Ur@*lO~#EN0)dZ`MQWMC?#nKlDOhr#>^9H)4=7~W%8#7t)ts4s3Q{n#w*)CNvm37wu1&>Rbw_3&*?Jf4s=-C*APBoiHbsByt=Z)5$>de zcNB~FKVW{u-5K)pk4f+%8-tdfVbqu8sbd*o>bt4 zSw{{>6J!GH$lN|5cueg5+u!j+*d(9>AP)72MnUu+(zpOUf_?vuWHCJlwAQxo65mG+ z&|+4zT($zGT{?4$Mh+E0Ra}ugUY9F^0j_2n!pe7F5-LtnRGcJ2(LR9`m`X7xJJ=N{ zinF^@CkL?rXPbgLaOBat-v~N&n-pjoWVX53_ zN+xayiNtLq`l4j5y%JqRt$$z>NG`!?w%i*DrIkx$FCe0=qcNtV|Lh;*359?cM7NcJ zX*AMA;F_I|bC2wSF{-cGSaY8u7AwKPm-kdIbHn?`dRAU}!ahDX^aFFon%oa=Gkh0Mt2PZdXg37)>n9pngTZd*fQ7;7&P-K>Yw{4SfMDDQIz$^JyR3BwDJT8RC?1%l<3NO*~vKb!5?Y{)Bm z)e=r3@*Z})=$IdcF&XSTg_2XmTf4N|V9W*UI|=g>)yqsej>ezV*-%lK-3Bw@ky@L>^^jH@jqg#T{n^pqWd8%eEmz;ci%@Vg(JhmJBK@~hF2UkMBL3L7EnZ&BS9 zG5FRQ;+77v-4yi&*7*^Twy!m-w9dQU0A6Xu9ewTz@sl$VNGv5Yyzp-UFH50fyXKa+ zNc0O`U)kLGgk3+4C#adzTOqL6|3Swy?E_%vn3k7!nXJVrIWL~Vc6Jw}xb=Mmq*~Qu zQ)H7c|37iI{Zutv$jd;kg@oFwqOXi2puv2=wU{Pau+GVZ-s>-r8gg2M0HsfjsuBFA zQ#DK@>MaJ@N=~y-2R}rGhhzY`iMV3uK zs+cIPaoE$jS#QEyOAu{~8_YG0Vtsy+&&p;!%oVwPVE*=bEWlzZ=xfdzJA1@I<|+?+ zdBoui(7VAzTyB>$J|zKvL?lQ(?`9wi+3+)l8aIc=BimHYiNzFA=1x6ZoU)hc@Kky}BJ21eW=TmJyU1ng zN|UxGrc3Aiabv^`et{yrB`|c+O~nGiX6M@_2KL3a%zJPPl`o8401_=KaN8p9oxmUf z;9fTapu_Tt&&2D+UOwQ8tqmxql-{3m2O zuUS zksOWkFc-HXdi(SW*v1Um*9MY>z7&(u_j-@=kBp$w3F>1qEzs+_c^w%XyO96Yww4hd z`m3h#Fi`jYqbB{kluS55&y1C_yR13S2SzOwsRIgs*w7u)fSMh;|7N4w8bBf8F&8Rw z+jWDYrPvS+d@LQz{=u5q_jvVpH7`zBbXmB}lA2;G(`{_VaCC&}Qb7hdAv=u%`d^%& z73>`I&yFO?ip0aw$AmTU3X$e~PT60m^(LJHxn1XDiJ%7L_U%z--oeV%61|wxFB6V> zX~dNl2N%dNJ#IXKnAHk~hJ<0pYto<34pytm!$N3x76sUNKA4*h`T7hlTk7Q`5oNYp zsi%5N>&x^Hmu^|n_b3R%kZO|OYN_T{qk@cB)=74<_`Uw2tq)Na#$0rI60p%`s|y~s zQ#=4dvW1o`$oVpuopf|WeVG;A&*X4eyHL1LiM~=%xy)f2e>mJI!~;+u1fmLSOQIJ~ z-Ek1zOQ~=va_y1*znD0M>{iOJRJrs{>RkG^MR0(tEkcGV_$mEm7Esi&ia>*M zG!G0y)KywEJaL}7OzH&>=+JeK90_P#&OQ3Gum|QfJY487aN`TPhTC04UfJY=h3&o$ z5~M_k%h3W`@Qn6hxInvV6}A#`U59WU{H`Nhl)olIT;p#{0To%|cQD;?n`-pfsQ2s% z8)p>po-Cs|(|A+`Gai8kPx;GXQfg^TgbVSdA1!C6&vk{#s*;zqJ~I-U9Q_gQ?E#?V zSwL|y*t+`Glqt>eQCM5hg}i{jTVIODZEo{|;;2fKXwJG!5zTK6%ZlE5xIo}4rNm|2v!-^*)5vA}HdIT8%za%jwKDNO)7oy~;J57pc8;SM6Efz`FXf z(vnz-xsLM(JFSxuMl#E&Ap>u2S3Ze_FEF1kdz*#>y60%RFp87_uUn9A@`&a+Vni9^ zm$KtRvN4!yJ1;yluH*B1!~I|hk*suP(-JOZY|)g%q>#6ZwQ*bOs07K@$mJII+bjNi z`x(bDAfj}}O}wpBq0WKljAAtUP&0(2(IUOG=CyybScC?HKF1-dfE{AFD36w4v^I5o48lNYv{)601H)M7(o zR7BL!UDBEn?ZQD6JNjz7m`pd+mTl`X?<-jDop1^p)QM&@N}2H9^f}SIh=n8|D^@44 zl5ymx%1U;wlb$FNPVR6I5qSgkO?#tMQ%O^bCEKa9gWDN!K7g=v={-hGeb$OK=C(xI zSntpqPhs}^92B$$*^MN-z{Qn$S)Nupl=@Sb4~rd1?WXRUl1c9=T8*8i)MjWLJy_^vqm9gs#k%{s4)bnHhhoN}`?7*~3{mRIiZRSzE-rp2FP#eeX zV8-@hn)W?vP){(XRAsdN5j*b8W2+_Z>3MiEzfPC-Jt0|r(pQa{T z<^mq|tIwt>xBfd|i`k@wu>|d>>p7;*F_btfvC#h&=vqcy!~cACqH=>0MVmQWr@1$M zz{(db+7Z8-vG`aug`y~*4&Cs-Nn#+-dBV@=$D%J!@)jfAx-_l|-5mhn$v730QMojn zoP~y37JoBph5j^1Ye6eTSQ7<5QXX=!jP=w_KVxU~-wugku=a5TTV%3sq;Q>?TqmuX z8!aVmzZgBZP>$9Kp(43vV&JBsanE}4Iro!`0ilb#yO!$`2Vo(;p7AH1)f?@zL2h*2 zdE*axZChGKJxIMrIOwHUvB22EQnxX#1U>Dt zlVy7zZ;>1E8vS4DXch&o1Lr58K%fHlf`3ESLkG({^wg0Ed4RD2yU%-Yq2oS#r|jYu zX<;eWoz@NluEZ~Ip#6C`2FY2oLBkYRe4Bz=q_W)sF83nmlpIwVS=8=$GN)~!A8!?d z_Tu0w<_higxM1PC)M8sy$C#||Or(*wGaD8RCEp5x{=Y(<3Ds7YdDL}H0@Y9QJhE0| zLx+F1ykg+19J|QE$g<`hmeaB{FG_*Hp_6WMvKJwzRF=xY=_k9 zhANwm8V^onF52Y)W)>jW4m8RG@a;#dofV8xisoM3Grt7R!&>K$3c-~;LGc~YnV9{W z47<=8)j@duMJiiLMtcnkyhcr_)Nk7syfpdCfXP{DEWI;IaND#6al+WZP=wgRO0@&e zOrQyGZq^9yyS_pQ3+m5xs0Y%M{_HbzGy}J=%I6L?9a;(jouf9jL~qmC7sLX|fsVHO z=~!Sduw3=N#a|8lCmtl8clc{SmLFv(2W^?K{Y4{FtyfX^g1{R@iIm4h_+P&bQ^0gU zK+uvP8WQ5#3F&F5@aak;)?iJ!3eqBRtr8|?0i7k4CKooS;W6Y!QC(2gN>)C#%r}OoV8*vODw8i7OY8JaEtgC>x_Gv^V={lxY>4Wf!|XV=jb2Kr$iKDbPmGn(8W z_OS6n6{`;BwwgkbLOW#e9eG+%2HagnmlhFyYz-QhhsAGTh)@TT;g0j)Z;$(>WpB^#2i z4)b5Ykhs&wOLEH^h_8X4^GCp;HdVCI0`T|I;LY;)|l;<+ppw(mIw(hJN{w$TQol8gk}e(&TsdNEKEJz{Z580Vaz=} z1K~7Kycbir$xvR#?tA3zYoSo2xQVX?ow_pO0RLYZ{tgBO@|rQ?0KAzFV*eHyo%xi8 zpQvr?6bc`xsr9lInp0KRsH7A)d%u#phP~h66B}HAJJ-1vp`-582T1@!=9~rLqGy_Ra}v z&!CLrfH!Ws+B>GtsfASHmL_avR6cj-%IF4_)~}#p%Q>jPKUuIa9nFW|U*%ibC&i9% z8h;;%^ZV973hK;Kyyg{?)j;_ECQzKP*ioKu@rXDZ{QQZp&=R2@S@0@uyO(raF~mmH zXZ=Cd4j|)h;Fw0}!I1g3BcvIHH^)cX4yJh~NAbkAk!C?VlSJu)PLEukXDcS~>8i~b zhl%J>g?zr|{N3D65~0)lx69w3(UWBC#^^Y7OUmqn&y$PYi_%R5#()9`yoIJ=XB*s} zl@X+>oPD?rmia5OyA?|mkK&_4v?r+-BYI9AA3zOF5!;6I0)Rph3-L#2qwlbM4m^f0 z8dX6wT}Eu?CwW)MTr?CCNRFU}0$TZU)N*jmbjH`r3wL22OgA%ZE0~~I4I;ferl_1v zYiaP1@ol$U{>>E>rzbr5p^}?p$Yp8zocM6Et1v2<4$KbPDYZQ@F$$&X5WSNs%{yK=g_W9@f$iPbbM z_zM#&ro@}w-?0>Ix-!B*6}A?;#OmzjbrR^eo6BmRd&k}G5zucmAFo| zmprbyimFv}x;6;GTJ&`N;RGaEuUodibPlRX`{YIy3lYrmK=X!N179PRo(@KSDY?OjKR`}LGzMOl340m z)Z}oxYT%}Fa&|{ysv(#5GsUX!3!LSVx-ax~p(%i2qZ#=X-HjuoYX7qV~f{ zLPfZN`6#m6pYp-g@YU$!Xsg(4FSesY&j_hjMxfwW&6v|9{jNMfv7>6Obl2&5{wJ z4vHKY{OqT5Zr-TaY=;xVNBjcA} z+x{OcZ^7-aOJ+tGeaVk@XMKLVoe}Hw14}<`eiVx2P#(I4i3flz7U*a!)EYc|*o}nS zV$n^)WaVNDe-#+E)wO?4c^8<4Q3hE=n3L*|gHy!LxGgXkcyb z?KztC!&jMOz6TX&BTwJECWr=eMpc!+EMTDPL^aY~MIF_OqLN_A6M2{cEGZ{SFp9-a zdK(PT=TZYOt*xVS6PDWuI%gvx)wOmJYPL99{7 zd~#*&17Evg79?D`ZS#{%D4SSyxB$+VNzH02t0FRbgeZG$Y}) z@P6QKEW}K6Vg)hVfPR^r1xPvztn+b!s>zfWSccSl=X{~+)%e#_CKqN&h2PArH7N@A zG$Rx)yD8Pi&B8D;CBQr|?T)sw*~=rhn`7$vyV&-P*{z`n_ttHoDvhwg8tMppn&`4b z3XC>@2BaiOqE%8R$LtlQ=kj0+X_`D%8QNFVhfrn}>bEcQ0K#eX5*lG@OXG?I#&kop z;r=m||5KW{w!5sR>*8MHhv=s@9)e|~GB9~Z?%qTfua+J74)N@5QW>n{znVtyT9@Fu zc22NyY0Yc76FDTgl6-;6`7pz@2Fc{@>+9+Oo};=bBv2-)-t419jmBL)e2X0PWREbK zLl&LVZkiFB1_dDqjB4I~2Yd6{TNxgL2zS}^E@umc_GvxB zCLU1BH8B=JOLT2i_PF#9kUwd&N;U#r@ZqBlIIacQ7nkjP8eu7E99_}!`lRZIrwrmq zWb=r9a7Bq<4KUM;TIQM?lLv-xy`B?qCG=A)6IuSkQkYisGA@TsBZcF_nI%P^E_rq1 z44)F%%o6(WZ|T7mGPXJ4>PQUQMM5Xv18M(VbtSIn=nbwXo#1TB3}Wt^Ta% z5h&WAU_4%3@@js}OC{!7R$x4+{w(I`7&k4B$$8c8^&YXF&v#v1sHIb2GPq$fcDwj8 z60w~%TmmcGWnTnkG$W`OJwEqbtM07pUpSmtx!)y(0b=c+wYk@wqc;C7|E=HZ|Di44 zI_)JTK_(I*Kl5~uZR;pfmF#rqYun_SV8I7P%CK~wADiOx{ad|e!i zR59-rI~3*|2ZED*k?X@RFK+@(==Z^U&{j!|{-Z%P>@ss+eZ1VFyX2R^v|yp`_Fuqp*?{sGw7^N`b=#3#TfMlC-_%DlnU8l@pCq~^=u@96qSll~ zSJm#A(Ys;+GT=T71S!^9WvE~rWN9*35GDX>Az^F2gG&C;lyAThfc7%Y#yu5$_=x)= zv$hTgM%)3=*e|30&P+2z?bFjpORC9k#0WZWt4;tX`rz6~ffL^hubZNtzv~Kb^!a{0 zodn^eO_)C!ZS!x5=&DPh`D4lw9ff z!>wpOqeeGuE?ATW4e53UGtw+>E_iJ7l9VXoPzA`xlj{SIjyjG^YZhQ)&ojkQS9&Mx znLvhJSqPfo5bGwiXirh8rV$2L$%1xnC*XL_W-TC-Hm+x(b5}>3FiUz4HMVY(viwAZIbTU;Y7h}s$Sb9U%oP=Kfiyz z7r4WDF$}j0zot4RZ5mG(-05rT_t|3br;M)B#j;{o2?l6g`qm)0z+IQevnB@`YNA86 zXG#erN1QhLU8}SDX~Wl$MYrZgFKaZCRVl6m)(Jqe&C z7&MAC`)AkIkn&$d$;yh;@u)Ab*_m1qb-mTrp$t*R`rel(%6@sgI=ye!SC-j0YKL-a zB(#lKe6+a%sj~)}1qpH$F>;&9^D`;>jD?quwI<)_V4r~HBUld_lZTR>4~+$fA6H<@ zJ2}?xW4_wt0f8!vD@Q3X=yz+^QY)j!B(8@a)6`5!6VDX!UUQdzlt=(Hh9vLGN84-> z`=kOfCrrkzA|3VL%b(_cFadjdCXXxD;aB?J7n$1KRud(zyb{VKP{9&#PtOj6zU|0* ziTEryPU1ci6D%;!P+=4n*<0d$Z(=z(7t{-*RDf(Y1KWcg!GuAM@w74o(H%PKU9N_G z|8JQs;@i{2laeh%N})Yi?M!e;uWrvhpeoY6QHF3R}oACTml z%)(nilGRoO5Xd;Et7;0_2;_cuilewOE?zX(~K6^VBtHB>%xJy_BG zWozD4AIF9W^oLM5VbEZ;i17P9;zso15>-N%@jdw#IazKj8x2QtiWfu$#Khyd@-0TQ zo;Qt}SpEs>X#!%2H@z`AC&eWQiCgAoSOXTkPqC6jE@pqT92KI`pKX{VFFB6PCEd2Q zea9S(FEWG&A=cJf=4Rl(e?l-u9S{Jzwvko+cd!mGJk5id0y?x1ELiYVv{)#$!)j2k z6R(g6rglals4g&efvX^#BG$PQ@T={{+-j53pcP_T&d%azKIUrX?Tq|}=Lo%iewT>> z{0wJcAX*RLSxOPXoMX1hN=8A2jL9=Ov!_-evPPh`f3JP#mnJ=T{vcLZp6wwBnK zki`>@v#i$#c+qwiITN9uAztCqx&heC^xgG)LKTxMps77~JDsI9<#$Xm8v_%Cf%*o~lQm(AArPbiB9Hw44Cq3><#gvnxLFUX-U!f>UZf_VgjQgTB5&FfWgfz9)|uG)itzvM$msyQ-I%NrP(a7Z$5>AA?q)kOBq|T zyFqP6;n`H1k?Ey0Qq#FQdIWD_EUpicNPJNY%v*~_^gd?`j^MXhE>@UadbI8x#G?=(BZ6C3WL6I@B3X3nQK%YkAz+x$i{2u zTTRM*wKkKyAoyzNvuHH1CNscPp@wH)&Ae=T5VrYJXTFuSt)O0sm?H+n_wL_2RA{32 zK7>Nm0_#C%rYiVf#>9mlh%Hp~%@b6e`hmWyAk==lIoSTHrR#HkEPx`d(6Ja1(S>7$ z#_B)O9_x@@!V#79cd+o7Rs-9>j9i<&VjCwfpTe^Vnjc}sRMxhv&92_BHAo5dP7Tf4 z4j^+LbC_kNf>Rh}*+H6FLTAN-mKriYzR4nhY2PbwWxx=EEw74>YLHYV72Yn^t& z$@K1WU0H=F&*5yfzPMo{D~F^WApK#%+V>^;IzmKYoB39!*VLPXgGe~qYrA;EhNfb}rQoi-tb)zvYO?<+VW znLy>UpyaCryAcow{*noyW(snWldaoGY@!w}SITkZ{DxZ7mWjGOQ zZr33=SdvMC$Wgl~S8;9hM{_DLE(z^QXL<48fEYVqWdE$hHL~~xtrqyqneje?gP7@d zm}8;m->sN0zAn{cDPy!n@U#EOnlE$b5IG^;-jAW_7A`J0c`vg8^P^3{fv_1&D*arT z>5WGfAp4(*09AXnT-Kve8dA^yBbul--w5o9pb}>Tm2BS_)Lwrki9tsBu>tVGYx{7A zA~1gV^@!_sIMbUv@~7oaNKq-ZGuqvDCS1*V1NTTw+t7IGvY1=b64E)cEJ47`{=I1e z(A=?TkpI-&b z?_}5c*3U;_CANU-Y;aEcBqeoVG&8&b4rLiK*z5#oB?9*>CgG}vCnXZ=6br7t>6h+! zh;@18Rk8#*9(M1p8&<{}!z2Pcm)JG^=ZV|1O=((bF_pU}^4s_BA$ZD8*}{AFnjDw) zd>9!Kc9vBsj`@+9-s{$ZG?-s&jy_$ZhL14jpYz)}8VDQFaX*9Co!AFgF-cft_rm0F z)#t_6T#CQU-V@qYnYU1NRS`By3hPY>r9PDV8+=59qY++Y`vMm9g_!$YkH##ZPJq8e zi-SO`?wq-*$kyb?^>{Hha`146tAS|S_1h>$TI#kApT`#e>x<4m-tYyI%=5ClCUQOy z3}O;fsvX?xP?yrfey(LMKZsO; zN;lzr|4%UZ zK3F#j$lOtSF)AZ|67U0{|vFu8x<_H|boI$Zyx5s(pYml#_RA++gj^iKiX_ z08g~*=&ZEfhdSe@Q2g2&{#gGM{nOrOQ?_GflR}U8p)e7a>+EvhC5drv-^8%svbW7m zMACw7j0YTvO-kIk=nkc5Yq9A~JDgo3F;;opA+HhXdILc@Imfli;^x*qA@ayK&_T+U z$dh8Vwis6Lk&oK#>Y)~$6Tc4C)Z&vuTxo*!&-EZi*Wr*bLB(} zd1ct?dU;ps{pcdPWk~Q#!=1O>MMa{^=i^jzl-Ux_@UYpR(%z<&WD<%cef-A=b<7(k z>o?~)H#=Q<$@B5&Wz4>0h4CGk^5A$MI20o+*h9#pXrU6lZ@$*GYJuxvqV=4RYCPaW z;yl>()VEKaE0oqkO!g=V2>IpP#M4RAiO|RB1YAc9*m90}S@*PrLU)lcmeA791e<`P z>cyA{aBoIFVkIv8Ll9pNPKhkE#~qgj`vA3a>y~||n3!2nbUG_@_bQYxVfYuc1iWg7 zW}>B^0?cnmm!D$Z4@3rsF9|d_(gHgVmQg$}{>#fWM3Kps1c2=787HZWi)d$?V;F6& zw|-~g|F#Jvrj5Ax_)@eHsor30ipJaAI`p(uvylD6@w?>j)j;_)Vhx56)?N<~*nx;t z^+Cs<%9H>%*S*aEqe}R9^0>{y1ED(gMn_O+9d)9#J$d1W2UQ!qA!&ZqDP$CqIKEzSC|nG0k|i0M1_vEIUZUx9&8 z%~W~3Ib73|I8n5`i2iS2QqQPuO?&sa=e0p#H6$8V&wrms^Wal*3av{51M#19N>rV? zj_5hBO^xPD&Cj94)Hd-?Cpw^ONb%zK@Y)cIpvIaz)mL_8k5ri%d736(oS-IEWRz@n zGIv^>n3cw}hPK*oLp|O8IcT8in3T-em!9Hkp$cj1q9ARGO7(L!rM8=0yO^ko6j_>w z2ma{-c-Ekq2Z6zRsj~P?&xF|M%6BNFlKLpJO->KIH$l;!O%)D8Lo@?ElHivtM%GfO zCqhr9FHeEkBDf1YxxOl4fMYHx`S>vR)bRtf5ROhSRpx@F$EW#WHz}s z^(%~xy^%XtblvHfRHS~L^YX@pxhOaoZ?{J}b`Q9V|7EmRS%TV&JGbEltp|&UdFxl0wIwvI@ON)U?71st`3G|ucE>8Vb zr=V>Bnh>C#6X{zy@s6n(W{FZBP_Of0@FeoPn>#_%f$sOaSip%lindy3&4eW(13I9S*Yl&&%uy|Fs@KCC15uDFOlw7q9wd}N!gwL2jIkYrta%9kMu>$uMyVyy z0&9+XQ|=$d8{Gxx8zXP$ekSCi;APC!`Z&zv??;g2B@u&gKz5G*!S8KjoUE*apTmr< zlz+G&efH)(k}2vd{l6x%pJ)X0=d!VW+-QvY!$0NYgUx(_i6qfT|0cCXoVFFMFY!6W z9gzUgR|nR9kk*lVFt|A1X&XV;IWHp4b07|WO}M;>Mv{e=*On21e8BuN6A;BY-@k}O zKY*1dp4tW#8WSayk^~tAy3?Ziqt>2F--1}BYRBqu@ZJFR_Y#jjprLQcv|Yp+zl2pB7f4B2`uRvX7TNkRul2#GQO-k*dKew=WN`H($$P7N-*Q~fY> z3n;CD(bK%ZJ|TqzmmaF>VL*^OJfC6{ul7be!R(=nhm`iF0$kfZOrn_m;xi&0z#gvm z*z7l^I1fogaDcCKKF|A5y^^@2kig7^#g;a5{#YPpF%qy+vie%EI4|YqepvC&@Ylz` zDr*g%#+`==`pro%qlz;u--V{=nFu6zgX4G}6LBFL^Y~M)b6IRXY!#fLFg&4Z++pM`3x-c}-~MOb z>+f!?nF&?Et|th;cabr}w<3*itKP?wYKoBeppc=`hwJOliU0<_z~TRO;m&C}TFy?l zUz@cw`O8aRyP!8}gup)Sii4{Ro5~&|I*~Zd-_79!JuKp zN_b?MnSCG9fXHedr?d1ZP@0=K=d-ANVtT)BV`YSS&v8w`q@eND|Tjl-@8t|_tNMLx!AtfAzvzy z7I9D**#m+OsT&i}S5nH7wfirw7?!m3*%S?3Qy2cibR>9saz8H}Wm$8?@=-MU$bLZ3 zt)RN9xt21_xkM#JUD4+0>JE(2`as-WgPE$)aYOfRhmyGG(Yx1!cR>T{ok-&`PuI}o zq;PFDs{U2{mST?f;2XMBYbBB9tY-99#x1`5-IFl0-wUzg*zVu4zf5(FG|YQ;>dB$)YB2h@3KSkb$k{iWoUsorHDXz*`m0mW=s-Q;UI3)xn2DW)d(ETJw3 z{hXt0!2nnBZP3=ThQ_RO zx8X1ppFkGzh-7W|KRWKr26>pOGyv=No{BARxW4r*Z2*>fMreK;d{b|j65t+1M7pkA zy3}C&>lW&oVvB^DVO^2f9_)?kslOL10MB8PueLf+FL@*T#T45`jU!FrrNES3ad2Es zLm!PD1rJ69%%0efeOgxIs0gvJo8r_Zh)2mhiJcMf|BmEPk$_kp=hKi)tCHOVBw7x@>XO_l{v^UI>2tCY%gy15b4~F;F zKS2nf(~G8;qPMmD56_u{6LL`Tg8@;rTI&;Cb2J)) zXY)`4GnNYNnl(vdKTsjwGNnaEg&F@BS;8XA1Ovgk1`5u2609Li2KDVb?qZag;sw0J zTHtaM9qObM{R7)5pcr;2X5BRy0BA1e!UKh<%SFmPu?~4fI!Ydlsx!{Vr&{p3S#{X|xsF;2|3>({QUK+kae32!>kl4P$_MZEJ25uA zGgtbU+&=3h0;7lrd7myOpwLm%R*3i7@Ysr%sE9{v=-mi^Z<8~c4whIMC!N5{2S^fs zzHp=Bp4xYOI*`WQOWyPup`YJ#HfUfv*1zgyk3K3MkhX*3eYbST21BGmJhzlpz} zBVT{R3h20E3A0PFG>yTl89yI(MeKK=OZ{>o=%1>dT2R2V{o%`qOD)-?v$^6wVAMEx z(MxC$c8CZ7&$!Guopc%}nX`y~ACjk9AN+I#k@-ydv{1X` zUN0wf2ZF5IUu67NGP5w69MdcX(}%@^pLz24KsdyhmM%*?i7=cN730IVp1gHgm3g4E zJuP}KGQ?Ga94~CFBv2e0UMzb+-^Q>An3lQr9LmopvNi!Z9!EW~$@d;+Skk?nx9nSs zu&o$X(5h(6S*$%A2iN@LsZWaxwI+^%2)op@bX6Jkt0FbTp=VqPWZkY3N?B`~4IS4! z7=VG6h`G)R8%>SVMAm3h6`ot zaO~_VNf+P?_Ko(g%~&gNW0&|Uvh=)fphS-){On&oEt8SQ1L<93io2wM?Z;7N_GgL^ z>Z6EU6cs(D_BKa4P{z~b*1)Lf>n1_v+jm;Vf<$??@@vZBEuF9JBU>P!R`;RVFmtqaao<%)&sS^%!h-nDeP}|5>T`L2pMc2U* zc9Xf&sUxWOW)LVunW9$O>bX@XQo<)ww7V}6X4B4QC$1-R4+4)fn#YQS5=$p}Iu)y1 z5qSIoMIOD8c+9#j#9#r0z4Lq!S<7q9Z6fn6?K$Isd`9NCt+l!GMh871`;uy`OjyzX z%-eg~S6gq6>QKBe&mMZN@+pIyZ^{QOD{5aLPj6Utw{xDD8GzQTu=HP=IKR;En-QBL zk2CWNKW2~OknVj2OY-ec(x|k0_dEHD1!!xm{|Et0P|l5ADM?nfH-JgDm8JI+eU(Ce z+zWr2CnqxV$~GSUF;`<-q)@1@0)pVGS9K=Mz&){qWa}g7Vk3VOv(zHMRY`-%jAz~B zBm&oNABkO1O~XpzAoTBHFhElR!yhq&qM_E&Kp$r#HN%sECt9@hO^|i}j)0+@P}?T} z0nFQ-zR8mL72`Wb^^Erav=Tw35u;#5#DeUmTf;32cUR?2=PV-;wx5G7MscwJW1`8>)^sZHz|6DHY7 zxyhq$8!#8@7gu0E32h$c5iq*SWLjcVA$W0)=(ffd;VREv91}F0B%hjGLR$wu@5PyNq(&3_~^9STl zo3^zqxr-2Q*yU-uSVJChF%c9cE3a1PddZ)i8TM)A?$As^{<3_iA*w5trFL`uH2!PL zyh?Vd=PQa#D{s_yQrbh5veQpE5zsl-FmlMiyHB8jH@`kTj7Cr4T?iStcQd*Zo@HYj zsd%?<+irhoaLYB6c)sRjlRa1f`{7gaF|qw@6OR9y0Il;XtEmr}9``=d@ZAbnvrvl6 zhS$sT2;^Zq5?SS^&Xv~zKzHvx=suVk2;6s;`L&_Srq8PLI!qNwE?0uBbmnXP7(~zR-G! zG}DK^0Uo0P&I5o*`CK-h9m=8iC*tVPUzBk87`gU+64a^;^?eh=cN*zC%)Rt3qt#*& z@6ki~q5}QDMqw(&!ivcZX>mQvtNx0gNGDK{Y*4i!t~M0A$8&`Ja;(Pdg2}Lz~`kpS`q0J%G8gPCIK$C4SG0d`uWyv7XP0blG461D``L90R)d36r%NejxHiuJ+F$kf2de8<@xyFh=*aKwrMA9_7PnzyIoE zAD%D^zzn5u@q?qbIgui_ShxnA8r$}TAs&3+MMJRR4>d@9-T9Gg9+oB=z!d+&CjE2X zV;?1zJo5!9TKr=6y8ck3^0mv>&a(hUgdSqxc>p9=k+TpMbNJh zLQBTc#9IudSvW{34c5dUnKkH>$@=K6Vs-9#+5$ar9+^NyM%u?fNx?XsCR= zZDyp}{lb5LiyY46eAfADtDhMw!_I+@lDUQ*^w^GW%3v*Q_cNzb-l#Y+nUjWz@n5*u z5C93+d!nEaX9a44B*2EX6~(OD3-WE>$ci^E2=-WOim+VYhBLa{Z+rs{cQ=5GC*n*- zZASN5%1%_g!sv3M!Mbo{uC)SC*9*?YOsRb-u6WQ}^|7Xc-xQ+pp%;P5G&)efR4si6 zVEGnV^S1IpDEJB=2P5SYuJvicgb9o(w=1pK{}HgEM_!ez@AHV-9Afd9iY-@gtv95ZBH7LCD&d`T8>{+_`#lYK*Wt1 zn`p|fsSxJ%_&~khhvUuo&IsT3^_74zW{7hrqEq`dL{b`KV;rP9m;3@3OUXA+RKaLT zyR!x6iQiZyt4zh1BUK-;`Ed8<5Dq#wSk?&BBGb)<1n#`JID9(ll3rLxVD2TK``o0O z!kvv=rU6z;`zRx15OZjoMg$xImf$-;$R{%2N%oIw?d7rI)=nE$AiGOQ%TvF9Isc<- z5bKEnXdrMB4R6F@G&T$1riz|Esr+`fCs~{yXKLAtzZ2O0!}Si9ETfcIse+3T2V_ z;tF-zL@l1#8QWj&WQL_t3G$BBBmvHR$Uh>ih{_$v7HW*J==aFFnmKo}TZ<)%TQ5Q( zzPK`m0QPBOcfSj6iCEDhk}A1=r0-t_geG|Y>W;enBVa2xj;sn8#}V)_J-G5CK{n3nI7SWoszw6!7&EL2^=;1m04 z+Gx-Xc=sQS$#E<22)A0o|Usj_&;Ay&+}Il`0IdT z)(qBCFr}`44){MKi8Iv^rWS7>fXr zokHePwYT6w7vBvYDQ64rdtgy`uzmP^d!ZD_O8AU#pj#hylaa&Nrm~^!!G7SS=|9^! zh`=6~49c~CQR`F=gP=xtG}_*2izB-{lE_dSl2)UIeckH!IlTfly}R+U@fjt6Jj($Y_+q{XbXKyZAHIc$=!{eQ|DxvhhSrz3hT|*~A(XUGjxlLO zuht#*8AtWHV+GJDw~$?G4Ipm=f25rlY($r^Wu+pkS5zUm!;_84%$feTeY%AJm%8>y+y3@SpqI-af&j*swH=ff0&r1<+7zAR!24!P}Rxik2Y;Nxp4ZH z@Q=NHfjb;uR!=)SI1=-f{=0>q#oI3aP1~XQTxr~zkIZQwIWNkks`*aZ+br$PdhA+89`2gN0NS(AqgoQI}*$CgcokL$Nj^%eZ`#MLw? zp{Cblv7NF8Zl8&VQa345^p)R0UwdB&1-&UL)S60?23FD5`mCx2!-2U~_LB$zcchhH z`P?~m`vYQsH<~>wQVA+u0^Z+M!q&_<8uy^Src_loyHHxp2E>Y*CVXW4*E)BSRf00tny;a^TyAD zop47=^BI}$wuKoYvNt>-S~=+vWRu?BF@dq&{n*{nlC{?l!6Wzdrjh~+b_z)^jFue^ zCW9t2FMUv2%D}h*(i=f7N`)C{bN^;!LC7A*f0B9h%f~{}S(aC|Vw|Bia=gP00h`{H z=v8xncu{Cy!Rq=S{_ufd7V-nXZ}C)twXoK*UQL z8yXukH3Rkkd%{Rd@@j(o|E%b^ZxNzuY_6@Vc{Rlb05S?viV8B)Vp3NZ5-DZmX5t=< zG?(|5mLZ;fcDh>g{~WsBEn`K9+CR@XPTzx~)fI6D6O@8W7dMFX`vTGA4VivFO9|IR02a`hoZev;5T z00{NpIS!3{nAb`pYM93^3+aFVL2!7`HZ+1q!*he5fxBAl^2dgP@*ieJ?Vp=# zLd@pjv%7@HP0onwNSs3av;D9x7Z<+*&EOENWVv7$*K6V0qHhPV#;hg6!_;f&@e49G zUb~&~DQf1R&sHYi1&u%uT9sQ)v}D_~>fE%T7;Xm`LS23PbABKS!S6teRgJN_X6VHO zH1=m&Zn)wQoXDovi>y7t%z?9MbynJNR-vKGD}c3{cuPp-Cx;GZ+B;Xj^(}e5rvoLu z(@6|4q~Vd4KFx0rz8m5&X?Ln?xy2lOt3Q=fE)~CZzCI@{8>k>&z$s>BzU_3>|1N#t zb+#h8)XO%P_EhxaGgsGN!Qq+5F)-59+?L0|0?$vEv%`aauy2nql+!aJ(IKYImN^{M z11+9BsuA|wG}-&-Z&jW?S-e%<=9LLejrTW~)f6M+P`c&4m{G!zj#6XL<8({?*A_vi z^qaX{{JKcp!9_VEO0z?vDn8FDhSgQw*K)P7YUUT6(GGyIm`pb?@OFaYV5xahoXm`5 zI0#?GtQT1C6))p$ssc5b%frmG$X$BnHlh} z%GZALUQ8XA)-k^PYMNq6Tl5ZiTd*!M^JfhC(&LXGf@%f%Te|66#dg0XUmqs_q;JMB zX(_~BD5M+;Jq)pWoFV1^=J$pDIu>Dj8*Z;u=Cu7_ofld=(k-J?_4rUa*KLQc+Uw6^ zr;M~?e^kOuo}}|YqCJbnOC(#)6+QSWoadgjb2tv1P1tD4s%n$o!@_2Mvu@$mNZFIX#F2WY#Av8msQH91L$T`Jq zjCg%F1k0Uh`AL)`z7C631DmDQmg#h&CD*frwYll;bh-@|3n5K3BbubjHlk7LDST=Y zHP{hJ3VEJL?QLntP0T+~TasJ!hJFqSeQyYrpw>gu7~QNeQK?9z6FIjCj5pfCjWSYX}5IAa4NIgcuTY=ozw-DFyi%0;{~L$k(s4Gipkepp77t z3AJ}87u;zBlr=2Xm>Xnt$>tR^GDyH*w$shTMJqY*EV&JVA7jb<>0dK&Q2MGc>Ua&k%z7{2CX+zn^-fk#*-&WDxB3uVQdz z{*=d=n-(V9nPS&nl$eJ;I<{BdH=>YzR|2lnU^jUH%c6=Uf9>R7sy)=a?VF*HB6Xxa2xUaLbB}TFqU;oS< zsX)+!6i*Ae7>`(vc5L%Sx_Q48njWVAf~5`=ubcBWqkSdTk)fHP_ia^yNiRrBc_UY} z$~*y7opu08sjPSfdv64XG%+$#ta5sr)GSZYXVX`Ukn`H!Hu6@tbLh3+SVyTVa3r_u zBLuj#js=7{=$2F88)f?6qS?XCGeZ5Rv+s+Ni7T{7Pns0Nd1dh zj`<#Bcv`jm_rm`B(N-T1MyEX8QjzPso0)aMrgWpPuMv`+nI|`cX6W;@A8arnf>w|B zMoHB{wJk0qpV^SUK}wN>Yd`6D*8WQbL#u9)-N6qZ>eG~s3TroG`siFzK3@Ciil0@# zTacg0Hp+G;^xSJRzy0R!s$DKkVP$UTe>fV5#D6#yv_Jf+_4-clXN?r6Exkuy%7*#s z1xH`Zwx_>yCs85cZ?6C8w%H;*BfN0EWzSi{V`{wqurv-+#SF@nVnuYSw9m5?_i;BOd>t8D< zqF#+eaNil)V7eDS=3O}x3|m3lHgBNt zZ^+nP<=bLV3K+@MYq(aHA3uk?xQR~_8*DFPY4v9U8AkCBTjLCu96X{~_|cO*yie|> zFq*yUupAfgHlTa>;h7MEo%XUZ@ByzTxnKue!#|Gc`Pkk~2Jbg>5f+ixgC$3y;p;zs z&n)kbEaR?$W?|qLgX*bB1AesnhPEX-6Kx>!_t-*Gk^aLY#u_8-Z-i>LMw|Fdk0hB+ z-4~3MOx&S5{z4g=omE=bm1j#e887-NVl1QrUf5!v1*LoEh-*$*!>awq2fj0w#y}|? zrun>rKaS37KYZI#KcP8iTd@)(_eFb_yVKwfE^(YfI|%w+C+VUinnp2sA?g`p19qU@ zq;x`?luu<)mT^@o_paZfdxpcmr#YH&Asj=qcPuTV($3ejByvY1fg6&3y6>}ur!?Z; znxBH{YzOt*=dKs|l;60|k|liCw3EdDf>?JppP?_-q_=;Ym#%1zrv)cpp*xUO8MCO9 zWq*I1`Hl#SRG*BiQQO0wTooR60e6b%(Iw4aF6~=n$thXvPXB>|3|TA@dn<}O%=hdd z_SpW$B-bJxFkW%mf38-{nysp66u4nxs;xdW!>ANp8nt&fsuY%(_{yUbwV6Z{pEht> zGVjakZ)z5ZJ!WCx5d$%~f5t@DM57{2xOHYUHLqJs@_7|e78Mw)kUBf~^?eBdMJgnc zqfiXZCeqzX8Wvrb7c3>T_fjm>FRHPT_ z*Q6=KkZizlAlf>KZ>PdgZ|F-|#9JIra&8}cNM%fy+Oeg{k~C`K=W53`J;oZkp)dCi zVN_NS#ua<5KvYpYM=?Vt!{ z#>PZKy`X~4WaHV#IuzS?g^hN;ZS>q9{Uo<7v8uw)K3aa~s{Ru<5TH|Ve{8?| z=A1-qmGck7Fusbaq;#6mf!ANYk=;WsuUXYvn2lW~K<&{gd)HPpmYI_N<`HD2@L@ z&KD$H`mU_DJ(GJ57Mj*lkid(IfNR;L>BhYmU^HI*kU!I4YcE9)W;JnUiXV0Mj3%+a z6r3)3KuLQi1kLBIce> ze;VR?(hUhrog18jM5V1~w(>31_-My^mrVKxN`o&B-N7D!xS|`^Y9wpB36fMA&gFEga5@KG|%DP!O z+Djo4HzY&tB=(OioE^;N(j>Fo%~y)8amFg_3AYnKi+t*DZ4-0H-C*(GH12;L)8mGK z(h}KdbF*=YvIVRw${xI6S0vc=!)C)s6`2)T-Rnvyqg(6V_?Rm@T!O@Xg2NO~5?uQm?b%8Y< z7IsAvbaIYn>Pie^I<01HuIMl~{tr2N!=2cVhIo^oR3epHzx_EA^tOCYql?Rem&@&L zkAV!MxyT%hIdY_v-Sepmlx6CY^hZ~PnTWAJ`x#T7CPjApEe@=!_-|)#+(ui(mHeo# zm$!I+9mDhi*FYtWXeOD@oXFHL@i(-AF zo|$sC6C6~0=x*XiUFU==6Yk$?A!|9tIk89b)1XeO9vM_4t+GBXiO6<@dF=bRjh6G` z_dn1*GQYDr&~g!SSo7zhr`&gBC%K?Cim+7vCth0M=kjqyR@TqDlW4wWrMrZ{ntrL= z&f7Zz{S;Y)?4?47A0L$H%4O-h|9Q@*gIHfqDg+y?$4;2Rv|~in9eg0&aca5K+$h(^ z$Wa(plTpRMd zuf1f8eMISsH6NR%8I43RsOr1&^NG4!W@43E%s40KnRSy`i^#(aYZLVa)YCOKTWYJ+ z&Pe9K|LDdfa#f9mOf z#sp0GLUM@80`|?;+%qyG1t!A*`rX`F8Zvs!YkpyRu;l7HAVRIKY!` z%CgX)Y6m{Ep!nIF(-QF1wPz>qRdJV_XQ6YjxRqWvbx*KW#3P@T46C(*itT{5j%T~4 z4ZO8kEi)ru-n1qEcuB=~5n(`a{fXU91|!n>{u}f9kM-|2cg18B6#XpimM3=xH*POtF1#e6YpBgN?UAZzEej60@EiS~TlSIwW!bI6vA3h?#MIto)Pv`F|`587_XM^Po35)dZnD<@w9{+)Y z5DEEXEUMNZ+^A;(W>{l6?F z_a0a9b^2SLCThyjQ;rp>iLvKb(vwv>YnYVeNm5AnrOTO&fGU_f z;f0*EDO3`g0%aoFvl|TZNx0M*8n0XPhHdLJ>j?~GU@F>#t&E_bT&amz$NAuf?26{m zzXu+?QlaYWJ5eKouAVEHf^T7s1?9fzhAtB+x2I@T2`*DnA)PjaLzT8)qzzCSygiRFztkOL!>cQg2_ZwPOAPg9 z(~La9M4Ct{9=mYL%s9RCG)*tb*6x?mE{_+Ct|Dj1W?yG=qhUAwX8bQ&5Vg6asdMp3 zcI*}vPOEOCIW4Lcr|xr97tuKTd+LYk$ja|$gIv}>Y=RheN=*@CA6sug5M6mnMR$(x zo5`=MYkN6K2o>P@1-{ewIsUjyCBewm{8(Evj4W<*tM(k#5VZ|!cE~SwCFwUnNo&wf zh!w}NRqM;$Im&6|LgcEFH3i zOxM=JSROnXP@&BsNXA9$j*c+fflb;Cw@BFCH+rX?{Nx?wiu!C$R&7!%DHkdBv`i7)eLo#voPVJ4`l%cj-h-b?iwRVVbj zXbu%oDg9SIaAU}*oX7S8Fu-{o>&2umz`2_t^=twI`CU_ax0?W5jtSH(Qgh*H5l%*E zCHO-r;?xiBbwD@<4XC@Y0&X_1w35aNGLv?}7bqS6-eU6}n$|`m30cH^qVyglMscevEz*}wCyvtjmK z=UC+G%{^wWMr@;{LwJ`X4HYr*u2^_q1isE+S%vfK2O^PJ9w#G;NR{Mqq9CVaG-}`% zqm;>o&(A_AHqz;@F>)b3!+m(jQ!%De8=N=;Z6Qe{e_tOn{#TC+3;1OeDGV-5C248& znQzJ8>cL;chyyAjDk_E>0*^@a=92+ZW&Z5j$49Acv(VrJ!O3n0NHz?@;j&15f}gcC!LEa_A>n6C6O5ZG-+z?get5jmBT$qu*WKZDx7#pJib_cI`#Z~ z@imc{b96Yh7xB;oAn74yuyRJ)Yl_Uj)Gmy_=9X+9)sZmLYrNhOQ#mz~%dIpxZm3Bw zhIoi^L^nMjil7suXbXKg>_owXf@Ws8;z7kD&5+obzUWQpAe-8NTRI%7zukD=8fhd= z#zp@|07L?7W{H2MdS~!k!~kmB5;}d2;&Ww8y;i_rdkXndgmVjCyTotEWV#By!Y)0T zz4Y*%>3OkKcJ@Tgd(Y4heXkv6syu8va#u+I)%hI{cWk{07!z$stYscky4Yh0SUvqW zrYyZ@z4~<3B-i_F{N<1CwM*62^|hr(Z#;JdZWLTRqWW~{$?4MyFMz{{#6N$l z0MPaTiW=R_AxMEycVMI%f~tkt8&bqjI{@}E6fm~Wn)bl0p(TxMehWcT%mcIpXo!(e zi4KHqQvjl94=X1^c0 z=(iIb_|$6*XqiZ0=GP^I3S3U>F@Ot#Enmm!awmn{*lgybF|qX{Sedo2#YTz|9Eu=*OY zvhiOdmClv%V;x82Rwd!Lxmewl5Rt^^2^y?raQq4bA`p(}WLn84p z|A7J*?&}Mecllj5zJHTg9YftZxsuF{ULVvF6uKi)zA${>^KG)0F_A zG&6tk~LxmOn@Sa~2?U~T!eN`^vRC8MVugiO$;z<$JOS^ygyLxFm z#xwex*KTj^IKzsonE6GIF5eWL3T4Z$^i4#nR47! z%Qq0vBe;Q~>nJ!ACb2A0DS8_4T({>i-6*X_68T-O!A;8H z*^f_(Ll`Xgma-sauhyU*3Kh+4J9jyE>)-t;$nnb8`^jfjL$|w@7L)2L{b!277XQcq z?mnm|js}Qu zv71@^>eZlaACoMq>00I^{kP5|k3lTWVJCr-MU)SwCH~cAbCdBzntbJ%d28LuZx%<{OShidyiDDfON+c}Lgjw0M<~(~Nfj4iYS*PRh9#Ul|f|d*MJmwHnMTK}7 z!6OXdp8)S8gdgDh!D_L^%y_#B^3H!>5$FhG3(q8eiaApxKgq$R*SnjaQbY=HhI zJkSe8K-B>O4L%^1T@nQYN75QW!N^Q|MH^l{^H^^jI*|Hajk;K`!LWo*#L@%P>rXsQ zn)pMIVmKKmXKHY93yr3$NlTlZIuAA68(^vX-R3F!;P6l2dU^F(!PN5rY9^FxPxzB{svzPQ|-Iy$wpQ!Oid{xW7?%8vqo{h1~xkc`u5&i5*a!V6=b zW-0-6xK}vrWCu#&u#A(duy9g@a6vGWeFk_AX0|lPs z+b_)D<$uuhJ^bF`81PYwo4ioa=iyxcrRWyNRNx2}#fOi|vWoo7R`5A3Nxu*{u*!VG zhz17KF+4G3-@HpJvc{d*ElDg37erEv4L)l1qKwXKVVeiD8o!-;v)@7GKB}rR*Toj+Yjy*a%D9$?o3>Z2$Z3$ak;ae9CV`$ZgJXOzVpjV$3Cfur z0DQio%BKsY99df;(R>lOsBI3{++1q=0y@F#(GG!@>M>j(11CCA6!tTE837aJbLCD? zhu-mD5~See26)9}z_ro*aOoRV!U}5 zeLKB3dHHsg#KjZq(4dfpz=w(7WDyEE5%r@P_@bEj1RVf>J)#|8gL4jK68K5sVi?9=F`hmcdgSp;1jZ6w zNhb&*a4H){m9(*3qvq5kY^t#sdHm|saDu$5WT68h#2gx58ERU||Bx2kZga@UBr)}M z`%TK{Cf>l8oK8rwr@p@>R)5;fn*Vm5LJP^L_~UVPQ!&z{E@Ah{FCVB-*Q z4v(jSKRHB?pDkMHJxf!3G)gC^DmO;5hB-)0`JCYY)ma4;O`Zms1v&H+9Qdaml)s20 z>wg7`xMv-l9usqsKbuXlE_g%YvYB{RUd-EiLL{E8%|3!e3=MqsFlI_vDk#CdFP*Fp zIiY{jDtL2KUAFLLd2QX^56fQ+;?d6wm@v+gZF? z(27-A-bh*>i_>{;Zk9x3ykJ!1x)Q)loOYsubH|YpFs!%}2%*=_&fuOJx=)PVKpuqX zFXkIpAH%M0;^8+2utPX7jPh0CsiEM z`d5b&?~p|I*QdP%ND^s(WCD7$cm?j?^c1a5Tjnxvy=8dP%Jt{xB$Bv)@$Q2Fmsyac0Z%&$!p&nXMX*7sEnk?0G;u@oQ@QdUv9~;L<5&DOR|Xe!g(J z`)WEBDWjEsRF$T-sg&w+0D%BTN65DzX)-_nxhQXH>S&1UqiA+?0DxYM8yzAZMvf^KCI|CiQbY0A zF{f#SSibjb0N$DIC4C}{(JoRO1*)W_wfBUMR!h{5;Xf;zMZXQtucEDP9202Bii^I* z{4PRUn1)&#@w;eJR$^5Yo?XP5z1T6P8o()VbIP>ky~XzZ&Z&6pSqjnbRkzDuj5u}S znZ-M1fsTx}var`uF5hl)uEZBi=Iwtyd;N3o?bvje=b-e1uToQgG@&v0uKfjsB!QK&rt(5@Xu0+orsY8-6YewSR2Q`yT6$of8d~ z*{;~Kw!OKpCRdsT(Ib{(ZQ|GS!)>DFV&T${yq@R#K_^)sPgd<-u6-I;9N+aMwtxL7 z|JLTi+bQ?NN2x{$O)jMXSy&@MnazM&w;XFW4oxQOMVc7IMl|*UGUHkVWdd5k07>rl z89zO)0z#M2C14(kfn08&0kk?vKOqL~MB>6+Oy=|*~w0|g=6?Qbrl`77+d z{u)_Hhej5m{iy_f++GbZHI;u_^Bv(fdWVb$%>mrWG%~9~Gr7#XZ#Y5GJ)>{($#clq z=sy}*_5;qcf)&&QKbbx~;DO2(J=v|kG&TRU&}^Z7VXKP{rHdbdeZF!bwpRvP2Auv~ z)EDa^K3}^WFaIR|#GqQ_RW1MP+jnA*8gDUuwc&@1s>M_>4gwSbal&NWGFbKLHXB2J z;U!Js!8Xkhw$R`MR@&1(Y#XO$e|nQD@l&_|y+I=HDWfE`slPZj832^)dd;qCe~42* zBeTJc0WwB%2Q>DbK+#1S(~_rSPA$pt zbC~K#6qM(qFC2p5CdgbR&PXGyZ8Y@{nlK7*#0Q3fb1I;O2N+&pn<%D@@6VWhZ(;PK zp%a3=EeWQCE#`ND4CWrRk|a=)swEpND%I9@Pnt~OAN@Ez`?_Szi(v_U`IUINkl7*K zm}eDeXHkgnrm9(!HEo0snXF`@J!aP5SJdXROK}bqFK?McMEgXg5oX&WODj9pH)iB4 z1SIzM_Ajcv*o$`MJ?jm>eJ$B4IB@`*V<>Lafq;%UAO>+WqA9z{53c||OrIvj>p}ez z6<86K36gQA(bv@Ts$=k3h&7CEL^})*0+A;GRtz9=tPTmDp5$|54l6%doEe1ySucU0 zjDV}7pqT5Vnm2yuaLBmq(b#e@K#B_^`LJT_to_JHNTKAT?PGVD2Ug;^E1RtF6heGi zwQF&~h{s~9m8ZeO#d`4F__`>Htk$90oo$@ZUqx1F4cYHEk=b^5O zkCX+Y2J|@DBxD`PxHX~?FVJ5k-(xdl{DLhSD|iPbNsQi!Yul4v@Az3YrT9*B^PU5H zWk6ST>;4O?H!+_78or05PyUgVg9r-v8jz#GU*$a}s z<~S$67MRbWzPxFr$hgy?F8+!L{S<9knd>$n!~o>vp1*Me4+=HmU+Rb==na*-KmFb1 z`1Ed9w%GSZ&vW@dwJtT9gj!D(;%4dH2*Deve;#Fn?+DB2%;S z`5tOEqe769AuV;GKA+ejGZVpl45MFO-XQJiQP`w%(7 z$zBstNx@I;(R?R{dVSg97I+X)paS!e9*ogqEDx;U(Y?YH{}~#&akuj<-{rrTIk@y9 z*9-WF;ym8E0)>FF53ja3e&%x{2=QtW00}}4+tH=ug+A18U>w5O+&ri@sSGCmt}1yIIZ2!^j8bAZan; zW(EKaLTPTqkmF!#qf}=Lf*0$5K%YeTExBOwLSv7ws?~lfd&uE;Hc#NJFUm~spC;fd zQl{W~;y_+WftTg3^)!?P&R;F62p(DPG`|?7#`VPZt!k$jsv)#6GzR!H|W<%?)V35FVDoSg&cJh0zE)XCLy(%L}i_vyd zAdeyIN1_d=1j)WYDL6FXs5s;%Qrby96S>T^!Ezu&4+h%l@Dg#KN4W6_42JOr7=jsE z4jTuf$e=2#wo z;8zcE>on{U@AJD;<{4GJT%^dX)T|_TP3PNy013*YYD2OK#13^3? z35o8zjb9W5MHtoLuYn>fH~^mFMo|zMN{bp;4>!046}V1KI+T5`H6L zME=!050)mKR9wQ^b@@J{$KAk!^@8}&oG$!_OZ{#SI@bDUHPWxME8K2ZrMzx(nzn>V z2%#-+Q`P`AmvwBgA;F06_IVWA4>uOkd*U#8^d5SJs`5%hwGU>iWE?C@CdoD_20#k}L-ZI02XAd{0ANP{M-+tNBTSK3L_zG}0!hvn8dqdH zc<;aJq5p%LQ_^m7(;G@nP#BsWq75qEzEvTUS;3?vPqg(9UP2X10`0BFQOv6zGY za|^bIy90Gx2f~9UJ{4T8YHn_)`H%ITzne1$zxvlNRgANLO~;3 zqWY1_)ThGdDkDtf#n*%-SQKtb+s?*CfD*HAE4TcnN~pnkVJn&ULy^Fp@ooPTp0iXD&u5I8+5a{ z*eS%{>dcmzk4X+La@$Is;dzX>Lb@+K1|RoEbZ;XyW7EcCh;R%|8%%)NH%d7Fdjv(BAjpOQ%wq$xK3cE_(=s_r{}jyE>Zv^QZ3Ugw zP4IYfi%55Veft2De_a)}y#F2d`%nR_qr+Pky9mc0Yjuu2Sq+=VNu>MFvrqptJJQOj zJ}1g&AKceaOZ#T7!YSXNY?h;#6)Mg2=(isMf$`NL$MIv8(jxC^DH(O$>F#G07m2xP zC6X+s`}ET!E0Y9^jQIzZ3Sr#?BJrm9*v}IYhV7p81|5G!DfE;qpnIzkLC4xAluN71 z#$=3_dywDB0D}ATJSGdlyR1G>Bt_gBMi{^ma%3RPoGAFC`GJfZK${;3d3uU;&oaM$>kNC68aAmB;eY!_IlU4WPJBLI&O#R)?IsMF6!Nl z=&!BepSY3~H0zM;{S>^c@4HkA^MhSJj80`aV>=yu=#A3X2s0l~)lB}-{Ve($DzR^V z*muHZf??kaSGAiuDZ}SY)H?99Od=Ifzl2#u0zK|L$hWrrxXQ9^lA{-1^w(nV!M%xh z$a9}Gny${{jjppE;@KFVRc1B(vi8flrNhD#%A(j20JL+NI8GRk?gMdidl|q0#$E&s zoJoDWUx5P0ig`L9V?61hwLIXYKp;?~Z-FBT3g}emIzgBkZq!a)suqRMR;0e=9wM^m*T_7aw}^!mRveZHTEt@S>ts?0{AjgUQ^| zMqnAf^HPz=*Lm{Ptke8WXc4*2FW1oS^X9!{HeM0-;=P|nGtM^)ISlsS_qqO>z#2T~ z;nBrRHX(i#MI0thy;$jfHuQ{9G~mZ${V$`x%V5g44$4vmvgsm5Bi7^&Mty#31P?~0 zG0ciSMjw28iYE`bj4Bqvj^;*vc|Rtx9#g%ORtAdH>`g%X<$@%WapeEVLAZpHB$S`o zO=zUHT{gGTRi7m;&Xfj~A+!`g0vxeKYCxbH!kDXPI)^(TpAzSB5*jR4lNiEqv8k;$ z#z|#~s=6)lqV6zBI!=yFbCO@^@a50Tk<=g`!uQ8xX109lQl`q;?q7Tqno(k5hdwV) zT6&ZClCy&XHEVU)`MA`tr4&DXYCV4wr?E3kBeuHrBu~t1@<>|v$XTnky?2xws;j^{ zU^rR;AO&6%xp$%!{_Wp~)VmSDKHvNL`Eb-pChW3${C!^_JfLyY`|^#N{RDagWxDYh zKS`WmH2V@y87Z~?Q&v)b7EqP|rW%9V)_zrXU6dc5L`zN*4VpJ|nM@rggC<1Sx#LUC z9cpH@Q{9kIP=J-QbY|zu70(N9a+!V>`aH`7AfTkOx4YQ-FY^q`Jdzt8KN7!Wq4P^{ zEIRoc(EiDLgYZ7kWLH#;oxGifiDczUp?@(!>KYt#l< zXIk_~OLeWnK_%aqr`CKjmJnxV^3U0cV0@AW|3rV@qQ&W?&My3ni#{U77Siqfvh6JF&iQmaF%#%m$H^zdsyZY}TQOL?({^V7d?foOK$sCzf*C}gZytA{n* zKfd&D4VuaGlpek#wl8y%Mn@+%BGr^)Lh>IdJV+W!ylOslY5LCVRcnO0CA0alihA$v zMuj1_sP^tWhGnBlB6pko1*a09guM(4`kfZiZve7bNWe%&l5HXo0Bhv5HUuCL>fqxn zpn`q_Is-DWa(}x;vV82v0bzPVe;C>bK%p6s-k?ZY35{BTtKvWWiWw%bt;fQux7Y&+~*7I=I!;)1>9r2ic-; z7X+D`r|uKK$IJO__dH*_c*|q5Q&hk0m6*@{xYa89e)p(h059RtC9kP&&Xa{oes;1( z)7ox!z*z~^FNO#iGgKKDTPw{AmJoQNr;vL5(daS#0m{gcwb;q47p^=qb_U%S^3K$oMnIYm-7tb*lRJl?GKR7>ze0 zBF9V~(6LD%Vkf^*NV+Li$T23$&h0Arf-DYt_DJ9hcZmjp zkdL$=C(yAV5@RBwcL;3Ch4EN2PPRZjG##%3qQzf|8^S#ZB21GP?tH(6rEEm{D~O}3 zUt7I~NyjF(J$H4jsrF)P7#xoTnnE9aJ{4fRkTJs3ahGf9HBXQ{PhgLj zeNvd_`->t`+OFZ2rngIwGZd~rFjMkO>afG$aGuKSeuZ3q-Ydo#gR`58HLlDLU&)t7 zQu_r%QdDthNsc0+dM1o{WQdaqLWrLw^g44hT(5w}XY7zFrh-@TT zi`Zeg7H<$G2CNsmKYpi5($7kSFn}@zi!QQ&h06;C+DlR>su6C-g32A%`Frn*n;Z4t z{xh~cJv}w)WuP4lda-`qA)2)iYcqWG)4=u9$0-?`r~CWVkF1>k<&ibiEJ=lYEr>7K zmWrDYwQB47c>7|3p|wrQfN(B$QA^86+-~j24^Bomwx%iKIO)W8 zu-fo%CCaht#k7m5#X96S%yY@KK(){0x#p)Sgh*52Ve=Meu{w3kwx+DW;j1LW_tB<@ zUy$uIU1ek4dwaBzX0W!in!96X`HK_(fkF*Vd&l64DcJbV#aG|Ek`%5fstSAW`t|!( z^6%{336bu{uV1Vco3bzccs|unWV)>?f6sEx)#tlo^uxxAZd3N7mm+;_ic?nowhK0j zKKBkQnred&wwtD`hriRP@6$2F#-=j{+@b7H52D#>#U6(9Dv5wlF{*@~tW z9*bxh@z)t(J102fr_=@rnot7m`6S3}bfAT}$vxCdSokbV0GKvpzHuWFlBN(qhmQ$} z($>lVVWLcBk@M0sfG{UpfuZ&$SeywEY_gP>jMj+H`Qe>LX+Y+^w3s)vD(5-N<7KG1 z7NY$2TFh74ZQI-~Nl|YTk37CSm42m{Cq1{e(yN6h-u_w)uP1uK9d@lfDD`SgGoMh| z_h|s~dEAUI%Ax zk2gS9V)za#hD;1$K;svs!;Qd!MF1K+1aOav(`IA<#i9Yc7yD=}&lbWJ24t?unt{5cJ?d8ywRjWbwUycvF*3y4{IQ)PNd=dY z#cz2zR93pxINIttb2pQanvXMjPSqA|l5CrLjU(U($~11#Ym19#EsG@*jb~TV;OSJz zosN89OlYDsv;4prSyhw9fddinDWuqxv61j64gnYr)|;;* zqXdqONyT#;i7{HhNC=MeB+O*Jb6hsyxqSS3bW@CaTtwkIpKPfd(6HbFrTzl$p)+1V8FkfVHQSl9HWdG7{)B>?2K;$eVsJU$5F z0r24P0>#xB3>%(4P6R`yiodd!$JsyP(7F~Me^5+GcZxY+pafX4f1!9#WLyb>| zMr^_e3h;3#fHngVjh|@+*h;P%xlo8E@**mudNajX)x?YfhZ@4Dl5Zb}6=ksc%jNkx zj`@p-@3H*UTSC2>PvJ0}J8IvXTP$Kd;kw+nWCn6*eyCi$>H4ce`TpH&6>OJnxU8iA z?`B(F$exwj2v3QtM$voqe3S7^~Q<}y{aQgVim#y`DD+F!0DzI-#> zMKBkuyWB^2OU)O7fn59`hPzMW@v-OrITI{UXF;JJXYo zZ+-GZ-P0FWV@3fCzbABhIjV&YN(#3<$vC5Rvel=SY>V~*UctI3f7f;{RVbx&B@ zIA@GYWD{7pvw_w9e(bj(V14@|YUcdDP3*NDRoM^pO|cQYn*LkLVJ}u+x;8Y_-K#I0 z*qW^xi&d6=zCIZsR0^#~ve@s*GOCaOJWcr2v?3h{Z?06W$wxYh_(^skL zd$+h9c`CEAz_@o~{Y99&7PX zPPqoye_Q7S9v2}IgYs?1aPQem!Cln2(dZh17)C$=?M)v8a(L(PR(c5Lz--`xAutJm zqsUN10Q5g3orfcv@7u+nL=XhAW7Srx#H`uItPy(@MH741D!Pch)fS^RwOYGs$DT#) zT18QSHG!r08TEs&d>z*0bL{6a0RJD^EJSwIGXACpEhLV@k|e1lSg}Hx@wz| zEwdKAQfuM#Xsixy`bD7}V%$3WK$%*v;Nnv`XoJ%#@Lw9y_fMC1$nUzQj$dLl#<2SG z`EjeDppC({$;INb?4trc|2Jie<;-51JY!}8eNAexcpjJdIDKxcp#bIdE5be_{oB&% zv+0XcUs!RUT%WxL`SS7Q{ZPB^bE{`>KUT(v*6sf%3f~g%you1cVwZeDbstEcXt&#a zc+UO6=l%FtuVdBc=lIL_)ht~W+QX)LU4Jzs?`rZ?=rKFuC|)Izs>1t>5)x_Dn&)uy ziSU@_kx1@D0RnEo2Q(oS`KJ#huWuC*+#4L;|NOfUg%$|I>tM$dODsXk9@bJ1@xkhXh5dJ(%sY@J z*l>|2-*R7+Cau?-1K{XX%R$#UQo)^0X>>R@Y_;ZCec{1!Z%4($(DJtBXMZO+rQ`$q zI5MzruPMK*{_HL`y0HIY=kvRulBImDeYxX{&+I*|Loq``KQ9{(B|Eyh-W*SUy#I3g z#G-_l)X+gRZhE6SgrT9Nfx$>I!|a|1gnGZ0wl&Q}X7Zmsj);4()FhA+?#N9(7|w15^6roimJQN6pXa z(e)?+pN^vUQN=6t5xKiP+w-t<=}#YMhZPQ`M|OVR=gI!{NLS;`T;e(}dZNyAim97M zkXxlT(h;1f*AMN7YrqPPzZ1$rC-}k$1Pwnl6j#$I^S>5}JKdFL2*YoK? zG%W5UP)cb!?I#y&D-DLWw|fa`oKiZZekK;O(rx6hVNg#v|KJIulC$ zqM!N|_^Dju{%vWbNUfQTb+*{`&mNzbU9@Y-C!ghANVbWJ(BEtO$5AmEal3tO-jnr4 z6nga9BaMN^z;iCa(-M5VPEA6D`g5|9A|cMGN+X|wA>rcDakJOz?@fGZ158_y%3;$s z?04fXW;{PE6eSd3Jz};PY!_zY-}LMg&;JvJOPDqYH*&=;`Gb!iiCl@o{XQ!02cGZ8 z4+&*24l5MwZguqZc*{P|4V$6AuBlE~0Q72Ig=m~%+hbS=$L{SaDCYI;3jHuRHc?8D z4x@`P5Ue2EOmr`S3$m9x%UB9Ra28A?BpgPINL3I$?g*&{Q-@A7Nisknev0))5@9KY zQQs+xDCk=!@{Jm#WS*v1sU=J>zLB^@Ql(iy9Kr$?#l~*js|(E3CC|p_sL%bL>yrCD zIIJ;UNUQhg?Rm20Brg*DbLb_qPN~{3O=#ckzSuuwlTPb_;&g{ zx3j-XNsC#vJ395YiUMjc2X)K20e+%7cmYsqgtk2* zG)t9W6@(9uGeSJl#wpP7fGQ}!I3xAq6f;s7=@8KE90>bE!BnJWSLNQ|PhrI+`zWil zSeov6)%@o~7)!{of@Y?jA{JZf&SIV1|CyzsdtZ`3S9Zy)QYW!R=dF@Oyh$SEpVxW<_Sjm>>)hw!|K_atSNe-7L^Gtc9rwKwG$ZXyYH ztd~Z(Bl9Vxqs*l@a7YBZBtcqTogJz!K(P^(uV&1^6mO3i0V}gbK^ew8U4%f!uF8A?8aC|k&kDW2zS4@@%mk=#dK8K0&}^A z1r5%fnS%@Rp9~9Rt9L{j;DtM5Ej5d+9_$vPXOwnWz1@SIKz(6_u_vt6$^w;ySN3(d zL%*`XYhIa0Horc8{@Zi*V*KLtvS+pNOxM-%f&ZE~rdPzWI3hh-7yxzgAxKOiyeG&3 z=2;j#7HLS|M0cWsG-FIb+Tryf!qKC{d184+sBwfbNorIIKP4Cx1t=pJf%lOJG(HNv z8Kw=w-%fCYt08E>s^J?DI^cw#WFRtpqaRm><9+oKP8NfO#=%YSBkWqOh**3IlV^F$ zR%%afga&_fpVqPNy*;*fF=O3``PNryA&s@?$7!g)g3a+lbZN}ZbpZ>_bEO2yrfPJV? zHGI$5B5nIeA#vy5oyBU4MQOC{LdTkKs(#xnDCJr-=ND0G6YTw6OkZl$d zFnBh&4sLG@&mA6z^I<@6lj`7t+41}|Rgot_WF(--5jcVd2*V-S5iGc1)Ncsb_nx04 zIWn3xQ8FQw9*3itE>!;T!GpurH3Lds&;xk*iUw8{Zt;D27TmmJmDAeS4`;p>UG?g( z0P~l1MRKG(>yP;E=6Ugtt=^(_c7MNeq4W1aJ23J1~d=yD>O`6Ln9cc!WhP_8YrTgjBT5q0+lfa5@B6B$y zNVsn!S%FWmlUGPC&>19!OVS1?pTKHgizwpe1&lDH;W!-uUBEH}m;e(fMEi=>yg&ne zl(Z}%s;U*U?>-ku@f>J-J0dd?59_o}*O^b!GRc`6gRI9K@`etTFi+aL z7Fr~7qZS2Ngh6}$jA|}z?MV$C;FB9&!u`H+|Dt|z*(Y`VI?{mUxtOQYeVy{{u` z24O`9>)MpS;g7_=-i(2{$lY|*pTXEs!1EAw(CZIHY2evx5G5@fYGe3{Iee~OP6Z_n zB`rF3i4Q@b2Q18<7tm)R@ya?urYEM#Z>jsJN+Lv zcP+2$MdGa;k4B?Jx7mP4+e)T1oFboMk`!`aa<9Jqy;Yq@U!HQKG5 zIQR6gIU4!AsuVe$M1#~ z7)a^m#-r8LQhEv8FsH%%z6_EHM(U!)lamP^05Py+J)w-saD<=*NpMCC?g>mNBhZAj zni!q}O+&!+Ldb`4+E5Y=6h|SLVEtM(?3Oc%0Dg7dabr_Fem+w@8s!+nrl|M)kW@@t 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