From f9561b8678f9927e2ab8237259d4017b1bc1c153 Mon Sep 17 00:00:00 2001 From: lana-k Date: Thu, 6 Jan 2022 21:29:46 +0100 Subject: [PATCH] clear branch --- .browserslistrc | 3 - .editorconfig | 5 - .eslintrc.js | 30 - .github/workflows/config.grenrc.js | 17 - .github/workflows/main.yml | 54 - .github/workflows/test.yml | 37 - .gitignore | 23 - LICENSE | 201 - README.md | 43 - babel.config.js | 5 - karma.conf.js | 203 - karma.files.js | 21 - lib/sql-js/.dockerignore | 2 - lib/sql-js/Dockerfile | 9 - lib/sql-js/README.md | 101 - lib/sql-js/benchmark/.gitignore | 4 - lib/sql-js/benchmark/Dockerfile | 19 - lib/sql-js/benchmark/README.md | 14 - lib/sql-js/benchmark/karma.conf.js | 52 - lib/sql-js/benchmark/lib/package.json | 5 - lib/sql-js/benchmark/make.sh | 21 - lib/sql-js/benchmark/package.json | 23 - lib/sql-js/benchmark/result-analysis.ipynb | 207 - lib/sql-js/benchmark/suite.js | 140 - lib/sql-js/build.py | 86 - lib/sql-js/configure.py | 107 - lib/sql-js/dist/sql-wasm.js | 94 - lib/sql-js/dist/sql-wasm.wasm | Bin 1332232 -> 0 bytes lib/sql-js/make.sh | 9 - lib/sql-js/package.json | 5 - package-lock.json | 43943 ---------------- package.json | 62 - public/Logo192x192.png | Bin 11428 -> 0 bytes public/Logo48x48.png | Bin 1101 -> 0 bytes public/Logo512x512.png | Bin 69949 -> 0 bytes public/favicon.png | Bin 774 -> 0 bytes public/index.html | 98 - public/inquiries.json | 1 - public/manifest.webmanifest | 30 - src/App.vue | 66 - src/assets/fonts/OpenSans-Bold.woff2 | Bin 46552 -> 0 bytes src/assets/fonts/OpenSans-BoldItalic.woff2 | Bin 42332 -> 0 bytes src/assets/fonts/OpenSans-Italic.woff2 | Bin 42580 -> 0 bytes src/assets/fonts/OpenSans-Regular.woff2 | Bin 44672 -> 0 bytes src/assets/fonts/OpenSans-SemiBold.woff2 | Bin 46608 -> 0 bytes .../fonts/OpenSans-SemiBoldItalic.woff2 | Bin 43652 -> 0 bytes src/assets/images/Logo.svg | 13 - src/assets/images/Screenshot_editor.png | Bin 85220 -> 0 bytes src/assets/images/arrow-hover.svg | 3 - src/assets/images/arrow.svg | 3 - src/assets/images/body.svg | 9 - src/assets/images/bottom.svg | 32 - src/assets/images/checkbox_checked.svg | 17 - .../images/checkbox_checked_disabled.svg | 17 - src/assets/images/checkbox_checked_light.svg | 17 - src/assets/images/chevron.svg | 3 - src/assets/images/close.svg | 3 - src/assets/images/copy.svg | 3 - src/assets/images/database-edit.svg | 3 - src/assets/images/delete-tag-hover.svg | 3 - src/assets/images/delete-tag.svg | 3 - src/assets/images/delete.svg | 3 - src/assets/images/error.svg | 5 - src/assets/images/file-export.svg | 3 - src/assets/images/file.png | Bin 10139 -> 0 bytes src/assets/images/info.svg | 3 - src/assets/images/leftArm.svg | 4 - src/assets/images/rename.svg | 3 - src/assets/images/rightArm.svg | 4 - src/assets/images/sort.svg | 11 - src/assets/images/success.svg | 5 - src/assets/images/top.svg | 14 - src/assets/styles/buttons.css | 63 - src/assets/styles/dialogs.css | 40 - src/assets/styles/messages.css | 6 - src/assets/styles/multiselect.css | 136 - src/assets/styles/scrollbars.css | 17 - src/assets/styles/tables.css | 109 - src/assets/styles/tooltips.css | 13 - src/assets/styles/variables.css | 53 - src/components/CheckBox.vue | 105 - .../CsvImport/DelimiterSelector/ascii.js | 130 - .../CsvImport/DelimiterSelector/index.vue | 204 - src/components/CsvImport/index.vue | 385 - src/components/DbUploader.vue | 259 - src/components/IconButton.vue | 110 - src/components/LoadingDialog.vue | 83 - src/components/LoadingIndicator.vue | 115 - src/components/Logs.vue | 86 - src/components/Splitpanes/index.vue | 347 - src/components/Splitpanes/splitter.js | 36 - src/components/SqlTable/Pager.vue | 101 - src/components/SqlTable/index.vue | 133 - src/components/TextField.vue | 93 - src/components/svg/addTable.vue | 68 - src/components/svg/changeDb.vue | 53 - src/components/svg/chart.vue | 53 - src/components/svg/clear.vue | 47 - src/components/svg/clipboard.vue | 33 - src/components/svg/close.vue | 47 - src/components/svg/dataView.vue | 38 - src/components/svg/dropDownChevron.vue | 41 - src/components/svg/export.vue | 52 - src/components/svg/exportToCsv.vue | 62 - src/components/svg/exportToSvg.vue | 61 - src/components/svg/hint.vue | 74 - src/components/svg/html.vue | 49 - src/components/svg/pivot.vue | 28 - src/components/svg/png.vue | 41 - src/components/svg/run.vue | 17 - src/components/svg/sort.vue | 57 - src/components/svg/sqlEditor.vue | 61 - src/components/svg/table.vue | 48 - src/components/svg/treeChevron.vue | 37 - src/lib/chartHelper.js | 76 - src/lib/csv.js | 113 - src/lib/database/_sql.js | 100 - src/lib/database/_statements.js | 49 - src/lib/database/_worker.js | 41 - src/lib/database/index.js | 141 - src/lib/storedInquiries/_migrations.js | 12 - src/lib/storedInquiries/index.js | 120 - src/lib/utils/clipboardIo.js | 38 - src/lib/utils/fileIo.js | 86 - src/lib/utils/time.js | 21 - src/main.js | 30 - src/registerServiceWorker.js | 44 - src/router.js | 50 - src/store/actions.js | 32 - src/store/index.js | 13 - src/store/mutations.js | 57 - src/store/state.js | 8 - src/tooltipMixin.js | 37 - src/views/Main/AppDiagnosticInfo.vue | 90 - src/views/Main/Inquiries/index.vue | 595 - src/views/Main/Inquiries/svg/copy.vue | 52 - src/views/Main/Inquiries/svg/delete.vue | 51 - src/views/Main/Inquiries/svg/rename.vue | 51 - src/views/Main/MainMenu.vue | 240 - .../Workspace/Schema/TableDescription.vue | 51 - src/views/Main/Workspace/Schema/index.vue | 140 - .../Tabs/Tab/DataView/Chart/index.vue | 141 - .../DataView/Pivot/PivotUi/PivotSortBtn.vue | 71 - .../Tabs/Tab/DataView/Pivot/PivotUi/index.vue | 308 - .../Tabs/Tab/DataView/Pivot/index.vue | 270 - .../Tabs/Tab/DataView/Pivot/pivotHelper.js | 120 - .../Workspace/Tabs/Tab/DataView/index.vue | 227 - .../Main/Workspace/Tabs/Tab/RunResult.vue | 228 - .../Main/Workspace/Tabs/Tab/SideToolBar.vue | 67 - .../Main/Workspace/Tabs/Tab/SqlEditor/hint.js | 50 - .../Workspace/Tabs/Tab/SqlEditor/index.vue | 107 - src/views/Main/Workspace/Tabs/Tab/index.vue | 162 - src/views/Main/Workspace/Tabs/index.vue | 207 - src/views/Main/Workspace/index.vue | 62 - src/views/Main/index.vue | 25 - src/views/Welcome.vue | 54 - tests/components/CheckBox.spec.js | 50 - tests/components/CsvImport/CsvImport.spec.js | 745 - .../CsvImport/DelimiterSelector.spec.js | 109 - tests/components/DbUploader.spec.js | 199 - tests/components/LoadingIndicator.spec.js | 25 - tests/components/Logs.spec.js | 83 - .../components/Splitpanes/Splitpanes.spec.js | 220 - tests/components/Splitpanes/splitter.spec.js | 108 - tests/components/SqlTable/Pager.spec.js | 37 - tests/lib/chartHelper.spec.js | 103 - tests/lib/csv.spec.js | 146 - tests/lib/database/_sql.spec.js | 182 - tests/lib/database/_statements.spec.js | 38 - tests/lib/database/database.spec.js | 279 - tests/lib/database/sqliteExtensions.spec.js | 433 - tests/lib/storedInquiries/_migrations.spec.js | 42 - .../storedInquiries/storedInquiries.spec.js | 432 - tests/lib/utils/clipboardIo.spec.js | 30 - tests/lib/utils/fileIo.spec.js | 136 - tests/lib/utils/time.spec.js | 40 - tests/store/actions.spec.js | 85 - tests/store/mutations.spec.js | 380 - tests/tooltipMixin.spec.js | 119 - tests/views/Main/Inquiries/Inquiries.spec.js | 1183 - tests/views/Main/MainMenu.spec.js | 634 - .../Main/Workspace/Schema/Schema.spec.js | 182 - .../Workspace/Schema/TableDescription.spec.js | 38 - .../Tabs/Tab/DataView/Chart/Chart.spec.js | 87 - .../Tabs/Tab/DataView/DataView.spec.js | 198 - .../Tabs/Tab/DataView/Pivot/Pivot.spec.js | 493 - .../Pivot/PivotUi/PivotSortBtn.spec.js | 21 - .../DataView/Pivot/PivotUi/PivotUi.spec.js | 143 - .../Tab/DataView/Pivot/pivotHelper.spec.js | 81 - .../Main/Workspace/Tabs/Tab/RunResult.spec.js | 155 - .../Tabs/Tab/SqlEditor/SqlEditor.spec.js | 44 - .../Workspace/Tabs/Tab/SqlEditor/hint.spec.js | 221 - .../views/Main/Workspace/Tabs/Tab/Tab.spec.js | 364 - tests/views/Main/Workspace/Tabs/Tabs.spec.js | 306 - tests/views/Main/Workspace/Workspace.spec.js | 27 - vue.config.js | 45 - 196 files changed, 62195 deletions(-) delete mode 100644 .browserslistrc delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .github/workflows/config.grenrc.js delete mode 100644 .github/workflows/main.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .gitignore delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 babel.config.js delete mode 100644 karma.conf.js delete mode 100644 karma.files.js delete mode 100644 lib/sql-js/.dockerignore delete mode 100644 lib/sql-js/Dockerfile delete mode 100644 lib/sql-js/README.md delete mode 100644 lib/sql-js/benchmark/.gitignore delete mode 100644 lib/sql-js/benchmark/Dockerfile delete mode 100644 lib/sql-js/benchmark/README.md delete mode 100644 lib/sql-js/benchmark/karma.conf.js delete mode 100644 lib/sql-js/benchmark/lib/package.json delete mode 100755 lib/sql-js/benchmark/make.sh delete mode 100644 lib/sql-js/benchmark/package.json delete mode 100644 lib/sql-js/benchmark/result-analysis.ipynb delete mode 100644 lib/sql-js/benchmark/suite.js delete mode 100644 lib/sql-js/build.py delete mode 100644 lib/sql-js/configure.py delete mode 100644 lib/sql-js/dist/sql-wasm.js delete mode 100755 lib/sql-js/dist/sql-wasm.wasm delete mode 100755 lib/sql-js/make.sh delete mode 100644 lib/sql-js/package.json delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 public/Logo192x192.png delete mode 100644 public/Logo48x48.png delete mode 100644 public/Logo512x512.png delete mode 100644 public/favicon.png delete mode 100644 public/index.html delete mode 100644 public/inquiries.json delete mode 100644 public/manifest.webmanifest delete mode 100644 src/App.vue delete mode 100644 src/assets/fonts/OpenSans-Bold.woff2 delete mode 100644 src/assets/fonts/OpenSans-BoldItalic.woff2 delete mode 100644 src/assets/fonts/OpenSans-Italic.woff2 delete mode 100644 src/assets/fonts/OpenSans-Regular.woff2 delete mode 100644 src/assets/fonts/OpenSans-SemiBold.woff2 delete mode 100644 src/assets/fonts/OpenSans-SemiBoldItalic.woff2 delete mode 100644 src/assets/images/Logo.svg delete mode 100644 src/assets/images/Screenshot_editor.png delete mode 100644 src/assets/images/arrow-hover.svg delete mode 100644 src/assets/images/arrow.svg delete mode 100644 src/assets/images/body.svg delete mode 100644 src/assets/images/bottom.svg delete mode 100644 src/assets/images/checkbox_checked.svg delete mode 100644 src/assets/images/checkbox_checked_disabled.svg delete mode 100644 src/assets/images/checkbox_checked_light.svg delete mode 100644 src/assets/images/chevron.svg delete mode 100644 src/assets/images/close.svg delete mode 100644 src/assets/images/copy.svg delete mode 100644 src/assets/images/database-edit.svg delete mode 100644 src/assets/images/delete-tag-hover.svg delete mode 100644 src/assets/images/delete-tag.svg delete mode 100644 src/assets/images/delete.svg delete mode 100644 src/assets/images/error.svg delete mode 100644 src/assets/images/file-export.svg delete mode 100644 src/assets/images/file.png delete mode 100644 src/assets/images/info.svg delete mode 100644 src/assets/images/leftArm.svg delete mode 100644 src/assets/images/rename.svg delete mode 100644 src/assets/images/rightArm.svg delete mode 100644 src/assets/images/sort.svg delete mode 100644 src/assets/images/success.svg delete mode 100644 src/assets/images/top.svg delete mode 100644 src/assets/styles/buttons.css delete mode 100644 src/assets/styles/dialogs.css delete mode 100644 src/assets/styles/messages.css delete mode 100644 src/assets/styles/multiselect.css delete mode 100644 src/assets/styles/scrollbars.css delete mode 100644 src/assets/styles/tables.css delete mode 100644 src/assets/styles/tooltips.css delete mode 100644 src/assets/styles/variables.css delete mode 100644 src/components/CheckBox.vue delete mode 100644 src/components/CsvImport/DelimiterSelector/ascii.js delete mode 100644 src/components/CsvImport/DelimiterSelector/index.vue delete mode 100644 src/components/CsvImport/index.vue delete mode 100644 src/components/DbUploader.vue delete mode 100644 src/components/IconButton.vue delete mode 100644 src/components/LoadingDialog.vue delete mode 100644 src/components/LoadingIndicator.vue delete mode 100644 src/components/Logs.vue delete mode 100644 src/components/Splitpanes/index.vue delete mode 100644 src/components/Splitpanes/splitter.js delete mode 100644 src/components/SqlTable/Pager.vue delete mode 100644 src/components/SqlTable/index.vue delete mode 100644 src/components/TextField.vue delete mode 100644 src/components/svg/addTable.vue delete mode 100644 src/components/svg/changeDb.vue delete mode 100644 src/components/svg/chart.vue delete mode 100644 src/components/svg/clear.vue delete mode 100644 src/components/svg/clipboard.vue delete mode 100644 src/components/svg/close.vue delete mode 100644 src/components/svg/dataView.vue delete mode 100644 src/components/svg/dropDownChevron.vue delete mode 100644 src/components/svg/export.vue delete mode 100644 src/components/svg/exportToCsv.vue delete mode 100644 src/components/svg/exportToSvg.vue delete mode 100644 src/components/svg/hint.vue delete mode 100644 src/components/svg/html.vue delete mode 100644 src/components/svg/pivot.vue delete mode 100644 src/components/svg/png.vue delete mode 100644 src/components/svg/run.vue delete mode 100644 src/components/svg/sort.vue delete mode 100644 src/components/svg/sqlEditor.vue delete mode 100644 src/components/svg/table.vue delete mode 100644 src/components/svg/treeChevron.vue delete mode 100644 src/lib/chartHelper.js delete mode 100644 src/lib/csv.js delete mode 100644 src/lib/database/_sql.js delete mode 100644 src/lib/database/_statements.js delete mode 100644 src/lib/database/_worker.js delete mode 100644 src/lib/database/index.js delete mode 100644 src/lib/storedInquiries/_migrations.js delete mode 100644 src/lib/storedInquiries/index.js delete mode 100644 src/lib/utils/clipboardIo.js delete mode 100644 src/lib/utils/fileIo.js delete mode 100644 src/lib/utils/time.js delete mode 100644 src/main.js delete mode 100644 src/registerServiceWorker.js delete mode 100644 src/router.js delete mode 100644 src/store/actions.js delete mode 100644 src/store/index.js delete mode 100644 src/store/mutations.js delete mode 100644 src/store/state.js delete mode 100644 src/tooltipMixin.js delete mode 100644 src/views/Main/AppDiagnosticInfo.vue delete mode 100644 src/views/Main/Inquiries/index.vue delete mode 100644 src/views/Main/Inquiries/svg/copy.vue delete mode 100644 src/views/Main/Inquiries/svg/delete.vue delete mode 100644 src/views/Main/Inquiries/svg/rename.vue delete mode 100644 src/views/Main/MainMenu.vue delete mode 100644 src/views/Main/Workspace/Schema/TableDescription.vue delete mode 100644 src/views/Main/Workspace/Schema/index.vue delete mode 100644 src/views/Main/Workspace/Tabs/Tab/DataView/Chart/index.vue delete mode 100644 src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotSortBtn.vue delete mode 100644 src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/index.vue delete mode 100644 src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/index.vue delete mode 100644 src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/pivotHelper.js delete mode 100644 src/views/Main/Workspace/Tabs/Tab/DataView/index.vue delete mode 100644 src/views/Main/Workspace/Tabs/Tab/RunResult.vue delete mode 100644 src/views/Main/Workspace/Tabs/Tab/SideToolBar.vue delete mode 100644 src/views/Main/Workspace/Tabs/Tab/SqlEditor/hint.js delete mode 100644 src/views/Main/Workspace/Tabs/Tab/SqlEditor/index.vue delete mode 100644 src/views/Main/Workspace/Tabs/Tab/index.vue delete mode 100644 src/views/Main/Workspace/Tabs/index.vue delete mode 100644 src/views/Main/Workspace/index.vue delete mode 100644 src/views/Main/index.vue delete mode 100644 src/views/Welcome.vue delete mode 100644 tests/components/CheckBox.spec.js delete mode 100644 tests/components/CsvImport/CsvImport.spec.js delete mode 100644 tests/components/CsvImport/DelimiterSelector.spec.js delete mode 100644 tests/components/DbUploader.spec.js delete mode 100644 tests/components/LoadingIndicator.spec.js delete mode 100644 tests/components/Logs.spec.js delete mode 100644 tests/components/Splitpanes/Splitpanes.spec.js delete mode 100644 tests/components/Splitpanes/splitter.spec.js delete mode 100644 tests/components/SqlTable/Pager.spec.js delete mode 100644 tests/lib/chartHelper.spec.js delete mode 100644 tests/lib/csv.spec.js delete mode 100644 tests/lib/database/_sql.spec.js delete mode 100644 tests/lib/database/_statements.spec.js delete mode 100644 tests/lib/database/database.spec.js delete mode 100644 tests/lib/database/sqliteExtensions.spec.js delete mode 100644 tests/lib/storedInquiries/_migrations.spec.js delete mode 100644 tests/lib/storedInquiries/storedInquiries.spec.js delete mode 100644 tests/lib/utils/clipboardIo.spec.js delete mode 100644 tests/lib/utils/fileIo.spec.js delete mode 100644 tests/lib/utils/time.spec.js delete mode 100644 tests/store/actions.spec.js delete mode 100644 tests/store/mutations.spec.js delete mode 100644 tests/tooltipMixin.spec.js delete mode 100644 tests/views/Main/Inquiries/Inquiries.spec.js delete mode 100644 tests/views/Main/MainMenu.spec.js delete mode 100644 tests/views/Main/Workspace/Schema/Schema.spec.js delete mode 100644 tests/views/Main/Workspace/Schema/TableDescription.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tab/DataView/Chart/Chart.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tab/DataView/DataView.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/Pivot.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotSortBtn.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotUi.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/pivotHelper.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tab/RunResult.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tab/SqlEditor/SqlEditor.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tab/SqlEditor/hint.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tab/Tab.spec.js delete mode 100644 tests/views/Main/Workspace/Tabs/Tabs.spec.js delete mode 100644 tests/views/Main/Workspace/Workspace.spec.js delete mode 100644 vue.config.js diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index 214388f..0000000 --- a/.browserslistrc +++ /dev/null @@ -1,3 +0,0 @@ -> 1% -last 2 versions -not dead diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 7053c49..0000000 --- a/.editorconfig +++ /dev/null @@ -1,5 +0,0 @@ -[*.{js,jsx,ts,tsx,vue}] -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true -insert_final_newline = true diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 247a79d..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = { - root: true, - env: { - node: true - }, - extends: [ - 'plugin:vue/essential', - '@vue/standard' - ], - parserOptions: { - parser: 'babel-eslint' - }, - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-case-declarations': 'off', - 'max-len': [2, 100, 4, { ignoreUrls: true }] - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/**/*.spec.{j,t}s?(x)' - ], - env: { - mocha: true - } - } - ] -} diff --git a/.github/workflows/config.grenrc.js b/.github/workflows/config.grenrc.js deleted file mode 100644 index e9b0b1b..0000000 --- a/.github/workflows/config.grenrc.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = { - dataSource: 'milestones', - ignoreIssuesWith: [ - 'wontfix', - 'duplicate' - ], - milestoneMatch: 'v{{tag_name}}', - template: { - issue: '- {{name}} [{{text}}]({{url}})', - changelogTitle: "", - release: "{{body}}", - }, - groupBy: { - 'Enhancements': ["enhancement", "internal"], - 'Bug fixes': ["bug"] - } -} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 7b54642..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Deploy to GitHub Pages and create release -on: - workflow_dispatch: - push: - tags: - - '*' - -jobs: - deploy: - name: Deploy to GitHub Pages and create release - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Use Node.js - uses: actions/setup-node@v1 - with: - node-version: 10.x - - - name: Update npm - run: npm install -g npm@7 - - - name: npm install and build - run: | - npm install - npm run build - - - name: Create archive - run: | - cd dist - zip -9 -r dist.zip . -x "js/*.map" -x "/*.map" - - - name: Create Release Notes - run: | - npm install github-release-notes@0.16.0 -g - gren changelog --generate --config="/.github/workflows/config.grenrc.js" - env: - GREN_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Create release - uses: ncipollo/release-action@v1 - with: - artifacts: "dist/dist.zip" - token: ${{ secrets.GITHUB_TOKEN }} - bodyFile: "CHANGELOG.md" - - - name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@4.1.1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - branch: build # The branch the action should deploy to. - folder: dist/ # The folder the action should deploy. - clean: true # Automatically remove deleted files from the deploy branch - clean-exclude: .nojekyll - diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 2e82530..0000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Run tests -on: - workflow_dispatch: - push: - branches: - - 'master' - pull_request: - branches: - - 'master' - -jobs: - test: - name: Run tests - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Use Node.js - uses: actions/setup-node@v1 - with: - node-version: 10.x - - name: Install browsers - run: | - export DEBIAN_FRONTEND=noninteractive - sudo apt-get update - sudo apt-get install -y chromium-browser firefox - - - name: Update npm - run: npm install -g npm@7 - - - name: Install the project - run: npm install - - - name: Run lint - run: npm run lint -- --no-fix - - - name: Run karma tests - run: npm run test diff --git a/.gitignore b/.gitignore deleted file mode 100644 index f37f3ea..0000000 --- a/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -.DS_Store -node_modules -/dist -/coverage - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 261eeb9..0000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md deleted file mode 100644 index c295e7b..0000000 --- a/README.md +++ /dev/null @@ -1,43 +0,0 @@ -

- -

- -# sqliteviz - -Sqliteviz is a single-page offline-first PWA for fully client-side visualisation of SQLite databases or CSV files. - -With sqliteviz you can: -- run SQL queries against a SQLite database and create [Plotly][11] charts and pivot tables based on the result sets -- import a CSV file into a SQLite database and visualize imported data -- export result set to CSV file -- manage inquiries and run them against different databases -- import/export inquiries from/to a JSON file -- export a modified SQLite database -- use it offline from your OS application menu like any other desktop app - -https://user-images.githubusercontent.com/24638357/128249848-f8fab0f5-9add-46e0-a9c1-dd5085a8623e.mp4 - -## Quickstart -The latest release of sqliteviz is deployed on GitHub Pages at [lana-k.github.io/sqliteviz][6]. - -## Wiki -For user documentation, check out sqliteviz [Wiki][7]. - -## Motivation -It's a kind of middleground between [Plotly Falcon][1] and [Redash][2]. - -## Components -It is built on top of [react-chart-editor][3], [PivotTable.js][12], [sql.js][4] and [Vue-Codemirror][8] in [Vue.js][5]. CSV parsing is performed with [Papa Parse][9]. - -[1]: https://github.com/plotly/falcon -[2]: https://github.com/getredash/redash -[3]: https://github.com/plotly/react-chart-editor -[4]: https://github.com/sql-js/sql.js -[5]: https://github.com/vuejs/vue -[6]: https://lana-k.github.io/sqliteviz/ -[7]: https://github.com/lana-k/sqliteviz/wiki -[8]: https://github.com/surmon-china/vue-codemirror#readme -[9]: https://www.papaparse.com/ -[10]: https://github.com/lana-k/sqliteviz/wiki/Predefined-queries -[11]: https://github.com/plotly/plotly.js -[12]: https://github.com/nicolaskruchten/pivottable diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index e955840..0000000 --- a/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} diff --git a/karma.conf.js b/karma.conf.js deleted file mode 100644 index c6b4c9d..0000000 --- a/karma.conf.js +++ /dev/null @@ -1,203 +0,0 @@ -// Karma configuration -'use strict' -const path = require('path') -const VueLoaderPlugin = require('vue-loader/lib/plugin') - -function resolve (dir) { - return path.join(__dirname, dir) -} - -module.exports = function (config) { - config.set({ - // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: '', - - // frameworks to use - // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['mocha', 'sinon-chai'], - - // list of files / patterns to load in the browser - files: [ - './karma.files.js', - { - pattern: 'node_modules/sql.js/dist/sql-wasm.wasm', - watched: false, - included: false, - served: true, - nocache: false - } - ], - - // list of files / patterns to exclude - exclude: [], - - // preprocess matching files before serving them to the browser - // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor - preprocessors: { - './karma.files.js': ['webpack'] - }, - - // test results reporter to use - // possible values: 'dots', 'progress' - // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['spec', 'coverage'], - - coverageReporter: { - dir: 'coverage', - reporters: [{ type: 'lcov', subdir: '.' }, { type: 'text-summary' }] - }, - - // !!DONOT delete this reporter, or vue-cli-addon-ui-karma doesnot work - jsonResultReporter: { - outputFile: 'report/karma-result.json', - isSynchronous: true - }, - - junitReporter: { - outputDir: 'report', // results will be saved as $outputDir/$browserName.xml - // if included, results will be saved as $outputDir/$browserName/$outputFile - outputFile: undefined, - suite: '', // suite will become the package name attribute in xml testsuite element - useBrowserName: true, // add browser name to report and classes names - // function (browser, result) to customize the name attribute in xml testcase element - nameFormatter: undefined, - // function (browser, result) to customize the classname attribute in xml testcase element - classNameFormatter: undefined, - properties: {} // key value pairs add to the section of the report - }, - - // web server port - port: 9876, - - // enable / disable colors in the output (reporters and logs) - colors: true, - - // level of logging - // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || - // config.LOG_INFO || config.LOG_DEBUG - logLevel: config.LOG_INFO, - - // enable / disable watching file and executing tests whenever any file changes - autoWatch: false, - - customLaunchers: { - FirefoxHeadlessTouch: { - base: 'FirefoxHeadless', - prefs: { - 'dom.w3c_touch_events.enabled': 1, - 'dom.events.asyncClipboard.clipboardItem': true - } - } - }, - // start these browsers - // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['ChromiumHeadless', 'FirefoxHeadlessTouch'], - - // Continuous Integration mode - // if true, Karma captures browsers, runs the tests and exits - singleRun: true, - - // Concurrency level - // how many browser should be started simultaneous - concurrency: 2, - - client: { - captureConsole: true, - mocha: { - timeout: 7000 - } - }, - browserConsoleLogOptions: { - terminal: true, - level: '' - }, - webpack: { - mode: 'development', - entry: './src/main.js', - resolve: { - extensions: ['.js', '.vue', '.json'], - alias: { - vue$: 'vue/dist/vue.esm.js', - '@': resolve('src') - } - }, - module: { - rules: [ - { - test: /\.js$/, - exclude: /(node_modules|bower_components)/, - use: [ - { - loader: 'babel-loader' - } - ] - }, - { - test: /\.js$/, - include: /src/, - exclude: /(node_modules|bower_components|\.spec\.js$)/, - use: [ - { - loader: 'istanbul-instrumenter-loader', - options: { - esModules: true - } - } - ] - }, - { - test: /worker\.js$/, - loader: 'worker-loader' - }, - { - test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, - loader: 'url-loader' - }, - { - test: /\.vue$/, - loader: 'vue-loader', - options: { - loaders: { - js: 'babel-loader' - }, - postLoaders: { - js: 'istanbul-instrumenter-loader?esModules=true' - } - } - }, - { - test: /\.css$/, - use: ['vue-style-loader', 'css-loader'] - }, - { - test: /\.scss$/, - use: ['vue-style-loader', 'css-loader', 'sass-loader'] - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: resolve('fonts/[name].[hash:7].[ext]') - } - } - ] - }, - plugins: [new VueLoaderPlugin()], - node: { - fs: 'empty' - } - }, - webpackMiddleware: { - watchOptions: { - ignored: /node_modules/ - } - }, - proxies: { - '/_karma_webpack_/sql-wasm.wasm': '/base/node_modules/sql.js/dist/sql-wasm.wasm', - '/base/sql-wasm.wasm': '/base/node_modules/sql.js/dist/sql-wasm.wasm' - } - }) - // Fix the timezone - process.env.TZ = 'Europe/Amsterdam' -} diff --git a/karma.files.js b/karma.files.js deleted file mode 100644 index 23f5bc5..0000000 --- a/karma.files.js +++ /dev/null @@ -1,21 +0,0 @@ -import Vue from 'vue' -import { VuePlugin } from 'vuera' -import VModal from 'vue-js-modal' - -Vue.use(VuePlugin) -Vue.use(VModal) -Vue.config.productionTip = false - -// require all test files (files that ends with .spec.js) -const testsContext = require.context('./tests', true, /\.spec.js$/) - -// Read more about why we need to call testContext: -// https://www.npmjs.com/package/require-context#context-api -testsContext.keys().forEach(testsContext) - -// require all src files except main.js and router/index.js for coverage. -// you can also change this to match only the subset of files that -// you want coverage for. -// We don't include router/index.js to avoid installing VueRouter globally in tests -const srcContext = require.context('./src', true, /^\.\/(?!(main|(router(\/)?(index)?))(\.js)?$)/) -srcContext.keys().forEach(srcContext) diff --git a/lib/sql-js/.dockerignore b/lib/sql-js/.dockerignore deleted file mode 100644 index 147d983..0000000 --- a/lib/sql-js/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -benchmark -dist diff --git a/lib/sql-js/Dockerfile b/lib/sql-js/Dockerfile deleted file mode 100644 index 6de11dc..0000000 --- a/lib/sql-js/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM emscripten/emsdk:2.0.24 - -WORKDIR /tmp/build - -COPY configure.py . -RUN python3.8 configure.py - -COPY build.py . -RUN python3.8 build.py diff --git a/lib/sql-js/README.md b/lib/sql-js/README.md deleted file mode 100644 index bc9a023..0000000 --- a/lib/sql-js/README.md +++ /dev/null @@ -1,101 +0,0 @@ -# SQLite WebAssembly build - -This directory contains Docker-based build script, `make.sh`, that builds -a custom version of [sql.js][1]. It allows sqliteviz to have more recent -version of SQLite build with a number of useful extensions. - -`Makefile` from [sql.js][1] is rewritten as more comprehensible `configure.py` - and `build.py` Python scripts that run in `emscripten/emsdk` Docker container. - -## Extension - -SQLite [amalgamation][2] extensions included: - -1. [FTS5][4] -- virtual table module that provides full-text search - functionality -2. [FTS3/FTS4][15] -- older virtual table modules for full-text search -3. [JSON1][16] -- scalar, aggregate and table-valued functions for managing JSON data - -SQLite [contribution extensions][17]: - -1. [extension-functions][18] -- mathematical and string extension functions for SQL queries. - - Math: `acos`, `asin`, `atan`, `atn2`, `atan2`, `acosh`, `asinh`, `atanh`, `difference`, - `degrees`, `radians`, `cos`, `sin`, `tan`, `cot`, `cosh`, `sinh`, `tanh`, `coth`, - `exp`, `log`, `log10`, `power`, `sign`, `sqrt`, `square`, `ceil`, `floor`, `pi`. - - String: `replicate`, `charindex`, `leftstr`, `rightstr`, `ltrim`, `rtrim`, `trim`, - `replace`, `reverse`, `proper`, `padl`, `padr`, `padc`, `strfilter`. - - Aggregate: `stdev`, `variance`, `mode`, `median`, `lower_quartile`, `upper_quartile`. - -SQLite [miscellaneous extensions][3] included: - -1. `generate_series` table-valued [series function][6] ([series.c][7]) -2. `transitive_closure` virtual table for - [Querying Tree Structures in SQLite][11] ([closure.c][8]) -3. `uuid`, `uuid_str` and `uuid_blob` RFC-4122 UUID functions ([uuid.c][9]) -4. `regexp` (hence `REGEXP` operator) and `regexpi` functions ([regexp.c][10]) -5. `percentile` function ([percentile.c][13]) -6. `decimal`, `decimal_cmp`, `decimal_add`, `decimal_sub` and `decimal_mul` functions - ([decimal.c][14]) - -SQLite 3rd party extensions included: - -1. [pivot_vtab][5] -- a pivot virtual table - -To ease the step to have working clone locally, the build is committed into -the repository. - -Examples of queries involving these extensions can be found in the test suite in -[sqliteExtensions.spec.js][19]. - -## Build method - -Basically it's extended amalgamation and `SQLITE_EXTRA_INIT` concisely -described in [this message from SQLite Forum][12]: - -> Simply append it to the end of the amalgamation file. The real problem is -> how you get the init function called. The easiest way (to me at any rate) is -> to append a function (after the extensions you want to add are all appended) -> that adds the init function for each extension to the auto extension list -> for new connections, and set the pre-processor symbol SQLITE_EXTRA_INIT to -> the name of this function. [...] -> -> An example `SQLITE_EXTRA_INIT` function looks like this: -> -> ``` -> int core_init(const char* dummy) -> { -> int nErr = 0; -> -> nErr += sqlite3_auto_extension((void*)sqlite3_autobusy_init); -> nErr += sqlite3_auto_extension((void*)sqlite3_ipaddress_init); -> -> return nErr ? SQLITE_ERROR : SQLITE_OK; -> } -> ``` -> -> so you would then define `SQLITE_EXTRA_INIT=core_init` when compiling the -> amalgamation code and the extensions would thereafter be automatically -> initialized on each connection. - -[1]: https://github.com/sql-js/sql.js -[2]: https://sqlite.org/amalgamation.html -[3]: https://sqlite.org/src/dir?ci=trunk&name=ext/misc -[4]: https://sqlite.org/fts5.html -[5]: https://github.com/jakethaw/pivot_vtab -[6]: https://sqlite.org/series.html -[7]: https://sqlite.org/src/file/ext/misc/series.c -[8]: https://sqlite.org/src/file/ext/misc/closure.c -[9]: https://sqlite.org/src/file/ext/misc/uuid.c -[10]: https://sqlite.org/src/file/ext/misc/regexp.c -[11]: https://charlesleifer.com/blog/querying-tree-structures-in-sqlite-using-python-and-the-transitive-closure-extension/ -[12]: https://sqlite.org/forum/forumpost/6ad7d4f4bebe5e06?raw -[13]: https://sqlite.org/src/file/ext/misc/percentile.c -[14]: https://sqlite.org/src/file/ext/misc/decimal.c -[15]: https://sqlite.org/fts3.html -[16]: https://sqlite.org/json1.html -[17]: https://sqlite.org/contrib/ -[18]: https://sqlite.org/contrib//download/extension-functions.c?get=25 -[19]: https://github.com/lana-k/sqliteviz/blob/master/tests/lib/database/sqliteExtensions.spec.js diff --git a/lib/sql-js/benchmark/.gitignore b/lib/sql-js/benchmark/.gitignore deleted file mode 100644 index 0729f8f..0000000 --- a/lib/sql-js/benchmark/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/lib/build-* -/lib/dist -/build-*-result.json -/sample.csv diff --git a/lib/sql-js/benchmark/Dockerfile b/lib/sql-js/benchmark/Dockerfile deleted file mode 100644 index cdeacad..0000000 --- a/lib/sql-js/benchmark/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -FROM node:12-buster - -RUN set -ex; \ - echo 'deb http://deb.debian.org/debian unstable main' \ - > /etc/apt/sources.list.d/unstable.list; \ - apt-get update; \ - apt-get install -y -t unstable firefox; \ - apt-get install -y chromium - -WORKDIR /tmp/build - -COPY package.json ./ -COPY lib/dist lib/dist -COPY lib/package.json lib/package.json -RUN npm install - -COPY . . - -CMD npm run benchmark diff --git a/lib/sql-js/benchmark/README.md b/lib/sql-js/benchmark/README.md deleted file mode 100644 index b36a276..0000000 --- a/lib/sql-js/benchmark/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# SQLite WebAssembly build micro-benchmark - -This directory contains a micro-benchmark for evaluating SQLite -WebAssembly builds performance on typical SQL queries, run from -`make.sh` script. It can also serve as a smoke test. - -The benchmark operates on a set of SQLite WebAssembly builds expected -in `lib/build-$NAME` directories each containing `sql-wasm.js` and -`sql-wasm.wasm`. Then it creates a Docker image for each, and runs -the benchmark in Firefox and Chromium using Karma in the container. - -After successful run, the benchmark result of each build is contained -in `build-$NAME-result.json`. The JSON result files can be analysed -using `result-analysis.ipynb` Jupyter notebook. diff --git a/lib/sql-js/benchmark/karma.conf.js b/lib/sql-js/benchmark/karma.conf.js deleted file mode 100644 index 5ed5074..0000000 --- a/lib/sql-js/benchmark/karma.conf.js +++ /dev/null @@ -1,52 +0,0 @@ -module.exports = function (config) { - const timeout = 15 * 60 * 1000 - config.set({ - - frameworks: ['mocha'], - - files: [ - 'suite.js', - { pattern: 'node_modules/sql.js/dist/sql-wasm.wasm', served: true, included: false }, - { pattern: 'sample.csv', served: true, included: false } - ], - - reporters: ['progress', 'json-to-file'], - - singleRun: true, - - customLaunchers: { - ChromiumHeadlessNoSandbox: { base: 'ChromiumHeadless', flags: ['--no-sandbox'] } - }, - browsers: ['ChromiumHeadlessNoSandbox', 'FirefoxHeadless'], - concurrency: 1, - - browserDisconnectTimeout: timeout, - browserNoActivityTimeout: timeout, - captureTimeout: timeout, - browserSocketTimeout: timeout, - pingTimeout: timeout, - client: { - captureConsole: true, - mocha: { timeout: timeout } - }, - - logLevel: config.LOG_INFO, - browserConsoleLogOptions: { terminal: true, level: config.LOG_INFO }, - - preprocessors: { 'suite.js': [ 'webpack' ] }, - webpack: { - mode: 'development', - module: { - noParse: [ __dirname + '/node_modules/benchmark/benchmark.js' ] - }, - node: { fs: 'empty' } - }, - - proxies: { - '/sql-wasm.wasm': '/base/node_modules/sql.js/dist/sql-wasm.wasm' - }, - - jsonToFileReporter: { outputPath: '.', fileName: 'suite-result.json' } - - }) -} diff --git a/lib/sql-js/benchmark/lib/package.json b/lib/sql-js/benchmark/lib/package.json deleted file mode 100644 index cdb3778..0000000 --- a/lib/sql-js/benchmark/lib/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "sql.js", - "main": "./dist/sql-wasm.js", - "private": true -} diff --git a/lib/sql-js/benchmark/make.sh b/lib/sql-js/benchmark/make.sh deleted file mode 100755 index 9eca087..0000000 --- a/lib/sql-js/benchmark/make.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -e - -if [ ! -f sample.csv ]; then - wget --header="accept-encoding: gzip" -q -O- \ - https://github.com/plotly/datasets/raw/547090bd/wellspublic.csv \ - | gunzip -c > sample.csv -fi - -for d in lib/build-* ; do - rm -r lib/dist || true - cp -r $d lib/dist - - name=$(basename $d) - docker build -t sqliteviz/sqljs-benchmark:$name . - docker rm sqljs-benchmark-$name 2> /dev/null || true - docker run -it --name sqljs-benchmark-$name sqliteviz/sqljs-benchmark:$name - docker cp sqljs-benchmark-$name:/tmp/build/suite-result.json ${name}-result.json - docker rm sqljs-benchmark-$name -done - -rm -r lib/dist diff --git a/lib/sql-js/benchmark/package.json b/lib/sql-js/benchmark/package.json deleted file mode 100644 index 271c3ed..0000000 --- a/lib/sql-js/benchmark/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "sqlite-webassembly-microbenchmark", - "private": true, - "dependencies": { - "@babel/core" : "^7.14.8", - "babel-loader": "^8.2.2", - "benchmark": "^2.1.4", - "lodash": "^4.17.4", - "papaparse": "^5.3.1", - "mocha": "^9.0.3", - "karma": "^6.3.4", - "karma-chrome-launcher": "^3.1.0", - "karma-firefox-launcher": "^2.1.1", - "karma-json-to-file-reporter" : "^1.0.1", - "karma-mocha": "^2.0.1", - "karma-webpack": "^4.0.2", - "webpack": "^4.46.0", - "sql.js": "file:./lib" - }, - "scripts": { - "benchmark": "karma start karma.conf.js" - } -} diff --git a/lib/sql-js/benchmark/result-analysis.ipynb b/lib/sql-js/benchmark/result-analysis.ipynb deleted file mode 100644 index 8573e82..0000000 --- a/lib/sql-js/benchmark/result-analysis.ipynb +++ /dev/null @@ -1,207 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "2e7d8525", - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "from pathlib import Path\n", - "\n", - "import pandas\n", - "import plotly.express as px" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "0f420fe2", - "metadata": {}, - "outputs": [], - "source": [ - "benchmark_path = Path('/path/to/sqliteviz/project/sqliteviz/lib/sql-js/benchmark')" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "b7d79c6c", - "metadata": {}, - "outputs": [], - "source": [ - "df_dict = {}\n", - "stat_dict = {}\n", - "for p in benchmark_path.glob('build-*-result.json'):\n", - " build_name = p.stem.split('-', 2)[1]\n", - " for browser_data in json.loads(p.read_text()):\n", - " browser_name = f'{browser_data[\"browser\"][\"name\"]} {browser_data[\"browser\"][\"major\"]}'\n", - " browser_name = browser_name.lower().replace('chrome headless', 'chromium')\n", - " for result in (r for i, r in browser_data['result'].items() if i.isdigit()):\n", - " key = build_name, browser_name, result['name']\n", - " df_dict[key] = result['stats']['sample']\n", - " stat_dict[key] = result['stats']\n", - "\n", - "min_sample_size = min(len(v) for v in df_dict.values())\n", - "df_dict = {k: v[:min_sample_size] for k, v in df_dict.items()}\n", - " \n", - "wide_df = pandas.DataFrame(df_dict).reset_index()\n", - "df = pandas.melt(\n", - " wide_df, \n", - " id_vars='index', \n", - " var_name=['build', 'browser', 'test'], \n", - " value_name='duration',\n", - ")\n", - "df.sort_values(['build', 'index'], inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "bc655c11", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pr\tfirefox 88\tselect\t0.20 s ± 1.5%\n", - "master\tfirefox 88\tselect\t0.22 s ± 1.3%\n", - "pr\tchromium 90\tselect\t0.18 s ± 1.1%\n", - "master\tchromium 90\tselect\t0.18 s ± 0.5%\n", - "pr\tfirefox 88\timport\t2.37 s ± 4.3%\n", - "master\tfirefox 88\timport\t2.64 s ± 2.6%\n", - "pr\tchromium 90\timport\t1.67 s ± 0.7%\n", - "master\tchromium 90\timport\t1.74 s ± 1.8%\n" - ] - } - ], - "source": [ - "stat_df = pandas.DataFrame(stat_dict)\n", - "stat_df = stat_df.loc[['mean', 'rme']].transpose()\n", - "stat_df.index = stat_df.index.set_names(['build', 'browser', 'test'])\n", - "stat_df = stat_df.reset_index().sort_values(['test', 'browser'], ascending=False)\n", - "for index, row in stat_df.iterrows():\n", - " print('\\t'.join([\n", - " row['build'],\n", - " row['browser'],\n", - " row['test'],\n", - " f'{row[\"mean\"]:.2f} s ± {row[\"rme\"]:.1f}%'\n", - " ]))" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "5a3ab654", - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "chromium 90firefox 880.180.20.220.240.261.522.53buildmasterprbrowserdurationdurationtest=selecttest=import" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig = px.box(df, x='browser', y='duration', points='all', color='build', facet_row='test')\n", - "fig.update_yaxes(matches=None)\n", - "fig.show('svg')" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "1619018c", - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "0102030400.180.20.220102030401.61.822.2buildmasterprindexindexdurationdurationbrowser=chromium 90browser=firefox 88test=selecttest=import" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig = px.line(\n", - " df, x='index', y='duration', color='build', facet_col='browser', facet_row='test'\n", - ")\n", - "fig.update_yaxes(matches=None)\n", - "fig.show('svg')" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "397b848c", - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "-2.43%-8.26%chromium 90firefox 8800.050.10.150.2-3.88%-10.15%012buildmasterprbrowserdurationdurationtest=selecttest=import" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_df = df.groupby(['browser', 'build', 'test'])['duration'].mean().reset_index()\n", - "plot_df['pct'] = (\n", - " plot_df\n", - " .groupby(['browser', 'test'])['duration']\n", - " .pct_change()\n", - " .fillna('')\n", - " .map(lambda v: '{:.2%}'.format(v) if v else v)\n", - ")\n", - "fig = px.bar(\n", - " plot_df, \n", - " x='browser', \n", - " y='duration', \n", - " color='build', \n", - " text='pct', \n", - " barmode='overlay', \n", - " facet_row='test',\n", - ")\n", - "fig.update_yaxes(matches=None)\n", - "fig.show('svg')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Stats Python 3", - "language": "python", - "name": "stats" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.9" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": {}, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/lib/sql-js/benchmark/suite.js b/lib/sql-js/benchmark/suite.js deleted file mode 100644 index cf7e30d..0000000 --- a/lib/sql-js/benchmark/suite.js +++ /dev/null @@ -1,140 +0,0 @@ -import benchmark from 'benchmark' -import initSqlJs from 'sql.js' -import lodash from 'lodash' -import Papa from 'papaparse' -import useragent from 'ua-parser-js' - - -describe('SQLite build benchmark', function () { - let parsedCsv - let sqlModule - let selectDb - - before(async function () { - parsedCsv = await parseCsv('http://localhost:9876/base/sample.csv') - sqlModule = await initSqlJs() - - selectDb = new sqlModule.Database() - importToTable(selectDb, parsedCsv) - }) - - function benchmarkImport () { - const db = new sqlModule.Database() - try { - importToTable(db, parsedCsv) - } finally { - db.close() - } - } - - function benchmarkSelect () { - const result = selectDb.exec(` - SELECT county, AVG(avg_depth) avg_depth_c - FROM ( - SELECT s.county, s.town, COUNT(*) cnt, AVG(s.DrilledDepth) avg_depth - FROM csv_import s - JOIN csv_import USING(hole) - WHERE s.town IS NOT NULL - GROUP BY 1, 2 - ORDER BY 4 DESC - ) - GROUP BY 1 - ORDER BY 2 DESC - `) - console.assert(result.values.length == 56, 'Unexpected size of result set') - } - - it('run', async function () { - const suite = createSuite() - suite.add('import', { initCount: 3, minSamples: 50, fn: benchmarkImport }) - suite.add('select', { initCount: 3, minSamples: 50, fn: benchmarkSelect }) - await run(suite) - }) - -}) - - -function importToTable (db, parsedCsv, chunkSize = 1024) { - const columnListString = parsedCsv.meta.fields.join(', ') - db.exec(`CREATE TABLE csv_import(${columnListString})`) - - const params = parsedCsv.meta.fields.map(name => '?').join(', ') - const insertStmt = db.prepare(`INSERT INTO csv_import VALUES(${params})`) - chunkArray(parsedCsv.data, chunkSize).map(function (chunk) { - db.exec('BEGIN') - chunk.map(row => insertStmt.run(Object.values(row))) - db.exec('COMMIT') - }) -} - - -class PromiseWrapper { - constructor() { - this.promise = new Promise((resolve, reject) => { - this.reject = reject - this.resolve = resolve - }) - } -} - -function parseCsv(url) { - return new Promise((resolve, reject) => { - Papa.parse(url, { - header: true, - download: true, - skipEmptyLines: 'greedy', - complete: results => resolve(results), - error: (error, file) => reject(error) - }) - }) -} - -function chunkArray (arr, size) { - return arr.reduce(function (result, value, index) { - const chunkIndex = Math.floor(index / size) - - if(!(chunkIndex in result)) { - result[chunkIndex] = [] - } - result[chunkIndex].push(value) - - return result - }, []) -} - - -function createSuite () { - // Combined workaround from: - // - https://github.com/bestiejs/benchmark.js/issues/106 - // - https://github.com/bestiejs/benchmark.js/issues/237 - - // Benchmark could not pick up lodash otherwise - const bm = benchmark.runInContext({ _: lodash }) - // Avoid `ReferenceError: Benchmark is not defined` error because Benchmark is assumed - // to be in window - window.Benchmark = bm - - return new bm.Suite() -} - -function run (suite) { - const suiteResult = new PromiseWrapper() - suite - .on('cycle', function (event) { - console.info(String(event.target)) - }) - .on('complete', function () { - console.log(JSON.stringify({ - browser: useragent(navigator.userAgent).browser, - result: this.filter('successful') - })) - suiteResult.resolve() - }) - .on('error', function (event) { - console.error('Benchmark failed', String(event.target)) - suiteResult.reject() - }) - .run({async: true}) - - return suiteResult.promise -} diff --git a/lib/sql-js/build.py b/lib/sql-js/build.py deleted file mode 100644 index bdb2b27..0000000 --- a/lib/sql-js/build.py +++ /dev/null @@ -1,86 +0,0 @@ -import logging -import subprocess -from pathlib import Path - - -cflags = ( - '-O2', - '-DSQLITE_DEFAULT_CACHE_SIZE=-65536', # 64 MiB - '-DSQLITE_DEFAULT_MEMSTATUS=0', - '-DSQLITE_DEFAULT_SYNCHRONOUS=0', - '-DSQLITE_DISABLE_LFS', - '-DSQLITE_DQS=0', - '-DSQLITE_ENABLE_FTS3', - '-DSQLITE_ENABLE_FTS3_PARENTHESIS', - '-DSQLITE_ENABLE_FTS5', - '-DSQLITE_ENABLE_JSON1', - '-DSQLITE_ENABLE_NORMALIZE', - '-DSQLITE_EXTRA_INIT=extra_init', - '-DSQLITE_OMIT_DEPRECATED', - '-DSQLITE_OMIT_LOAD_EXTENSION', - '-DSQLITE_OMIT_SHARED_CACHE', - '-DSQLITE_THREADSAFE=0', -) -emflags = ( - # Base - '--memory-init-file', '0', - '-s', 'RESERVED_FUNCTION_POINTERS=64', - '-s', 'ALLOW_TABLE_GROWTH=1', - '-s', 'SINGLE_FILE=0', - # WASM - '-s', 'WASM=1', - '-s', 'ALLOW_MEMORY_GROWTH=1', - # Optimisation - '-s', 'INLINING_LIMIT=50', - '-O3', - '-flto', - # sql.js - '-s', 'EXPORTED_FUNCTIONS=@src/sqljs/exported_functions.json', - '-s', 'EXPORTED_RUNTIME_METHODS=@src/sqljs/exported_runtime_methods.json', - '--pre-js', 'src/sqljs/api.js', -) - - -def build(src: Path, dst: Path): - out = Path('out') - out.mkdir() - - logging.info('Building LLVM bitcode for sqlite3.c') - subprocess.check_call([ - 'emcc', - *cflags, - '-c', src / 'sqlite3.c', - '-o', out / 'sqlite3.bc', - ]) - logging.info('Building LLVM bitcode for extension-functions.c') - subprocess.check_call([ - 'emcc', - *cflags, - '-c', src / 'extension-functions.c', - '-o', out / 'extension-functions.bc', - ]) - - logging.info('Building WASM from bitcode') - subprocess.check_call([ - 'emcc', - *emflags, - out / 'sqlite3.bc', - out / 'extension-functions.bc', - '-o', out / 'sql-wasm.js', - ]) - - logging.info('Post-processing build and copying to dist') - (out / 'sql-wasm.wasm').rename(dst / 'sql-wasm.wasm') - with (dst / 'sql-wasm.js').open('w') as f: - f.write((src / 'sqljs' / 'shell-pre.js').read_text()) - f.write((out / 'sql-wasm.js').read_text()) - f.write((src / 'sqljs' / 'shell-post.js').read_text()) - - -if __name__ == '__main__': - logging.basicConfig(level='INFO', format='%(asctime)s %(levelname)s %(name)s %(message)s') - - src = Path('src') - dst = Path('dist') - dst.mkdir() - build(src, dst) diff --git a/lib/sql-js/configure.py b/lib/sql-js/configure.py deleted file mode 100644 index ae8be3e..0000000 --- a/lib/sql-js/configure.py +++ /dev/null @@ -1,107 +0,0 @@ -import logging -import shutil -import subprocess -import sys -import zipfile -from io import BytesIO -from pathlib import Path -from urllib import request - - -amalgamation_url = 'https://sqlite.org/2021/sqlite-amalgamation-3360000.zip' - -# Extension-functions -# =================== -# It breaks amalgamation if appended as other extension because it redefines -# several functions, so build it separately. Note that sql.js registers these -# extension functions by calling ``registerExtensionFunctions`` itself. -contrib_functions_url = 'https://sqlite.org/contrib/download/extension-functions.c?get=25' - -extension_urls = ( - # Miscellaneous extensions - # ======================== - ('https://sqlite.org/src/raw/c6bd5d24?at=series.c', 'sqlite3_series_init'), - ('https://sqlite.org/src/raw/dbfd8543?at=closure.c', 'sqlite3_closure_init'), - ('https://sqlite.org/src/raw/5bb2264c?at=uuid.c', 'sqlite3_uuid_init'), - ('https://sqlite.org/src/raw/5853b0e5?at=regexp.c', 'sqlite3_regexp_init'), - ('https://sqlite.org/src/raw/b9086e22?at=percentile.c', 'sqlite3_percentile_init'), - ('https://sqlite.org/src/raw/09f967dc?at=decimal.c', 'sqlite3_decimal_init'), - # Third-party extension - # ===================== - ('https://github.com/jakethaw/pivot_vtab/raw/08ab0797/pivot_vtab.c', 'sqlite3_pivotvtab_init'), -) - -sqljs_url = 'https://github.com/sql-js/sql.js/archive/refs/tags/v1.5.0.zip' - - -def _generate_extra_init_c_function(init_function_names): - auto_ext_calls = '\n'.join([ - 'nErr += sqlite3_auto_extension((void*){});'.format(init_fn) - for init_fn in init_function_names - ]) - return ''' - int extra_init(const char* dummy) - { - int nErr = 0; - %s - return nErr ? SQLITE_ERROR : SQLITE_OK; - } - ''' % auto_ext_calls - - -def _get_amalgamation(tgt: Path): - logging.info('Downloading and extracting SQLite amalgamation %s', amalgamation_url) - archive = zipfile.ZipFile(BytesIO(request.urlopen(amalgamation_url).read())) - archive_root_dir = zipfile.Path(archive, archive.namelist()[0]) - for zpath in archive_root_dir.iterdir(): - with zpath.open() as fr, (tgt / zpath.name).open('wb') as fw: - shutil.copyfileobj(fr, fw) - - -def _get_contrib_functions(tgt: Path): - request.urlretrieve(contrib_functions_url, tgt / 'extension-functions.c') - - -def _get_extensions(tgt: Path): - init_functions = [] - sqlite3_c = tgt / 'sqlite3.c' - with sqlite3_c.open('ab') as f: - for url, init_fn in extension_urls: - logging.info('Downloading and appending to amalgamation %s', url) - with request.urlopen(url) as resp: - shutil.copyfileobj(resp, f) - init_functions.append(init_fn) - - logging.info('Appending SQLITE_EXTRA_INIT to amalgamation') - f.write(_generate_extra_init_c_function(init_functions).encode()) - - -def _get_sqljs(tgt: Path): - logging.info('Downloading and extracting sql.js %s', sqljs_url) - archive = zipfile.ZipFile(BytesIO(request.urlopen(sqljs_url).read())) - archive_root_dir = zipfile.Path(archive, archive.namelist()[0]) - (tgt / 'sqljs').mkdir() - for zpath in (archive_root_dir / 'src').iterdir(): - with zpath.open() as fr, (tgt / 'sqljs' / zpath.name).open('wb') as fw: - shutil.copyfileobj(fr, fw) - - -def configure(tgt: Path): - _get_amalgamation(tgt) - _get_contrib_functions(tgt) - _get_extensions(tgt) - _get_sqljs(tgt) - - subprocess.check_call(['emcc', '--version']) - - -if __name__ == '__main__': - if sys.version_info < (3, 8): - print('Python 3.8 or higher is expected', file=sys.stderr) - sys.exit(1) - - logging.basicConfig(level='INFO', format='%(asctime)s %(levelname)s %(name)s %(message)s') - - src = Path('src') - src.mkdir() - configure(src) diff --git a/lib/sql-js/dist/sql-wasm.js b/lib/sql-js/dist/sql-wasm.js deleted file mode 100644 index 505a115..0000000 --- a/lib/sql-js/dist/sql-wasm.js +++ /dev/null @@ -1,94 +0,0 @@ - -// We are modularizing this manually because the current modularize setting in Emscripten has some issues: -// https://github.com/kripken/emscripten/issues/5820 -// In addition, When you use emcc's modularization, it still expects to export a global object called `Module`, -// which is able to be used/called before the WASM is loaded. -// The modularization below exports a promise that loads and resolves to the actual sql.js module. -// That way, this module can't be used before the WASM is finished loading. - -// We are going to define a function that a user will call to start loading initializing our Sql.js library -// However, that function might be called multiple times, and on subsequent calls, we don't actually want it to instantiate a new instance of the Module -// Instead, we want to return the previously loaded module - -// TODO: Make this not declare a global if used in the browser -var initSqlJsPromise = undefined; - -var initSqlJs = function (moduleConfig) { - - if (initSqlJsPromise){ - return initSqlJsPromise; - } - // If we're here, we've never called this function before - initSqlJsPromise = new Promise(function (resolveModule, reject) { - - // We are modularizing this manually because the current modularize setting in Emscripten has some issues: - // https://github.com/kripken/emscripten/issues/5820 - - // The way to affect the loading of emcc compiled modules is to create a variable called `Module` and add - // properties to it, like `preRun`, `postRun`, etc - // We are using that to get notified when the WASM has finished loading. - // Only then will we return our promise - - // If they passed in a moduleConfig object, use that - // Otherwise, initialize Module to the empty object - var Module = typeof moduleConfig !== 'undefined' ? moduleConfig : {}; - - // EMCC only allows for a single onAbort function (not an array of functions) - // So if the user defined their own onAbort function, we remember it and call it - var originalOnAbortFunction = Module['onAbort']; - Module['onAbort'] = function (errorThatCausedAbort) { - reject(new Error(errorThatCausedAbort)); - if (originalOnAbortFunction){ - originalOnAbortFunction(errorThatCausedAbort); - } - }; - - Module['postRun'] = Module['postRun'] || []; - Module['postRun'].push(function () { - // When Emscripted calls postRun, this promise resolves with the built Module - resolveModule(Module); - }); - - // There is a section of code in the emcc-generated code below that looks like this: - // (Note that this is lowercase `module`) - // if (typeof module !== 'undefined') { - // module['exports'] = Module; - // } - // When that runs, it's going to overwrite our own modularization export efforts in shell-post.js! - // The only way to tell emcc not to emit it is to pass the MODULARIZE=1 or MODULARIZE_INSTANCE=1 flags, - // but that carries with it additional unnecessary baggage/bugs we don't want either. - // So, we have three options: - // 1) We undefine `module` - // 2) We remember what `module['exports']` was at the beginning of this function and we restore it later - // 3) We write a script to remove those lines of code as part of the Make process. - // - // Since those are the only lines of code that care about module, we will undefine it. It's the most straightforward - // of the options, and has the side effect of reducing emcc's efforts to modify the module if its output were to change in the future. - // That's a nice side effect since we're handling the modularization efforts ourselves - module = undefined; - - // The emcc-generated code and shell-post.js code goes below, - // meaning that all of it runs inside of this promise. If anything throws an exception, our promise will abort -var Module=typeof Module!=="undefined"?Module:{};null;Module["onRuntimeInitialized"]=function onRuntimeInitialized(){var apiTemp=stackAlloc(4);var cwrap=Module["cwrap"];var NULL=0;var SQLITE_OK=0;var SQLITE_ROW=100;var SQLITE_DONE=101;var SQLITE_INTEGER=1;var SQLITE_FLOAT=2;var SQLITE_TEXT=3;var SQLITE_BLOB=4;var SQLITE_UTF8=1;var sqlite3_open=cwrap("sqlite3_open","number",["string","number"]);var sqlite3_close_v2=cwrap("sqlite3_close_v2","number",["number"]);var sqlite3_exec=cwrap("sqlite3_exec","number",["number","string","number","number","number"]);var sqlite3_changes=cwrap("sqlite3_changes","number",["number"]);var sqlite3_prepare_v2=cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);var sqlite3_sql=cwrap("sqlite3_sql","string",["number"]);var sqlite3_normalized_sql=cwrap("sqlite3_normalized_sql","string",["number"]);var sqlite3_prepare_v2_sqlptr=cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]);var sqlite3_bind_text=cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]);var sqlite3_bind_blob=cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]);var sqlite3_bind_double=cwrap("sqlite3_bind_double","number",["number","number","number"]);var sqlite3_bind_int=cwrap("sqlite3_bind_int","number",["number","number","number"]);var sqlite3_bind_parameter_index=cwrap("sqlite3_bind_parameter_index","number",["number","string"]);var sqlite3_step=cwrap("sqlite3_step","number",["number"]);var sqlite3_errmsg=cwrap("sqlite3_errmsg","string",["number"]);var sqlite3_column_count=cwrap("sqlite3_column_count","number",["number"]);var sqlite3_data_count=cwrap("sqlite3_data_count","number",["number"]);var sqlite3_column_double=cwrap("sqlite3_column_double","number",["number","number"]);var sqlite3_column_text=cwrap("sqlite3_column_text","string",["number","number"]);var sqlite3_column_blob=cwrap("sqlite3_column_blob","number",["number","number"]);var sqlite3_column_bytes=cwrap("sqlite3_column_bytes","number",["number","number"]);var sqlite3_column_type=cwrap("sqlite3_column_type","number",["number","number"]);var sqlite3_column_name=cwrap("sqlite3_column_name","string",["number","number"]);var sqlite3_reset=cwrap("sqlite3_reset","number",["number"]);var sqlite3_clear_bindings=cwrap("sqlite3_clear_bindings","number",["number"]);var sqlite3_finalize=cwrap("sqlite3_finalize","number",["number"]);var sqlite3_create_function_v2=cwrap("sqlite3_create_function_v2","number",["number","string","number","number","number","number","number","number","number"]);var sqlite3_value_type=cwrap("sqlite3_value_type","number",["number"]);var sqlite3_value_bytes=cwrap("sqlite3_value_bytes","number",["number"]);var sqlite3_value_text=cwrap("sqlite3_value_text","string",["number"]);var sqlite3_value_blob=cwrap("sqlite3_value_blob","number",["number"]);var sqlite3_value_double=cwrap("sqlite3_value_double","number",["number"]);var sqlite3_result_double=cwrap("sqlite3_result_double","",["number","number"]);var sqlite3_result_null=cwrap("sqlite3_result_null","",["number"]);var sqlite3_result_text=cwrap("sqlite3_result_text","",["number","string","number","number"]);var sqlite3_result_blob=cwrap("sqlite3_result_blob","",["number","number","number","number"]);var sqlite3_result_int=cwrap("sqlite3_result_int","",["number","number"]);var sqlite3_result_error=cwrap("sqlite3_result_error","",["number","string","number"]);var registerExtensionFunctions=cwrap("RegisterExtensionFunctions","number",["number"]);function Statement(stmt1,db){this.stmt=stmt1;this.db=db;this.pos=1;this.allocatedmem=[]}Statement.prototype["bind"]=function bind(values){if(!this.stmt){throw"Statement closed"}this["reset"]();if(Array.isArray(values))return this.bindFromArray(values);if(values!=null&&typeof values==="object"){return this.bindFromObject(values)}return true};Statement.prototype["step"]=function step(){if(!this.stmt){throw"Statement closed"}this.pos=1;var ret=sqlite3_step(this.stmt);switch(ret){case SQLITE_ROW:return true;case SQLITE_DONE:return false;default:throw this.db.handleError(ret)}};Statement.prototype.getNumber=function getNumber(pos){if(pos==null){pos=this.pos;this.pos+=1}return sqlite3_column_double(this.stmt,pos)};Statement.prototype.getString=function getString(pos){if(pos==null){pos=this.pos;this.pos+=1}return sqlite3_column_text(this.stmt,pos)};Statement.prototype.getBlob=function getBlob(pos){if(pos==null){pos=this.pos;this.pos+=1}var size=sqlite3_column_bytes(this.stmt,pos);var ptr=sqlite3_column_blob(this.stmt,pos);var result=new Uint8Array(size);for(var i=0;i>>0);if(data!=null){FS.createDataFile("/",this.filename,data,true,true)}this.handleError(sqlite3_open(this.filename,apiTemp));this.db=getValue(apiTemp,"i32");registerExtensionFunctions(this.db);this.statements={};this.functions={}}Database.prototype["run"]=function run(sql,params){if(!this.db){throw"Database closed"}if(params){var stmt=this["prepare"](sql,params);try{stmt["step"]()}finally{stmt["free"]()}}else{this.handleError(sqlite3_exec(this.db,sql,0,0,apiTemp))}return this};Database.prototype["exec"]=function exec(sql,params){if(!this.db){throw"Database closed"}var stack=stackSave();var stmt=null;try{var nextSqlPtr=allocateUTF8OnStack(sql);var pzTail=stackAlloc(4);var results=[];while(getValue(nextSqlPtr,"i8")!==NULL){setValue(apiTemp,0,"i32");setValue(pzTail,0,"i32");this.handleError(sqlite3_prepare_v2_sqlptr(this.db,nextSqlPtr,-1,apiTemp,pzTail));var pStmt=getValue(apiTemp,"i32");nextSqlPtr=getValue(pzTail,"i32");if(pStmt!==NULL){var curresult=null;stmt=new Statement(pStmt,this);if(params!=null){stmt.bind(params)}while(stmt["step"]()){if(curresult===null){curresult={columns:stmt["getColumnNames"](),values:[]};results.push(curresult)}curresult["values"].push(stmt["get"]())}stmt["free"]()}}return results}catch(errCaught){if(stmt)stmt["free"]();throw errCaught}finally{stackRestore(stack)}};Database.prototype["each"]=function each(sql,params,callback,done){var stmt;if(typeof params==="function"){done=callback;callback=params;params=undefined}stmt=this["prepare"](sql,params);try{while(stmt["step"]()){callback(stmt["getAsObject"]())}}finally{stmt["free"]()}if(typeof done==="function"){return done()}return undefined};Database.prototype["prepare"]=function prepare(sql,params){setValue(apiTemp,0,"i32");this.handleError(sqlite3_prepare_v2(this.db,sql,-1,apiTemp,NULL));var pStmt=getValue(apiTemp,"i32");if(pStmt===NULL){throw"Nothing to prepare"}var stmt=new Statement(pStmt,this);if(params!=null){stmt.bind(params)}this.statements[pStmt]=stmt;return stmt};Database.prototype["iterateStatements"]=function iterateStatements(sql){return new StatementIterator(sql,this)};Database.prototype["export"]=function exportDatabase(){Object.values(this.statements).forEach(function each(stmt){stmt["free"]()});Object.values(this.functions).forEach(removeFunction);this.functions={};this.handleError(sqlite3_close_v2(this.db));var binaryDb=FS.readFile(this.filename,{encoding:"binary"});this.handleError(sqlite3_open(this.filename,apiTemp));this.db=getValue(apiTemp,"i32");return binaryDb};Database.prototype["close"]=function close(){if(this.db===null){return}Object.values(this.statements).forEach(function each(stmt){stmt["free"]()});Object.values(this.functions).forEach(removeFunction);this.functions={};this.handleError(sqlite3_close_v2(this.db));FS.unlink("/"+this.filename);this.db=null};Database.prototype["handleError"]=function handleError(returnCode){var errmsg;if(returnCode===SQLITE_OK){return null}errmsg=sqlite3_errmsg(this.db);throw new Error(errmsg)};Database.prototype["getRowsModified"]=function getRowsModified(){return sqlite3_changes(this.db)};Database.prototype["create_function"]=function create_function(name,func){function wrapped_func(cx,argc,argv){var result;function extract_blob(ptr){var size=sqlite3_value_bytes(ptr);var blob_ptr=sqlite3_value_blob(ptr);var blob_arg=new Uint8Array(size);for(var j=0;j1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function==="function"){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="sql-wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["L"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Da"];addOnInit(Module["asm"]["M"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function _tzset(){if(_tzset.called)return;_tzset.called=true;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAP32[__get_timezone()>>2]=stdTimezoneOffset*60;HEAP32[__get_daylight()>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function ___localtime_r(a0,a1){return _localtime_r(a0,a1)}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,65536);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_access(path,amode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_chown32(path,owner,group){try{path=SYSCALLS.getStr(path);FS.chown(path,owner,group);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ftruncate64(fd,zero,low,high){try{var length=SYSCALLS.get64(low,high);FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4;HEAP8[pbuf>>0]=type;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops&&stream.stream_ops.fsync){return-stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function setFileTime(path,time){path=UTF8ToString(path);try{FS.utime(path,time,time);return 0}catch(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();setErrNo(e.errno);return-1}}function _utimes(path,times){var time;if(times){var mtime=times+8;time=HEAP32[mtime>>2]*1e3;time+=HEAP32[mtime+4>>2]/1e3}else{time=Date.now()}return setFileTime(path,time)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"a":___assert_fail,"r":___localtime_r,"E":___sys_access,"g":___sys_chmod,"x":___sys_chown32,"h":___sys_fchmod,"y":___sys_fchown32,"b":___sys_fcntl64,"i":___sys_fstat64,"D":___sys_ftruncate64,"B":___sys_getcwd,"w":___sys_geteuid32,"d":___sys_getpid,"j":___sys_lstat64,"I":___sys_mkdir,"F":___sys_mmap2,"G":___sys_munmap,"H":___sys_open,"z":___sys_readlink,"t":___sys_rmdir,"e":___sys_stat64,"v":___sys_unlink,"k":_emscripten_get_heap_max,"m":_emscripten_memcpy_big,"c":_emscripten_resize_heap,"q":_emscripten_thread_sleep,"o":_environ_get,"p":_environ_sizes_get,"f":_fd_close,"n":_fd_fdstat_get,"s":_fd_read,"l":_fd_seek,"C":_fd_sync,"u":_fd_write,"J":_gettimeofday,"K":_time,"A":_utimes};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["M"]).apply(null,arguments)};var _memset=Module["_memset"]=function(){return(_memset=Module["_memset"]=Module["asm"]["N"]).apply(null,arguments)};var _sqlite3_free=Module["_sqlite3_free"]=function(){return(_sqlite3_free=Module["_sqlite3_free"]=Module["asm"]["O"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["P"]).apply(null,arguments)};var _sqlite3_step=Module["_sqlite3_step"]=function(){return(_sqlite3_step=Module["_sqlite3_step"]=Module["asm"]["Q"]).apply(null,arguments)};var _sqlite3_finalize=Module["_sqlite3_finalize"]=function(){return(_sqlite3_finalize=Module["_sqlite3_finalize"]=Module["asm"]["R"]).apply(null,arguments)};var _sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=function(){return(_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=Module["asm"]["S"]).apply(null,arguments)};var _sqlite3_reset=Module["_sqlite3_reset"]=function(){return(_sqlite3_reset=Module["_sqlite3_reset"]=Module["asm"]["T"]).apply(null,arguments)};var _sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=function(){return(_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=Module["asm"]["U"]).apply(null,arguments)};var _sqlite3_value_blob=Module["_sqlite3_value_blob"]=function(){return(_sqlite3_value_blob=Module["_sqlite3_value_blob"]=Module["asm"]["V"]).apply(null,arguments)};var _sqlite3_value_text=Module["_sqlite3_value_text"]=function(){return(_sqlite3_value_text=Module["_sqlite3_value_text"]=Module["asm"]["W"]).apply(null,arguments)};var _sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=function(){return(_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=Module["asm"]["X"]).apply(null,arguments)};var _sqlite3_value_double=Module["_sqlite3_value_double"]=function(){return(_sqlite3_value_double=Module["_sqlite3_value_double"]=Module["asm"]["Y"]).apply(null,arguments)};var _sqlite3_value_int=Module["_sqlite3_value_int"]=function(){return(_sqlite3_value_int=Module["_sqlite3_value_int"]=Module["asm"]["Z"]).apply(null,arguments)};var _sqlite3_value_type=Module["_sqlite3_value_type"]=function(){return(_sqlite3_value_type=Module["_sqlite3_value_type"]=Module["asm"]["_"]).apply(null,arguments)};var _sqlite3_result_blob=Module["_sqlite3_result_blob"]=function(){return(_sqlite3_result_blob=Module["_sqlite3_result_blob"]=Module["asm"]["$"]).apply(null,arguments)};var _sqlite3_result_double=Module["_sqlite3_result_double"]=function(){return(_sqlite3_result_double=Module["_sqlite3_result_double"]=Module["asm"]["aa"]).apply(null,arguments)};var _sqlite3_result_error=Module["_sqlite3_result_error"]=function(){return(_sqlite3_result_error=Module["_sqlite3_result_error"]=Module["asm"]["ba"]).apply(null,arguments)};var _sqlite3_result_int=Module["_sqlite3_result_int"]=function(){return(_sqlite3_result_int=Module["_sqlite3_result_int"]=Module["asm"]["ca"]).apply(null,arguments)};var _sqlite3_result_int64=Module["_sqlite3_result_int64"]=function(){return(_sqlite3_result_int64=Module["_sqlite3_result_int64"]=Module["asm"]["da"]).apply(null,arguments)};var _sqlite3_result_null=Module["_sqlite3_result_null"]=function(){return(_sqlite3_result_null=Module["_sqlite3_result_null"]=Module["asm"]["ea"]).apply(null,arguments)};var _sqlite3_result_text=Module["_sqlite3_result_text"]=function(){return(_sqlite3_result_text=Module["_sqlite3_result_text"]=Module["asm"]["fa"]).apply(null,arguments)};var _sqlite3_column_count=Module["_sqlite3_column_count"]=function(){return(_sqlite3_column_count=Module["_sqlite3_column_count"]=Module["asm"]["ga"]).apply(null,arguments)};var _sqlite3_data_count=Module["_sqlite3_data_count"]=function(){return(_sqlite3_data_count=Module["_sqlite3_data_count"]=Module["asm"]["ha"]).apply(null,arguments)};var _sqlite3_column_blob=Module["_sqlite3_column_blob"]=function(){return(_sqlite3_column_blob=Module["_sqlite3_column_blob"]=Module["asm"]["ia"]).apply(null,arguments)};var _sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=function(){return(_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=Module["asm"]["ja"]).apply(null,arguments)};var _sqlite3_column_double=Module["_sqlite3_column_double"]=function(){return(_sqlite3_column_double=Module["_sqlite3_column_double"]=Module["asm"]["ka"]).apply(null,arguments)};var _sqlite3_column_text=Module["_sqlite3_column_text"]=function(){return(_sqlite3_column_text=Module["_sqlite3_column_text"]=Module["asm"]["la"]).apply(null,arguments)};var _sqlite3_column_type=Module["_sqlite3_column_type"]=function(){return(_sqlite3_column_type=Module["_sqlite3_column_type"]=Module["asm"]["ma"]).apply(null,arguments)};var _sqlite3_column_name=Module["_sqlite3_column_name"]=function(){return(_sqlite3_column_name=Module["_sqlite3_column_name"]=Module["asm"]["na"]).apply(null,arguments)};var _sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=function(){return(_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=Module["asm"]["oa"]).apply(null,arguments)};var _sqlite3_bind_double=Module["_sqlite3_bind_double"]=function(){return(_sqlite3_bind_double=Module["_sqlite3_bind_double"]=Module["asm"]["pa"]).apply(null,arguments)};var _sqlite3_bind_int=Module["_sqlite3_bind_int"]=function(){return(_sqlite3_bind_int=Module["_sqlite3_bind_int"]=Module["asm"]["qa"]).apply(null,arguments)};var _sqlite3_bind_text=Module["_sqlite3_bind_text"]=function(){return(_sqlite3_bind_text=Module["_sqlite3_bind_text"]=Module["asm"]["ra"]).apply(null,arguments)};var _sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=function(){return(_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=Module["asm"]["sa"]).apply(null,arguments)};var _sqlite3_sql=Module["_sqlite3_sql"]=function(){return(_sqlite3_sql=Module["_sqlite3_sql"]=Module["asm"]["ta"]).apply(null,arguments)};var _sqlite3_normalized_sql=Module["_sqlite3_normalized_sql"]=function(){return(_sqlite3_normalized_sql=Module["_sqlite3_normalized_sql"]=Module["asm"]["ua"]).apply(null,arguments)};var _sqlite3_errmsg=Module["_sqlite3_errmsg"]=function(){return(_sqlite3_errmsg=Module["_sqlite3_errmsg"]=Module["asm"]["va"]).apply(null,arguments)};var _sqlite3_exec=Module["_sqlite3_exec"]=function(){return(_sqlite3_exec=Module["_sqlite3_exec"]=Module["asm"]["wa"]).apply(null,arguments)};var _sqlite3_changes=Module["_sqlite3_changes"]=function(){return(_sqlite3_changes=Module["_sqlite3_changes"]=Module["asm"]["xa"]).apply(null,arguments)};var _sqlite3_close_v2=Module["_sqlite3_close_v2"]=function(){return(_sqlite3_close_v2=Module["_sqlite3_close_v2"]=Module["asm"]["ya"]).apply(null,arguments)};var _sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=function(){return(_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=Module["asm"]["za"]).apply(null,arguments)};var _sqlite3_open=Module["_sqlite3_open"]=function(){return(_sqlite3_open=Module["_sqlite3_open"]=Module["asm"]["Aa"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["Ba"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Ca"]).apply(null,arguments)};var _RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=function(){return(_RegisterExtensionFunctions=Module["_RegisterExtensionFunctions"]=Module["asm"]["Ea"]).apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return(__get_tzname=Module["__get_tzname"]=Module["asm"]["Fa"]).apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return(__get_daylight=Module["__get_daylight"]=Module["asm"]["Ga"]).apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return(__get_timezone=Module["__get_timezone"]=Module["asm"]["Ha"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["Ia"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["Ja"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["Ka"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["La"]).apply(null,arguments)};Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stackSave"]=stackSave;Module["stackRestore"]=stackRestore;Module["stackAlloc"]=stackAlloc;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); - - - // The shell-pre.js and emcc-generated code goes above - return Module; - }); // The end of the promise being returned - - return initSqlJsPromise; -} // The end of our initSqlJs function - -// This bit below is copied almost exactly from what you get when you use the MODULARIZE=1 flag with emcc -// However, we don't want to use the emcc modularization. See shell-pre.js -if (typeof exports === 'object' && typeof module === 'object'){ - module.exports = initSqlJs; - // This will allow the module to be used in ES6 or CommonJS - module.exports.default = initSqlJs; -} -else if (typeof define === 'function' && define['amd']) { - define([], function() { return initSqlJs; }); -} -else if (typeof exports === 'object'){ - exports["Module"] = initSqlJs; -} diff --git a/lib/sql-js/dist/sql-wasm.wasm b/lib/sql-js/dist/sql-wasm.wasm deleted file mode 100755 index 62858d6535df4cf44e7619c966d97443e636d89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332232 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�IwaISh7>TIr>q^fs#l8 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�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

3gkqa>T_p1W$v0&C7OSYzOrRh5O!YhQezt_j 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�Dl@(Nm>jB73Y5BK5IQsa^y6EHeY57q%3TzyGd}clL@%w4{ z0iXPh$;L2;nsHz1%G7ARqHFzIu&ld|39o2wjE~b_NxgdY^@D?A_ z0$?-=K#MKppT24Wg!;Du^co{R!8jDT#+ImhU}c8J+SU)c*QMn*9OZv=gSI8+Us+f8 zJ0uo=ecO6=r*Ea@U;5U(fkTP(hXL%b2eqD|{5?(pAIegn2uUZUbc@vBB$$a;HBsK5 z^Iq!}EZZZr-4H8j9vln!8^^LsjgoX5J-Pd|*j?ThDL%w@Clq9&&~(I(1U7OHr{&jg zQP9L`5vMoGJ8y|~uspF#tfl`e#3bg^o0um3$~Z7v8KfN$GplB<%pss*{W+CTS-UEtYfbNy7fto}pf9ditE0TUO0YzNr3)_W%GO z5|APA3Q$=^>`cB|(#nIX_=5>wSK|?1PcTO9LB)flWx++=bb>X#} z@Xjd)q4CZ!L0t5c!L2OEKp>r zE4nYh6@JR86<=}HOnHNIh=0Oewt?~+ajGpT)?`?Apw9M_w0~m) ziOTQyTxk7bPdq{LnW=xZO;HNLz5`1}kj)OoBa`KZ`KKyt1R|O#Yy~D{6VI^Z6f-Q#c--Q@o57P;vH|OK! z4nhRvne0=&##f{}G-xc{L*jKaq067*qLjDdCaj)ZHmZzeyojGdp1SlH;Kf!Q)-=*) z;I9)2q;N0XMOQOHghStsifA_NAhYx88vIDrxY_J?^#0@K$Nc2$_ua6xPu8^7@2b$D zC6i1w&JTxiCQS=QEQU9AB>$gf<*gfSa{0u1OfLVNl<#-cygp5`jbc@X3*bg?Ql-*j zV$dd6&_OXI{aV<~f>zS-cd@ob_UAdL1_*)^_tpl8ZSr+2x)nl{oWI!VS!F9?1(&X_ z%$+drapzj-qeDr&ZStSJ?W;G~7+P4v+IMBb69e$2eW{io?71S340Oa7jue0$&| zob}kK<#IA^sc&I%8sB2ngoF4t2x&JznHGMu(Zi~xs-%@`R#^kW z6~rnZSmGZ;j&<2+zL%6=cV+PePLBhlDF1FOalVLkvMk@8KL4FzEFV5||6^0~Kjyb` z``S;fTKYj01sF}M7nmMXk3w+=@z&(ju|)xD`zSwv8j|0}KRo7l{u#6dzUIG$JHSr+ z{gUd0BYO5N3gH`O#UMCncvG4td;K^cT($OnxDh-k+IseU6 zxi@r$g;j~m_mSp^fmnD&5$Sf06K#Xm(Z3UU{{Gf`iJhF+%L!!CB_5i}h@GK2N=V?* zh`cN611XlXf(r0Db<97eT3P-84>TsV4oY4|I$b+~B!9S-0s%OztkDnvDx_v+=b$+# zTZ`+J<(y4Hqa*!-k^?9!08_GqiTSh0R1*f!RWg+I4nScI>f@mdKw)l`8{tL6^6x(s z`5`g2I|(<|d3Z{Sag_zMWwKRr^w1g5bbF$l%R0+hq}$_5-g!W02bm@df9eCOcWqPg z;yA6M$-sm;2m}b5Fmn}&;bb6~93;aAoXX@NV-JvlE=AZvfOj6iX=Ly_bCDXaksgwOsxMB1sDq7UdOlN zBYk_lS2Fx~gTF6D^M9bYT-hPYt*#`M|476Pe|cHnn3XqWDiW2y^&J%P=JCzp@te3X zqk4QOE8i6!@3#cL-UyH19Ugzz6C@6K?E-sMq&BZ`atbXSL)p z(1)5)DrrifE*GRvrh)uF9b?H!7{jrm!-cAIHfd3a+gCCG-!`9{|@HFOjJ&B zOPrKYG(Wlga)j7eXUnk+IXbDYvq(j%EH4U1;t3PL z4=EhTMol%fq5M4{BC@=-f;J!W-{|lo5+xErmH*~n1digBD?2g{syt4L1{VLr`Q5B?oIZ8Kjly_c&fUdB7q8lI!O7E`h3ZT69H z@JrcWl{#7-h&hm%9ZY+#NKMPNx%>*N5i%#u+3r)ubY|$sfHwQJ55@uvoZOmCpamV+ zTB9o&-_4~qK~#){I=0wWz!r?Io6KOX8$3o3ZgazkXYqJ15BMKQKdLJ(d9HhSM`HPW1j!6^(;%Bk(Jb?^3?UR?%zEvcn!O75fooErtzL?& zgmOAWtMI~VqN))l>ccu&o91RZjRjM{U3UjZgG>zLIecxUbxt-?**ZxSySi{66T8uq zl0@lxDo32u34sr#+wUkvR2oP?2k$0Gz$6-x06U}9S*Dowu+tCfXVA>@`w&I4}_C1lxjxC~QVOQR;3(wks z>*9*luZsgA#P|@}^}%MR4}z~e?GpqDCmG(A2ArL1VcW3{lAUS!-NnX4`~mIR|IFyW zQOOO#P7o<%kq1ZB*Oqz=YhSi#fUOd#ua)pLZMdb{-K=>B&MfXG%AvOno=>rX?KL|^ z3x(FVQ?#yZgidbj$Ni8CtB>!CX-_LfHAJKD1#o6R<7l*OTj?&i*Kll3t$a-8(Vm1R zGt0_Gt^Ch$1mnZ#UdB^YTOK({I<{R~;J1l=^zrNrC`GVCVHOSvzttSLW z{*Tw{i;#?+83#v7)GH1%CFd_+rKZhgnA>KIgGTm3vWwxOXaHQk`un7#4C!`t&rpDF zwsZT74t?(3AN%0P_7|s+B$^e-l%2a>^-WX_tAp>ORh4z%UC2|Nm4EbocQaxX6#jcc zyC6(k{I0|)Qa)P?<@?_pb5M&LmVTu*EjC;?o{b|qI`36bpsw-~UgZ7yQWEr%e#FP25`9S0tpZUr7>K zmWi~WUtkpur}EX#eWJmHgtUn#q*Zx>i5q6p7CWQ1*txE&T5X2x6S|OO4%ATAI2eZK zm;{)n+UB=fo?6>GHnYE?d{IUrG3f8h{}#z?H;PF^-*K~sDj2b84K|;Y^o`&IQ?#JA znrAv$WNL$bRSDHWII$!R`Yyqf(+lXSdv#!rBOex98cI%2mYka?>G9E_B)P%cZ5}&O zGGg72v{j^Z`PDB+)?t*NAO!ajg8Sv^^T=gKbrB=JL-WGYR$`B&=FK=rpnq$C6qq z&RSO%cbZMxXmEOi+aqDv298hcyN7hes_XuTo?y&X0(v4#6nK9=3kAt21t{OZMl2Z; zpQk*HZAZ91EjA>x1N^Ro?Ibuj>RCmZ$GBd*4L6 zbhM(?gFGp9DS#)+<*UpQw2VfQZ$GG(AHJu2#B+CYQu^h8`?+*T@-G}v4`*CVPtt;v zkZ#kVPs;iow$dQO9S5cED6;nLpnZW@po3s&K%_rrkHk)*EPuW7iVuMOy1_1gv_x`s zcx&oC4nmKEReS8M-Qz%0XNzrmBpp9zp*%yN_ehRFIy7)DE}rfk_CtrWb%&K|swK-> z9kPXnDT;P1SrdDXb;xQnMHw=bD*r^pfA5fdj&zuZ=Y>PySpVS4V~q|ohQN}Sx4jqb zPP^`-&EAWGWBM=TRsbMV7t``>EvhzlDXe&@>-09k1@S&YYmcM#qMN);c-j$=~!&k9MB(ikwmVZi8vMaNiTW~Mn; zqC3cMY6)pXL{2UJs*H3b({m%8k#<{8cB>v;fIDQ=X1EmD$}BTct{6eTwnQiq5tfKP zbZE(_)zS73FTLwh#Hj19+#YjOf;j-D=Z&U~+sZ&Fs4!0*X8c9sM-r|{+gwZ+Gf$m2 zb|9_~Tq+nFu#iU#(k{UB+ESotFl+}X!j-X&A2POO7~8Nsh^uYoqc*ld3BlNwHO96~ z><-9?`N`NOI|~$F}S%iEJuhQ8{1PSB@1kZ|p1CgndPB=;XR_wyJ%lEBgw>a!Juy zVP8pF1`nhcx39G1*9OU zEgPHw!(a&e`0$axT8^f~n|PCry5@%Uhh;3=DRsK8Lh~)`IWXC%Otjpz_|H z^72bFOMe`SHT?o2+3?gS>&^YKyD|1~AXLGrIhm9>7!`)HSwrzLn7C1-E;ZN~QjMW{ z;L~d!G`-1?B&Af=OS-iMm}s9t5Z1Y;o~_Fn_3Q*fy9cf{T_9Ocb~S)5o8h!I4oF?1 zs0Xd4&13lBW}$KC-n8x-WG7Mf6-+dJ)>$dFptD%0wpm?2e3u*?{$NfI5U1SbA@7xs z&Cm8rUSXl9cHH&bOOJi#8ONQqAAE3B1j8+g$}aFuZR*CaGhUGU6+TniSpr>dK8oPo zipS*Ca1W70>n&Nhzq|D#Z~vHU|0vo&wzhwq*#2>9^&^oo4V{&w{EvK(W4`qeLZ2Xm z1@JP`G5QWW4|^IL3V066Fo8fK)8=l6T+l2tQH?3^Dm`UN`0(?CWC#yL4?1ySJk3Ug zP?C{<07x)VB(vF-tZ{3LHO3Wdd}PHMw^Fag8jqM@jYk$oDEsIUtFp$U#2Sw(j<}>a zas_K70@!^+5$vR5jr~Ubs#&9WK*bv4iZ$xta@J_f!Wbg>Td_tx6l>f%*&S%q#}r`P zk))+!lKz2-z!{`{^bv6YTOlz;AAOSur>QAP*Dv9;TwcV$vr1B?sv<57>xs+c!g?_k zSs44}u{&9kemS?3YvTIlX5!k*bd-x(mM^`VH6vMqo4Cfk{L9&RN|mH6_u3nDuYnd} z5iMo4EBD*P#^L_BURzn6;^v($nKDLhIOH>ptKd-1Qgtb4)60&IF%rzSbJA_^6Vk%ruhJn7@a(WspJF|-} zeY5B2SJ88uj#Nkc-FE|we4DbqK#JRS8!o#hPCL&EV76aO)IqQ^Berd6%6WhgNEy%yl0Oo}mAnE|ti4Ez~8c)OckbMF!@ zYI`?X(K_)5Y92Mzn&&g$ju%Pk@VUKfXMxu=LGe@e8|;LDx^s!Y1)LX>0+i+o1X0;s zw-Xgd5q!LUtvS`n%VSUZS9*F_2?XgUY3JYmhaV4rWfH5P^O(4AnltkWK{=qb?ym;Y zY)NV1eauPh#OY%5*5;4H)(}O(LkQ5?ok0iKZ`Uvhwd4ht@J4fvBm;!LG7CUnMyv;eMv3(;D1in^ocF`08hApC7=UZeSj3z67cKrj_PaD`rsaE zd3CuFSaeDvD~j<2jIK(op<|{aFhc9X^Gs4HD+?V*Vk|g(%h=gW-|niC3Pm-=@mn%) z69AF-p$t;Da2iRWhLo{4kTS-rje}+Ly4puD>|vrSy2@%kD^_aW+(~MaCwwm zM>^2!`9kCEcl6xXBx_D`AslSs9f-FYr-{O`zD*+m(+UKMXjbC%BY}|3+(2r4Nv(*H zN|J^#4nIQR3+%i6)JJWPu*B51%`Z0=Ot&z;mWYQH#!pXTe8>@q0QR#IO_&!Fad%aT zxG#wqcf=({@30avGNT&{T1KK;B9^LHNyJGd5$oY{iP#Fdsi3feG8R}t_)d_F0q}GS z_w`f~tK7n%yncvjAO@ES_Ph^g=8@rF>#jE(-g-F3aR`51CFPH5&T(c1$3xaivh9EF zs1_#Ks4@-j0CZv+#A4eAhIRdNPLdS<%Q*?OXYZAAcafV;{W3798yn2Bx9AY`SYGv;7BF17EafAm%Qf7P zy8C;1J95fm-*_UL50F)l$hw{Di|o-+yuGVE_~NxDA&0M9;F**rff&Tz4_A8f4Eriz zdb~bs=o|(f5}+oUf?=m3%0dkLaWNtM+Hy|h8rRxk8>4jcYmd&6r)@9z9V3Gb$M8=j-UE;wbp%L>7&13139vqIbeqPb}i=5hHa* zfYwxJtOFKsH9q>kOvCV78i4~#Yz4g7)WUfIRt+ia;LdW3j$KpV$LW{_-f4o2j~PVe z!>#S|A76#zDF1>R@W3cgN#0%Yb%0^q9%H2ZOsqXhER^CEKmI5_(XqdPyq=yAJ$6R< zR*%xxQ|)8{GenYQj>Ra}M3@<#PYyaQ+9b4PnZnBCqa)&K7iMciQiR&v_YQ2$xD^@{{0o7FPN(%x{uJAhk>njy45P)&7>t;i&JbWaAQTDU@dVp1*Z_gC zOsO2Z@h%fs%xH@V#@hrpjbn-m(@G~m7E)8uI6W;=^mW(HJQhl-P{f6GWc!@QKY(q* zMC%lRgH8$G=_767v|X^qpnb@(Rm5`#hhduoBC#FeN6mn(?&KHB{Is;p<@I=} zKHF83iK>ZLW#w#KoC}!taE&%>0Px4Ah@)nEAPGxPyF>m`ydj=)-gH155g{^1${>O0 z*)INTsg-62!s{)E{xdivn*Ssq14(dHR6b;iUI%}{G{wcz_O!bA+zsdAT()}_ z6B}&UZck;w+y^)At7(}6j;9CMS{HHVWvQvi5b{ZyzKPxGHX=-zx0z!(oiC)BD(}9+ z&ap^@o}y@4M(56G5e-}0M!A;2HZl<|h;7AMVV{%NXG=z4CIW$B)QRH_^~urfiDgfm z>m>8wGJgK+Z(t|o+x8-pFPlf; z(5y^L2Bb;xR%XN2E%?ep<_uiYoej|eBEpfXI$f=`I4qW{FnUS9C)reGx3QE$o#DT? zqnuz*v2o!ZFw6ggW?9H2F@N#)LlHQqYtx;XgpUUk2&Ayx<6kQ#_0Y?sX_P0LcKeH$lZzzQxUn7x<6$^L96Kg@_C_e zk4*grjvgVxV#!u0>=(`G7G4Yjb)JJWW&L1~1fo%W6$^nXP7`e86%i<{5CWE*n@DYv z_EK5$*-dH%{C%JNUkdmJDc~Hv^et{9xpW+1kPiDH(#6q?b$U=gf2|kuOL;FhH+E*Hh z37aiIqC%9vSQpapjZML18(1NGO!W$`j9SunY03sFxeG#BRkfu(m#H*Jpi`aMqVzRzK@2@PYD@lv0@v&MC}v0GP~lfF*(Fx9G0!lh~M3Tv=EL zzQ?x{q9+)Vn5MLqx2Vb6Dn<01`TWx!;0`5G{WL^hh6x2A$|pK#9A>|9`>~H(mx(hO zVoY_`N1Jhjm=7gDOgQxxDWQJRjG53DA)FW`iIsv%L^h9$=gjh%;3ALOqP3Np0ur+&tz6+si3M8J!L?6A7t&YO6yc@lS4YP$~&l2PO$R3fEW^ zi}=@SI?e0dB+UneT6H-X<)TgR1${eNFm#sJ#F!I>P{e5dIWvvSy`}*$Gnj%%H~$~ppQeEbA@l}>c!oD~ zUOXRI8PVpdG7s6l*l}xT@7pn^*oqyA2Js37u}@qP6BZ_oCJ=`wbR%Ifb#ZZYYCv!Qu%%--mL^7MNHe!R9+^!{WP;R@ZrgtO;#G@>*dCw@?SjPn=!AJB-}XTm zigp{rozVYHSGPnE5OfZW9HwXI#j@4ca$SiBT08*tn7OmD<>R5E(uW7fp^pyMxCKdG zWIDaaPW@AgprdCnNakloZVd(_gI7OjatT+{czPU|_RjM7)2a-kn&;S9Yg^P=##$|= zLS_qSyJ4?bF{tdVcig}xURv4KCfaD*)=cx#y}q?=O9V{RBGxK?kXao9w)yRnH9u7WG0+C-6?#L)C^*(RFmys3;j zyjokf3A^dHdr8MhX@!(ceE?2io_W0jey8QT=gO}gQS>-)`9qSs+xz_eAmcJbWKmr1 z?yM$vZ=lGnH5M1dYOfCU3tymgCzryvWLkS$Ad`Eyh;_x)#ubZO+1}i2TyRsQMQvQj z!rHj_c<>vSDr@7Cr5-#*DPTB)t1y%}GLK090jmi8wN-?Er6P3XQe90&=#;H=Ks9&& zUn)ZDI0X(xDK+h=*h)pXx3k&?syqw@HUT#m*zKAiiZln`5L;X4XV=;~v0a}t!WbaIZ8{`lQy(iXyW5HiG*^^0Xcp1##mN#@d;fRt7LwKAcB~ z{m%}rW#md&=l;jRHe>Mz74_Hb5o}^%|5Faoq9=kz43^dasjM5JR)*9W{XB}Hz0bIp8R+(Uu zHtHImVoM#?NtPs_;jCqyHC2rP(n%m3zit(@K}j;tX{Mq$UH9@kR%C-vjLc8CT*nEy znG{HA8-A?_VQ!i<3o5DMaJWR$)(PR6PMpZA6(RzDgJ+NtH z0Vss-?nmSoMjMw--Ig*Ot0r*IDsGMJBW_(;9YJHlnk!o)Y!6$b*dA*oZ4_xpQO}}% zA!Q*xw`R1E!cJuIlX=4}6m-S;;!5N`HHh3>T;wh!a%)W|Vr32^aBskxhH0&-WIs@S zkM_h)0go%$0L_%_4KyMynTqXUd1P~?GaQMZPPw*N2;qNmgGyip6~%OjMmQ-ssY&W# znJt?Wo?%6y1j>V%}L zg%`kaCsCG$6!AixEf#}<%*=jW4cU8%W!ItQ)y^^yPse|{qZ>r&aQ#j4J!NICL}ERYsc1gWUoDRo%mOFB^HK#)U(qor3K&@OnZ+MmY9x zbL*m2S{~*qx=y)D5RDF-tVF({HBV{uYz?P}@9rsJm?7}rv9MT$oq%2jPV$jRUV-<_ zG4>??w5hUN{i&hiR-Qgh30CYdAf#(cH@9}uuuj|Y(vhsX%8{;C(lDmrhcQl(f5((7 zIs;WuOj&c5gJ0S_hwkI54#9d1I+&rG?%6TJ5^;uss&>9Y+F5XEaA7VBFPT!GvQo6& zVUr@NId&KVa+_N_OiJaa>Jgnl3wU)_2_ND#98i)VsY?~pUBZSYn#kWWB)584lG3PP z^r9*QZ)!8?@$GjGJGO2Z}|k} z;`;=DM7dzRD3?XrY67SRV2%S(uFon^?M6Doms71~v%zs+Cr;*K!10K1tZb~S+RGp4 zp3C<4^-j`tnVDn9*qd2hAa}ff1Rhy{83--MCDYrB-?Rfw<+o*z&}mwW5_3;5L(64z zwMA9jQY-0$BBk^0od*5r6U(`HR<7FHrRQfRBhptIEE z@y*2BDW9@7%gxqcxsxfM{PYQIL5x930yHj*zYj#3Utn+OsXzkJ>G;dXc?Fb2S>CCJ}@3 zEx9>3|4A)za-G7o)CWNS1v_?ZX$!@s838-(apV}Xz`9|@icCO2mp~b8A zz4~2}4kQ-wIwPAHDbM+zBTouppcVo|74a*ZkL?5weC@(Sc#V^?IBTA1WR`qF>jLVR zeS4;a6ySHEsH}wVcAfxj!Iw}wmf;-Ux-#Y~V+h$bgbDoiVJ;rJ?od6<$&n)@WC(I0 z&Bx;94=+bB{V*Tcv%C#smVesg>*iN&@qwAPFH5BUsF^96HeT(b+f;i9)Bua|({DC^Z?a9l-~;#2?8= zvU_wC9~{?&cbM%U86PciN3;r{wRVS;TA(1us3zDg?|zxxbvNn(1s#YPk`(%wlmbPj z@(JZhT#jC*)W&2>VrS}-@uF6{htk-JAu?2TS(-js@?LYZn7+qPnCGLqC=H5d-8L~Q zZTq0<5VJ+47>LkFo}?FD?#dIcb>)%QO>6IpbWtBErhN2>9OoKQ2|GDvG09HR# z9TR@olDX{)hA{Dvk;T?@OOJS1?<=lDzm^ z1vKRx=++(L9P$pUigmly1Ml|83rnt{zuWsdVhC%87p;m@gLUE5pp8?5!{OB60pgTn z(_j*tHUyDof#fWhQDMV5<6MX|>xh&)BJpcy!T0+?q~5BC)LSg5%dr$q>oQ3Xzy|yR?>@kpG%7=@)fdiyttlCrq+EqT)>qtKE_?X`*i3bgMB+ zti&X6Vrro{x=4vB2kvlfes+%NN8?QjJJF`8%(%s-;ipa~`8JXcB?slt0T3`lG9KGe znm>|*fGLaOx1^TeiX<*3+ybUjdX><=c8KyTl+W356F>}KoB1Pv&P`;7+17ctpQYp9QA{!e9jK%{GQ{m%C(a6oV)Ye`1Sc zqeV$YcU++!eV#kV!!peuXM1K+#-piZ8-b8W;1U(>1W>=cjkL1UWp5AZAB8^gg}d#d z-05=gvxg{o9G?R`O=#gaL2`Voj zI9q3#x<4a;eb7>07=UN~4^{*+G>S;9-}O<1U(_~50CVux>t0RT zx19&#`I>m}m?^f7>NQOa2XYYDEUQ0m(wE`!gK_!fvwch3V`5Z(dYn_C-OTVXkYCfwcur1Db#s(7us1-GyO+x8S}6p*!87o~(8^0$6LTxvNXQ z1ee*(5%)YK{j|@Ytl#hO!EFZ`ep2?uqVM^FI73qQY$ho zWEqQ|fH6tjg^m79*vOp7VPGt}>d+|vCkR=S6ufcpVcNs;eYaN|_^^D>?O_8q_#jR|$f7<(uS2&vb2G6AQ5(UB zRag@?KX~r8Dr`26y8)X)OB5QEwJ2n~RUutLC=-oI^>p?$6$tFMPrcRH6VImtdm~u8 zyzNsa(u%o3-bvY|YWbD`+s?vR*RgQV46;2HLA}5ir^=Td&CVzhZmPWMXqVumOuzxk z8>sFJB8kk%s(I#`2N+ayS=89D0joYs`zO@5PHm-I{bE}xUo>C$d*ytqU+E_L%N%U; z``X9r%}*eh*!+;qf__qA@&nON28_HVjk$_aagt)nB(f>(e-a8SY0SCh1b6X1*P##8 z++{*V@wP*M-aHGmI(G^CpD|!o7-96fPdIp3V!$&9OH4B@{LsRzzMuL+0qTx6Q>NN* ztFE~DZFk&g+}u{5*WT_RppWFTrrmC9pB5KH4Gb8!$HgVI7(Ds`9#@PE)JSw)#C##OkV7K4QDzXdXeBNG`yCY@P0NqmQSs4$ z34r$Af$BFKL+0zmBC& zey~doaF#DMP`K21r=vOWtR&Hxvdw}*mi2;)6sgAtu^@Ls+| zJW5;JO4{C54FBqVC9v1pN>!;L$3)%be`0QT;+ZaZ!dP_<@m8vp*?3&qd;be>$5o0` z7u~N>MzHAwP4&TxGBBCOUL<#{Y+Ob|uwppRFU+|6uCz3Y%27>(4)<*Ha1 zRAn4!X5asXnaq^eYWCjKsv7nRg}OC?LBgoT$S4j>`Nyt1NYj9v{X zbM?=%qQz-vj(i%mdCS668V=wlH{QyiOH)Ck^l~DJd;Sm;uw;|<@@evA&JW( zKa_dL4}IQXew#SV3cPII#&b>3{@_0?m6o>FQ~8v>VU z=rwHM?3tdo0Rs$ui!NjHIE%R3J!-7&3(vKjzt9^#1H zJh<3=TwS(;1Yy`cLZ4H5eSR=BdNY5JS#oP9l^cTNC)&hXEvpV$NHG`+et<@RPI3 zMrm=_HuX+c5o0u1~z*%c7mW^jwYf`1vnmmV+%LGFK4vTX)IRAjY zJ?v_w#1U|*Q6fPN;D;h2*gX*r?W&02_``LFSy-y>{TWmd8x(HQQeq=q<>vbySO}YB zCVp~Bk3TiJX_7g*_PUPFBsEM)ZgTC_Tk^b=-7TQ6WuWH6BJ;>{MhvHd^Qerg-z%4Y9P4+VW=BGJ%LNw=f0c%m2F}VV zFBP3x?{PG20z2CoARcH$>u`8kOcu=|dQ_aFrh3u~?&KRe4ly@woF8+eF%cHZsv#U9 zz<$msBFmp`6&0Unbri9tYy&!~D=kNObFKwc^8QmAf271ZuZqimCfc1qwa4)td1H84 z#@Tbb%!g#21~kP_POFJ?NSpq~_r-n^gg_C(7ddpcJdgQROuSCOomE%+yd-`yWTk;{3 zsmwc7Dsw$tp2}R$iq5io&-757gjr7X7YncDpVIYH^h<*7n21nfLxoEnVrRf^1%MVD zaM)Q!g6D#LMCZ6i=R*sWtMBJ!xQKhv=_?#Vv zV3^jTIlq(fjI%^*w#aqsloS~7wIG+_fI-s)R#+)sI^NsR>O;E92-Md_M(8D^=)8i+ zVA__F67S*qS$gD~?8$=0XqJ^y@FS5#c30Yf;LFh_U?sOU|IC`7c}j6i_+~ARNzPw_ zE9GF7@gd%g!I77TFG(WspUx=eI55y9DX1j7Iw*-*62S(pxO&1iRF z%~%Tsd=Rv=9%!x$|JoNr(XqlKze4DS;%kPaHxjoV{+&+5r_X0o&FB}3;rs`X&z$AJ zLaL(#phk=7)LH*6xXPH$;xeW)J;8Li9<+$A8&9vwbY{hLW{c@dikTHmXIUEl)R<0d z6VPu6ngf-PS9O2FgJ(L-vSB*P;v+(W#c-A=0tESSm#yGTKj#s z*M)M>ux&n+-oYjAsdiQ%w0lJICemc#}RCKO<~w$+2|7!Z;^zhJZX+xQRWtONN`+^DeRH1DN>$cG-$O@3-TG zbyF|Is@QWyTEo;SFQ#4$Boh#?S^aNBz38!=93apzh&}JNW6!nr`QLUGN~ZA(6Bx0^ zO4uMF^fN51xiIZSeK8=Bomq~W*A~Q5#svH`WzG)>q12O9Ihs=(=#zA>(rO{Iezrgy zwiVRgutWzKftKEQpbp>f{G_bb=1Q*cVpSAnI#k?y0@`UMJj#^7Zm6amWtz>8L`d-h zWwLq9tJC_0%n+hXSyiIL_OOFik?%pbSt9gBQV>d1H6D7sagsca@I<4o=RQK4WTA8XoQbW5JsU6l!Rj_WSdLT8V zI~n)d)8!?06PYt5woCsDV}mlazaGKeuwf6IDmDe_fr#d*VkS^}R&0WS&xT)96tA{9 z5T%x9S-Vz})U`6bPc{5T)HQoDtc1@^tj&1S$?z9;woT4i7+bc0h%u5;q0KfVx!4BW zu#II$R*1zd24Hdq+W?!4{U;UA05x>R1@PLbmDM@Nh^_2FaSpKx?v{r~K=gQTrpiYX z3|)Tl<`*4`%I~~qhQ~|YbH>>`;*-8EKxeMP5~$}D1Jeu0L;t+ zcZ#A&dHk{!5F?hsS|1EvwNMKZKC}@jcS1Hga#$QW{J>FmJ1Qm6VKM>+iLCU?aKt2O%sAlUa(zUH{P_WAajHSnIno#mlXM71sUbEUuEO3&ClCohlILqUtlHuB8COcQo+Wq>&Ic2l3Wli6=EKLtcx zsc5pmjiOo0d~4qH^xz=%A7*S_ueu|X8q6lw7Woc)iL8oOBHx1t5tFPzG{T~Zcq1Av z|N0{+6_A}JgaWN#s_C}!mgD_aL>L7-$c)K*NL{?5s7ZC4GZbylN;n&W4>2;nC)xAZ z_gbziW-F;n0p94rFo6!U=flMy^+BME1SMfR17VGdu3FdGLUkE=H!-jV-Sf zBWK=DwIkv@Pjdg0cKFO}3_o@D%qDt#!KIh?PmW$mVkdR}wpjLS`})dQwrczOs@N}( zqQI+TS(okUYvjYMtKrvMHU`1u_(-GB;2+ZsL%83MILT8L$~x_F()S;QLH?dTecV?! zeBgX(Y0#Vp|cc=U9Qr_m#vGT|H1W9cY!3T)i_Xfv9D>DuT{JI)oxW%Jge13 zg$y>E@~0MN&+W}V$UhO-HanYH?GFETXG5p2Yry>b4VYiwfa72@>^C&S{)1-Ne`vZ@ zwV1DK)|HyJwX~4By)HBH!2cwJbWo$S?yGmScw^HWUn?M87kUG-*PG4Vfcz#)SJ47p z)zQ~j9b%^YL{0bWm9ayor$ukAR_4u3n|!Tk_$_vH*P4H8jF_p_2n=F&kj3GT8triE zSX?GB0pCH{gChPn6O)uYq{(;NiB8nr;tA~5ow9Rb!6|KK%=bs^LUnirk!1yjF-alV zKmB~3@h%m=mm73sK!iiNE!3qn5PH$_imErDXMyeFsqn~bqMpu&A^7*I;95VOMV!z2OlNs*mmvw(Mn~=5VP`W)IAyA>lFT zgI->60!v9-_)E?nJN`jF37+$F3r8r;FbI+=cPQVvWvJ*0Ej=Yjl?{QT>ZihKNq$fW z`sSwL7dbj4r-E}^lT-2gjG#a~Kj>F`bz&gqf^|@Xm#2ftsoWjU;)CoH7w|!zf%8Gu zztKH*w?^SU`O^zI%cQfEHe%00!tD%dYNDlQcuP<7md>kMBH@AGOn*93ThH!XqMpv$ zpDJsi&2;W;^UX1?EgC+bmW{cPT`}=T369LOfWnslHvXozo9LixPmVP5Q)aAJNVcfe)P&>43*rPJZWq`&tnUv zG|{G#?(}3AY-~m)#8fOGl?bON^s*B zHwx}{n_5RO?#y3@6}Wf3S?C61{G?a#8}}zkHCbO3mJdoB$Q0{<(j_>-MW*?fIs=-} zaAjOm>Q0SH7Z*~7r*us|BM~z^n`AVMP6dVgpAj#_)C|T`&6$q4w)uWo1?FOcoSFeH zsg6|gee*cO!|TJ6$_yqmhs@^CJ=`4R&CxEVIRGNf!B|Io4wCgH&M~ys9Ma`;;6iTQ zwelJFqqB4v?gQO1HPQ$5ZR@u4e)we=zEdIex=7Rd_Z&P>ENYx?OPn%jAmfg5l6#q| zO*P;uY!Veum7B?6XJt7s2`?TG^5e%klf|NlF&60w5rPxoz@xy`dXIzcOkpI%n55z4 zU*-lVB62hsRvtD$Bhx&RM$O1cq26|I($b~r6G0qypIwbwbWy}L<%D~KToyX zM|RsdgJroHH(ny$hbWlX_~%BDrS%PL#jja@uI^*;Y=LRzq%k*Vw&u$^bKwBq7mg~WN@XZTtijhZ1Nuw-Ps*Y+o43rj5g_($_4Ybt6c+nIlzTN)XYH#COr zYn`liWVLBh;sBYFXv9c@H48~A5ivoM;HL_18n_*zrOJwJpAaRm!lnd~MCBqzZLWpa zm{eGJS`|)_09%D;_mJ1Uyw59CRqKi(Qm+UqI84qM!RZVZcsB04ueU37Vo+l9wi=+D zgG3sY1+c`!Uv^Oytm$kKs01D^KX&j)UJmdfI0j@AY`bmPvP$a7Knx@KCvlak>9c4$ z*(R*Jz;cY~+xep?<&h0b2|8I4E|ygP(ofj9ePiPuf;rsw>N?En!ny^N(%_sZLD`nByBN4 ztW9mjuMMiAzRFsdRR&c(Ty9V`GRleRl+LeHbdF28_vPa8 zrc=_nqHC!Oh5Pp@ix|JL5c{9KO7MpXK^J)u2cZP#-D05WG1iktsLaa2$O*nSPa{hj zV+G+%TW=6g-!y}yWt^XDp;c{g{?Q7p=CoQA4~VsC<1O=GnqewDWhDj~rhd@k4GLuz z6E1F|V0S{IJXX|Rf zd1M8gts8|wKTP0kZ6Qws9Czg(>X^_ZE=Jxt+f+;QU7?=H~X+J93Va! zq}T0$AiaI)x<}iG(T}zDY0Yr1$y9FYBa6}_DMPkrJiBu|!&;2BO2=boi1Kf;+dh62 zv-9$zu=_Yzj;N{`Ys*9Kl`W%PUXKYR1t5i-bkZ_dPANBd{%L;ZglMyF)V6O&pB5c$ zi_9QUMF{`Uman9m%#SJ~aX#&)f`UGEZ<&cqiXuS~MKH0gRCsSr1D!vj#ZHslHV!j^@k#@%sn_L|l(c<>hXoW_^Yvj~z-@(%~ z^U&gG1(p07yEq;zq7Y+>!MuU!B-D8k>NFqPMG#Eb2~R>RMBB{2W1>@v#37^h=~#-G zS!AeCe)|yOKEio=L^F5Ud=sVyjLiQ@x_->?X=>bq=00`c*%0PrFj zoA#C%OQ1nN=gC-EH%8QepxX!+qjiOHwu0J(_@;1lhR2{|xXlY}Vj!%ploJ`~zn#Wi z(^5^D#O5J2>U2x|4hX=D<3UO-aiz;j{!dW}jS(Wt0cN^UGJdt(&tK8A6TPas#XuxI zL3&J)q1pk;6iU>GH@_Ku7#$DsRJBb;#S$Zm^^sB$98@B2`#o2t_KlVLTj}d2HlHX= z=RA4-8gn^enn(A14gqlV;@L0h|5W&<~oyrp4W#_;QA<)=_A#AFs3ym6$jgoqzc)N#%Qk(Uq#oE6)G^;0!;8#AR^@1W zK{@ci?w3%7;R%ph>jBT;@xnf6hHhmo;b%a;;emu}L$YQWV5GqL3kgtQzU)X&Rcggl zJ4YI=zR-ju%mnPIJnI5+taUn}ekvf^ZX4Lf*b!02ewq_gC4^x#qV5m z?ri}SW_1+Y(rv;;j!2Bn&sy7&eB8zsWPwsVt4B&>cw#XXc3|cx}6H1MYJ3ASID0@;e;WuqZP=i6~M+` ztw5(tLwOVN@-rB|q=pLi=Ae#zMBJAr$gwdwoH2;7ehr*^`~uD<2^gG%G^I*lq2V8A zjR^FBKiET&t=0z7Ok;+ASy=5Aopc-jDxi$K`$Za@iy)@X@=)WfaTkWePA5T3y&4v3 zGhzLOz=m4>m@39afqD&oy6=l0YZMJ8zzi_zBN~ARX4ltiPRiEns6ES4Cs^Oa-Vp`3XV8U+kg%QnT`s= z*E9hn|CtDAU}R;moHXPE0ttckwt*5u z)7(o55J*BpZW`a;|G)O$XP?oGJ&s(cW$B!=_u6Z(^{)5(eb>8yeKlqVtY3mYD@;x) zL&q6my6xL4NkX%lqaT>ax6t{Rf#n5oTCAX!O-O($mu__r^ z!iQawB0vp(B!fR-KMes7V#|>~FmZ+BU|>>(MTl%AC@+Vri$il)tVuW^$+MetWOhO+ z=282Yl1v~FSNopeD%Uk}8%!ff83BTHV0(k>lC)!cu zt9k4EOS9{^LD&0M(a>8FA zc@Db+TlVTJek@-?-v-T)a-JW25jAIrR)$5Bt4nUSd_S%v(Vhj@wc@V6FCLdu0>9?r zV!^s4Hr=b)G;aZHKtXSgZ;x~s-w&^j1G1>JnoBu0WJxWGXvVLW09qq?gy;fqBQY&` z*3;lEQxrIp$hmM#ZMW(uLst}UELQjwQhOgHLMB^A%Xx~Qb0dLBU(96HOo zu%y#!5lj9Pml0vfl-h=J*y3hd--i3ZRQS>2J|=3Y(h5k6`@p8w<34Lyj~I{q7f;D{ zs8M-l!vvhjc4S^x$t!Z3!0g0!NWgg-wj+wyq&IY9W^Fg-MmxOPZp@nEMbcGTPugN= zCO1WdBjuYdfYyz1^k~}T2xQU=HM~8DO_!q3P{rT?y2z9h*W|x64JiW-t7K0Gm5J+_ z#n4{IQpyg2;_&QZJadgC(p7jc_)eNfg~S!LVO3Aw2c4SP(8+%%#~_P*;NM@I&7SDo zj|u%4iB{7vf@yA)sKe!z)Wj&STpe6~AaZwph0!P-YJ!=B z>C5v+dMJ4WvtpO#2iAGbF2)%`qee&-WoHe!$~9AH?2+D>J$?r%Vu9&=SCU&ia^IeI14aRi7H%@la zlT{Qrr(J}#KVoQDr?F!i$!*px%r|Yr*qQ|eMd#7xif_`AIcm@XK5aNjPfZ1Ur^t08 z@FAUU3;3{&wGd}stVF|s4RL<9w7n4vM$IExJX%h)X<2|~!|PdqJs@sYOoBlLaR$_e zxHbhT2C}5Z7l?s=l|2ib<4{tF>-ObABLo`_}seGGz2*OWz zIjFM50>P-b95FvIARYpNg{xY;o%*`Fkn^7}@DOxp{vrMQ&E)Iq642(wfhi@gV@4aV zvKKgv78qr!S>O=H7kFxe1=i}$vq#Uk@qS=T#RdIH)y%3 z{8*Wt)`(2KwlN!BrEwC7U*fuBvk7=$)3V{0lN<3%O0re$8A#-pQ{&X@otE&(B~iq8 zs_RIq{@K@Lw4{;{Oimw@tFIjP#3;w++XK8_Sb5eO=&QF#xmtvJVJGDx0#4w9*QT|w zjHaiBg@V2RbGNVx$`!G^jj7k1fwy4|+5pOUVNWzWuO*qY;EFP0PI#}k!1s#<-iY7}be3Fi zJadGI;|zh*mKCLFea=~1Zy7G`*Ezo6ojj9UR>H#?i?EOv#`Lav5qZ}{9-Y0_^(TFU zUG%3SjVm8-%gSXBpTc<2$$h2mbsikNivIeP&9S$ciQR`8)3A@&vn1g-`{4R1{1}bT z8D~W8bEa`*AMPBn*oRoQ6bm-lcM9(8)G?8p!fQyJP1>qZ0eiD+Yl~SxjRE$nvwBQj zoFQx(@osFmnsie}w`DXGa7WZ+mt6UY*5tR!8XS1>$r!C|5ckINYEu1w^D+R08*0mkJIqH8L)h zSE^4eM{8s{bztJ}YpGOgqk5 zwf5Vu9i0$#?Uq*%E4JTAezG{24pIBHx{D^<)_(P~5~&ic30A5FsRsVaVb_ARYptuT z`#!A%weGut1g-gJB|&T57sOHErp||9sUlC6GZycjbmssGdyfp7aPq90>sU?j2YW&> zO~LZU@z*{gd{ap{V@HGwN$ESG??AS@k^nH*WxCHsp@AK(oihKen|1E*jRK z?@Q^YWTa)45H34|kbfK_LefP^^AF+t#lZR2F-^aVx-c`Y>37leUD;*_#>D;Z7c-Kn zo+y$P2ciX4^eQ>D3cjEcvCX3yNkw(7Hqe(8cEv(ZT&uAq3OACaP)wtS#LN96<9kQs zrav-WT?r2@{vUyDM66z?Bj~Vk*x|&SA^iJ>oyxetp@VTz#iDD=f{UkyjeOG)E)CO+ z8VU^*jh>43lD3p+ilK|7k8Vf2lW54%&*+%D)x7R;bZ<3cA|4JWuS&fe4F^m;dpKM? zHJqz?IHdvC4u=LF4lrl7uMSyEAYeb2ZLAa8CkSF|oe2lUSmO8qsmTSL!^CmQJVvCL zR@^l!fV(!P!PF)gH`bgy-yEb_PYyeR-A>GXVhFL($8oWCQNqGY} z^-a#G2}zk%nOf{74!MeJrLt^NESniQCgzy@%&;#`H3MbMIaZ{x7AeL}DpZ48dG|I? zu|=OT_Ft;4klOh;3v_dQB^KkkpywAW0*1AztT^`iiNhl3210mHnRGkQZ z03q;8H_}XvUTnH$t`yw%)=9<#%Aw)-RC^an7!6U0KPPUhJ@YO6|--V zt+;(nvo)piKGXOV6SLE%|K-#>e1Vg~I+3nTw!~FuA|8$?8iI-_$gEk!&^raJoJCmS zA}>T81dQxr5>jMfD>Fn_<=T$uBsK+`r#AsiaNf_OcU z(%WF6@`#i@kTR~C#w?i7tg{;ByVB9}^3ingpJGl_<@S$bXWaesfWn$-i$LF+vyW7p z?L25!Q?sy*Z&t7Ukr&Eyz}QF$ko#brDX|~mjH{_n4cS@y5V8-q_h?Gm*~>`7WSkO= zCE7#yg?%2; zF(cFpm{*Z7Lt6=yqjGi`?}f<;r?}Ewstp7vT{Q;lgtM44$0MYi6`0+*UqjzxFA@k@ z=V%RReo9GckHm}C7rT!O^#^IjB9M#8;M5-9B@R}@hRyg5*uA!y*jomBLrFekMXZa; z0@xv=FfjsqjY%EAo+dOgXR2HIi9Q%Egwv8=z_xtHrcCAOo-PHHn_^T6kTVkMiG=wI>(VPW#r z4oGNDoCZJ)evLS|#E7NhKpzTm!H@wVU-vyf?UYX>hsXwfj8H+yUq^ifHpa>oOce8a z4sOe+?dR^$Ug-|>l|NLS!rky&V<=>h5)UAE2YfJj4T|~G@*=gwiEnnzdgHgzl)x(x z2jDR&ZFeN5LK-lsZw82`ii8qRtU&ax4uSEgPOEdXOWz`br}qTGNjGp%mRrH7s;ZA( zqrkKVhL0&hQ6p3Ubr5#IaP41DB9$s=5!R54#)Iu5bhy;X1W3vRFg;}~DyYm}Am~Tf z%SD>g<8b;lmWnJl<$i(M^sD*MSoB@}tI&_|QgpW@+l#j>Ib~Qman&jzC$vg>hd#7Q z7~lY&uj8vkgf^}c`<}E))2veTHPNkB#OqYO%gf~y#2q3VFPDo0Ns~p(nJBS9m>jR& zt~^-2&kQF80OY(`)lm*R5YO;pB7&D5skNg6-xB9=K_XMFtdk})jn zH&~|bYAn;6q#kP6nTIWCNO9LI7*k)aEO3l4YZoU8H1YsvYdxMp8OrSw8mbskV%?AY zd^PaYLV5LsrjURtM@r)lz1P{!19jVEE#GB@q+$em zX^cCe6k#r)vH4(&xwAXcd zY(ud8M9Jyl^tz=wXH=?lCQRQK`T!gO4{akc=AUBEYvvtpE#s)!;U*vC*Rr+TyI(D_ zffrL9Z7s(j1AH%_1_7W-~RG(=*#SCiI0Gyguyy_;Ah%9>P#2Tz=})Ns$ILc`;6NNOHuJ zA=h+%8sNQhtEbR`|<9r8hwe1V0!LNlBAHr{czXs})*+2X1|0R z4ARJsDYGVvv*_r9v;?}`?}^Yt^bN4}LP1y_B2OHP(Iwcmra`yJ1d$rZOh*&QTBMh^ zCm=I+y$NLP2`Gpz*P2ESlaz3ImdKhZYO4DY`~AO_rIb4Nh^!|PqvHGoR`0U7JhwXo z?BG(Y5j6O*9C_s~Q02w^)SCap1SKnkxBMpBH~2%VHp@fpZ?x{XjE*X#K+D-d7g3)a zdm5e*q0VhAUi2|m2U5Nwdjw7)N5@3 z*!Sj64$)FSZ;d_N3@Rp72Tzb4yFmxAJfIePxQ-tDdtdBAe5vk&;(hNTp&gh3m7N06 zdc%RSC`-lT*{M0{_j2qlw0a|=r`}9)TtB+b%)Yp&(7bz^p(p*s(hzKTbv>-A7bIzl zbDSi#U&-pF$BWg8E3ZYiD-ObenLj_BM622%M@KGw+U$(#MZWM2IjUKGX^S1u7NK-GQou8XZkS2?<3Zcy!6?Oz1J}^06<2R)cRWV7(H=E~p5d zt(+)vg%5V&(Uq)Nmse~mpwQwK!dQ^;itJ`@M+WgkbO!+>S$qtBWoWADrV znWku-Vwy}1CK?>%Vs^Ce6baYO^E7)%oAi?=Hk~{3c5I=`X@#E7f*KN3!`8ikRAMmvuZmxbqM-_}T zX0^Q)*M~NZQb|cAIQ}e4dj#XgO4DJ)U@!9kM+)nM|80B6GcjQ7`_BIVzdE0A>Ugj4l8u{6yN6lMS-lz zSO;&~4Z$I}gmw;j5DCqgvUaU=76cWE0*_kzRHKa63ESD?-8&IW-Uv<$j52Uk*ur)= zG?cDoDFx6tWrllF;&GpLril15a)FJs)%cwO79V6D(Cy_Su-x789+Vp~A`Wl)*t_#hU>h=D>{o_rteeEZS#cJ50&RLev0 zoAO_1c}Uib%QI*%58}ux#4uPnr+Mlv?1o29xJTlD1XiS|Vdu`q6?zBA!C^zZTPRjO z_F26?s_6?hCe+78a?tX5B`o3d>4kC$WxLrH*6n!O8VtH<7``;L3}V zf)CM0qcH?-=ndck(#OFTr^Z6zq&!CxP<4}p^!#acd$r9LX4E7Y7jF#FiF)NUWCM8sNK+43CF*f7)~pR zd*-MX>~ze{L24x{Q}>6-<2Xvv)5EFb)XK{r(l39m>?SNvPk;cSjHy9g2MIZ345b`Y zK(1ofT~%}tG3Kxo$*}zB>h46Z&&zD|HEq87?gZ~X-u?^X<_b>Z|4{J;8J{q7FfsNz zddLj{pDZXWuE^b3Pjuoi@m4(Jn*a1Ho>2!ufXPJ)$W!z0+dSxLu#wS{>fupqPKe)& z!h{kgDuKnRkxZI5qYg?C*fS)#26t)+tZJ{mrCL^vb6jAl1uK<{Y-v^rEP3h?ShE&b z`Z^@P!T0P6n+bEe&AaOL!w;|ZV;ztWqlH6E9S=RPTCe)D@{J^nFi=LUWpguqt%LwAU@PuEkERjUM=QXFKe}0J+Bt%mV#1J zi<<+5Op-$D<^HdJYj)9z3EA17V}E-$T3aLq)j*`?J`&o>&-}aU4@cyQu}{m6o8gGDGsE!kO8OQOl-q5jVSqZQD-hriX*S7LJsOjD ztXluBX){^AxpOCf{q|i6Dv`gz=0&-r1>7k~T&9B;DxZcP11yy@NsY5QeysenKUL0P zPmDT;nP_Gp8)#+2$UGXB3tD$pKK|JI-b^4s(@Hg(+@tZpwQ!sc%*zONCq)={Fg702 zSIpwL6lxX~_A6Q~M7HUgM$Lz71CAXat^)Swc0VdFK!&YlGWRLkR*;AuA~o&87SNPItPjiQX^c5U>1%zb4ax| ziBIT9;`=Iwl?^U0&htF6po1L0@I!LPOSaslcG-zjP4k|etKi&+FeuIPrJI1pJ1H=K zMfquqxGbEvS}aOdkVcsd-c*E$TURlrz|iy-p5i?_A+MPb!Xkz8VqIu1vL_d^W5hX8 zO=6pk$ErNpE}xy&<+Gn`>Sv#H0d1bBDjkQhz$U|xx*66DYz`IJ9ENaTC=^MaY6mpi zhXJA{^%M_)yEMT${buFSr4S8uK=WxU9kb4L5#Jcl)YHNMW;u#z@;;0&X9RF#a5-fm zq(f#ACu=z3I@VSMS$F_&YxG_afiy`A?BtVOsaw0XoLT00@!tnrDRww2j=To04skxK zaLrwV+;HW^<8YP7#^Bi}OcM(Ri}%Tp78t>OALSHV$jv*x1c5waY0s{*nDR>{7U53d zGf);a?k4XwV7Zn*f*@&X+%-tPGpbi|J7EsK&Eb}-ILkAu3;_-tXGrJqn-Xv+=@QhT zyC=JfjoT(#uVlhl?Gf20wFY|A!LOAiQTb-X+gncG7TS_S+KS9g$p^bmWUkW+Y>DQj zDdRvO$X%ZF+4c<@Aw(OJ;FYbu?cZIe@Agsa)nY_PgFKQ}%9)?{y0b8HD`~pS(m5K@ z!S{DR%XVmRQ?qP`1|vR6!m_%NV_pMDnU@`q@wUxKrmu}z2}~bV@!@nORrWDI27C47 zO8^nfRgT>0@~40N!+!~dZ{_QoznZ@|{eGIQJb+vNb8$kNI1fNfJ(ke|X`qQE7xs7$T}Dd`EUmP?d8*kg<$3N>wmQpOFk zX^A8?nj-}Gd^OB82W99c$ZKQabOSH=;vy^lABfofK#%ui@pBQ zHP1cp8R%g2V0zYrC^!s)YSRD@hF4sq?61AWr4hkyu11hi4RG-D+0aGy;z5yK{ z4UK;3ukev3veOP;Y$|%)3aN<=z5$}skeCTvj^oamd#@7j8n7}+;5W*dz9%NC_nx0V zf}ah?B%@wlmC^X6cVvUtu@{pO(++*Vyx_A_hEBNAgSM-Q2$EU;AZ_1LDOCLHu_{nt03D(Fv z6{E%?Ejub;#dmU8Rm~J!nF4_X&IWk1&yP~w%=<0-;+ z6n8$C1Q9mdl$;pv@oNW$hMAQrEha`WHcZsXxZ_TH+>uxXC$Xa4jtw=_9{2SM1tHO@ z_VsWnnbjUIrn=yz%?|lK4%Lb)reV&luF7pYc(FK>=9?dsDNely@=$!)bKkw=!qS8|Qt*@ZMqN7bCr?zQV_H2%5_BF!?Kl2u_jkAJQne^cQ= zn;~$z);%}l*Ol?{d&C97Zv2X?VgB0LT_*@90} zc?g{|#Sjh@hJ}*KLny*fN#$4vD(F^_O-^=89*R@c_+a}T`iXX|%~2$Re0S`zbA!SL ztN1lSAt| z8f~jv(-y~Oy+#;~6^?ngTN}re6dOAG@HPm$7~uRWKN#w~5NLw%Y=<-kUh9S0#tmu& zsE9+V4Zz&jz1E_on_o1c#iS^E8@R!e2|!W&@P#UL`U@jK)ngk6QM;P{xm?jd$LA)Y z;^Y8E?zZSwX=LS`H2nBW1FhPsnb^f#jf$Ef)FUiBUs!m)u<-n+!9uhiV6oXU6 z`E*N(U;ZZ~rY#ppp2+gz00c>KFCYoP<=n(uHxfYYGWVNOFvrT=t2WN4ubF2m%w|Ty ztff$#i%g75DQ#6=_^_xv?*(xEbWwywe+GqyMB!7ls-kezmdIsHu$xpkWJ!9H+HaA%s(^Q!xdj(` zbP-p^bW{n?EK|(3rar+)4Y@qORiVG{> z8@voT8kr?4C8u&9YXp?KAjo>rD1yuz=}FsleY=>v9-RtMS3%+Lc4~lD6hU&QC@wmqP&Eu z9Iy>%#SPIT6y=r5Mcgnm4CG{>*Rh8RHAECkw}E5jZWzKPZ!Ip-LU`IYW)K2nW;*Z2 zDWXl5hTF|?Ya9@~AsY0VN)rJe@+RW?E2Zyu&qp2rOcNv70n zPY&>=rx;|tJz0aqFR4Ki`57CeC_tkFHyE8aMct?u)9yySsuF-2ktV|D4M4wJ{=VlR z_4myRm<(CHq5u~Z;EyOFpAV*}iU?uP-#QFb|A9dc;aRTC)O*Wu9wUvQ2uwL5ld*^d zT-*&h0)j`M4g3L;HCkkKX6$A$D9%{ZUo+`Q&QrvklDI8Q#1}744*p}xlw4(ehjNH7 z370BLRZ9TwMK6X3J!$8>ODnQ(15A!N?;T)3-88u?HV~zY1`koR8+tCt7=RMO=o;Moh%&a2JO*jZ9=V*}0%aPSh#&~ddI*2EK#iTq` zY{?{IqSHj|_r<3LZxPeoZ__vxUr4ajV-hW&O%g5NN2{)2dbR4)?Ny&{%{kkQZZtib zvtGTmfQwf`PlXTKI~~qV?}8Mx(}B77Fz^8=383O3+Q z_0$#CYCJvd8rGYddb@_TUh@=FZ!7Ve>U&IycX)VrnQ(e{fwxOsRVglpH-L~Cw_9bP z^1&m$=quO_JftY1D-V7=HW%uhg&blDTD2+(P#hAL&_a%9RU_h*s0KNz%)tiw=ZGAz zM@ZN>vSS8QYdp3Z)9sn3$f&3E=N_~KjPN(^_pTQ2lRpc2$j4fPJWBSe=w?GJ?U^pH z(!QPwdCmnfjDZC$bk37FOrixQQRbY{9dB1Mo6=$(^bI#TQXf6i8sVXJu#LZ&PGIUI*#m zkl~Lzd=tOLd|lqnDxW2ejbLaeBgWi9uxC#k8^JcFy*7ev%Ei#)d`vjfp7Cr4q4ITT zuf(yU`3J}HNtb%(7m~sEI;4sK1NT`eIXuBsf~7HGLGlvI!51+v6thORRMZM}n?Tj~ zC{U#3N@HwFUzLx5)`%JSA-QsBN0XSbp+&ouBiXLN-AP^oj2~Wy{P3G)IKHX4B))8q zL^a3|E*X5G!?>f0PrFq8VYZkE05gKdjCJ!)W>+4(q34hdFsX7FWckAFN9=aLcX>83^d4q}aT%)DU)9d@& z^cal?U&s8(0Z}w2t(;Y(D^c74a*T~D)gTw~=rk-9W0bLgux%GEY>FG5hYO8S>Vl}C zkFTJnfP8uFEBw$>?p_^yH#mZ2!V_L}RZBx1yj_4EV2_KX4_dhSf6Fn+3NyG;s@k2TSP^Qml?N&R~ zaG?y|9tn-MY+3=fT_SpexA~&_5k!|EMD?ZnkkaQN8+T5uMf-)iq{=Flz0-d!NBZet zLt`>euuJ*iTqjAg1oed9S4Ls1x_Oz9lS_MW%&^!oD#CB{AZXQyn`wVx(*NXQHXTpj zU|URc4NxFZq$DQtm-kZg&-!w*E18NZkOWZ%-{e=9ofoI7 z6*kLTgu6VZrroiiRsuO8m<_?!57wc9bXJ-&nqwr(65{#6gFunGVjt&Nzm2Fq~BuvfxSm&MKvh z+*cHJlFDQP%B!AHi6zjGkTi62k^Wg)9eg$it+6wF@Dpv>05Ah@s@9U)vEoaay#L*} zR#S3zOyTSxv+PVU57(R>a)iu7{N_-cDr6(C!CYMcXzr9YK4IFcn%kNpsR&8x#%W>3 z%A_{MVOv#}7z!~Gx1}5L8#594K|R>)o7ZC@-xrU73kKP#pQ5`945Lb37;`DjXk_zKFJ z9|Xa?X0eNSa5$hoQ9h7zX-P8v8uqp|_QN@OYuSQi)F$mwS&Jrf>?a%WkE9a9l2xx2 zuEzt)k!O_gRpumnfAMiKWQb5G2ac)q9-1T57DR3URLt~7vDgX7u)|g;Edhr74SGfp zd95`-2w6xZ!dKdeK9o@*RaFUQ!XT9o)NvldAM2R3P+;2l!-w$4d%ejhF#brL9K#=h zo`={d8dOl!&rdb@BWcO#RFt#AA4YcrFC>dhE=UFmT@uxU8NK*NI#i zA!@EXx`E6VXKpUASQ6ty!A}GLE6XFJR_+j&T8vtj@I_X*c!XU?Dip5flRiv>0WgYs z4nkip6w)qFu<|YEVf#a>-fPtfUnSrzaoi8wOGgvcmh249KxtsG+CCUL2 zn&n`9g-7)X&A^MDD`3<}xWP|cdq>d-ttt$r%4Iatjte%msKuI)n%cY;O-#rN^D`Ap zOkZM*1+L}O=t?c7@^!>iZegH>eR?q^r8pu%C8p>Q>_R)!#@}hu){R4LStM)|Io0T8 zxFGIg_9I9X(F-sNuUbHnmPSEGu@b&@ifOMkHY__m*Q|B-Y1bO!tkxQmmcXVEIUGuB zEz%a%GKGmS!)}v!q>HsIH9TD=<>FvhxkVdMkSa=3l!z)n^XbGTAreYLNL{b?K29TP zRJJC)v;Rj$b^$fQE=kJ0t3wV1)s190CpC}I`K`qg2n&Vo0XF>J%X-a~-~HE6ZB6>I z6p%>gJUzQai$tf-pU0SyxlRjps$v@4?>vS)9Sea8uRXh<&){1<&@06 z2@dM8P!^K@=~ppIwhwt50r8|+A!E&sS`o>l$4&sRTPT~$d~_5J~0{d{$mR8C+0Jzbrd>!T)&cdh2rGt6KX zhyzrxanEWvfAAwcs(YxW{?jgFduQHy%LuI6%Q$ajTz?t2J=HR98!h8J>o(6Zmoum> zT{5URUg^y6xhvU2E9rwMH+@8E`SsDSiq z-2FZdNn9Hw&;kl0q$*y3;ymvYntk41H(Urp0HCe<5Vwn^XRs~~4!4&+R8(gfltcL# ztoL{6jN5Y031P_fBzP_Ln2p7VKII(|jZR{Fm@1oH_*o8(maVSDu@y8&u`q*8z{pV- z(^VG{k%NB5E=HrF2qB0KgVTFy;FDqE5dHJ)S86okXCx6)pTP{#uPlG+@#MwKuj-Kr z%6euZ;vh6Dkq)XhmzIB&T(ez#x_5ebad__QtWC{_i#b0^WK;ep;d;0jXNYcN)}fOW z>`;heL{oik(4)#1r@^be-P_wA&C?>KiDT{_cIUE8hB!ZFNK8XpV(6Z{K|9O9w;|Jw z*kZZhwj^C-yC}&ZK%rZpB(&Ds?V*@Vytj9zjnEtP5De)<#OaC)lehBAkgqzOd!xO50n-@AqOaX$n`;V zOCK;qO=Zt;Mo2Fo0jY2L;CL7wbD}-!E|W&weJ|z)Kh&9QH$qd02uOzqwrWpyG-048 zYT=Vuh$REjf-fZWpHcQC`nxS<9C+H#$_l&dfn*Y2^xqWcPWV@Tm4Z3L^oS`LwbJ%-25jCYqgF&(eidRA%S!B4mWCuynB6SxtvFG#r zE+SX+IV96!gl!4@*p6LBac63>?v1Bf`S`2iVsOXX7c%w|$6exfO?0B8Om2hXVhyF* zSsNqTzO=#}F2~)qXyZ;uVAEnjU6mwUtZgW^p%Pq)#l#9*Q{sOoY+c3If#~bsmd2A+ z&N@Huie`E;i`ysTV~7@KFX_L?4KLVs64pom@^0Vk7<0Rc`%C|5A| zpx3)S1_U*TK#(?G10i0GK=Ab%2=33dP)0x)U4t88CDPwurOzr(Xt_9uO?D){1JH!^ zyh!7c<0z;wR2IP&uPnza^kMv94dF&QZPlyJLvS&j$U4WR-r!4AR>xP1{!jME$yELd!`+eOxowSsYFm0CphsI=P*!jKhv(1u=s*>G8RzC zFO<_<2c=xa0ZBTd^@pLNIka`@as*!Nt>QK8wPeg(c>^11g;uCO+ESa8|Hu0YPVB1$ z(3N^SCJQ5>IYdf}`e9i3Rpp?nz*z=qFiDB)VJXUhG#WLOV3zBN2|D~^57Bk>%G3Mc z`?7cnXjzUT75WwbKZdzK%;b+!!mpeXcw;Un!3!@F2N=oXb3L9(Xr9f`r_%Dj{fyLi zElrB3kTS2+j4;N^cYHN%eyiFr`uGeVutu^8^hmw}&DS{x(K1rFTLN;||f zs$xvm5V-Z?bZ2Y<)~|d}T8=)5s2Ww z_ohwh8#s}azwl|iL_o{5aceAcjOM6avgef(C1)k7Mh0ms6GC0IF?h%pGd`B6OkQDq zT5ltV<$UcV?<%NetY&=-1(eew4d<~!rMKF{8aeXuOPo-e4E|iBk#hrYxN=vd{C~~^QeLhqh zK?{Z7um69+h*i)EpHIaeIo60JgCFvN|B0r2q1uh4iXT&23%_>8Uj$qAYe)PQpf9*; z`N>~PjqTJ@Rr0U8*eN!kp4}yTHKl}Sw0-}tt1al_wvo3uoVunpGotl-scV)tO_}Xr z@HvPZ%pd%vKW7Gi0bmL$*8Qq@j%C1Tr*z)tC>xa*ZrKt-d?QfSzs=`SsJ{(fy6y{~ zsqrHG_|3_5zA8gFy(0mnym3aM#=V}+nAa^4-{qFhco6zB@m`S_d)V!Ej7)8`Iol7G zUkVq9mPPkoIJU1v51~(EOU=vOr}g)FAerQD0ZJ*mN6tWA675=^ou$kg>1~fI=R-{8 z6+`d32t5b=xQko?ZG1Kx&9g8suK{*e$+jJ-28f1LTu%rbT>+_aK$r*n#&25^5uOoW zN%4pvG~8yGua@6M%ulB%4!&(bH90410|EkUPIO?}FG>i*zyeU$Il9k^X&e#bk7EL< zLXW+DnvcMEb@{&J;9QoZsB{zhZf}}Tb%Hfbl<&tKz^$&w-$hLUK=>XC0(R^`vzA5f-aeY(9r9?d*)F+k zXuzu1LPB5=b*=YKwoMv709hq9g(*WPkn&D~w$k6sRV2oNvn0Cc%}5c2J6E7=F-joC z^EEywE7Zrg$q{HJLW7oGK|3yWWHEAx&M{{275skLciKZaH<>1RlIM8}T)VTpiteux zGG|meNsFv}XeB3%M+w6fXG$-C?A)dMVw)r172DkWpTDlvrtaW->kgh* z-4s)wLqpWc;e?B-M$%tQN@M`{jGD-cAM5E_y7trm@v4F6N2Pg=6pp-BtjDLqK@i_X3meO25G zXWz4#P$iP&j2v>**2)b6AHE5N4ZbOUt5Z<)By*nhdLwRlrity^j_{b^vpR^2ml{i1%kKG+2%86!z0;spzBKn$yl|B=NCW#SB@jSV_9 zOxdh(WFC~k0$Ulpke|{7h^5)usk|(){OQ>9Ga^Fra-10=Zh?d>PkK{6y0BOWxrcrO z*JH3C8{E(@obXpoL&vj-w!oXy=xoR>M3C&`cvKZ}E^JTitW?oF0hH8BFcwu@+zzO- zY+|lx=+zp`EOfysCgatyI;P4?yo3wnDhWTCv(&0hBB(Q!#kY;B)*00m?>-wtH(c&b zVd(gBSL;l;d?O5nbs9riE5P!})F^t6q?EN)zD?~xeJZ?sR+K!*?|oU8#sh`GbE#|D zh^)#T>m4X`2{A%d;VO5C7-?SB-O9)6ZlN9NK%soyx?5e<-9od!FLYFQi{03x`cO%$ z4i=)yPy?YF)mcykW$=UW`nv8`rUJ1ara+f2_Q#42#fDJec-<{E6bbDZf1RXX#iqby zbA%AD;M~%UhMR%qdKc*NzgZ!#Chk~jTtemnW8((OKYn++ zZ&&5HmVoofm#X2 zR%Mv_xRb0@&%_&iSumn+l}klaABx$aoRTCHs6C(stcHnR%dHqq8w@TR_I4!+U>Y8r zn@BVMOC@#)gYr8``H%P+gV#)GnX2B5LUe&YG@^_b6?Oe;0a9Uo`~Y(@IFxon*I`cQ zNGUHP%!%JJ_n60{E3>*X(Jz3%ryUrV9vaSiHT0CZv|JRVDL9vAbvP6HS}lnV;2^$L z0fKoI(^96<*qJ+H&h|DNi|n$ekeSw-{DQQ63#^ZKkqNn-I_y!?8IS=9NO9Mg(H{&X zDk_CrhH<>bHx3*S5FSiby{PV@NOM+*r=mn5d4#&yT^YkfQ&GnmsP3Q&!v?BTML5Ak z$#&HA5ps6R-+eKDr+0&cF;S3d9V|ibvUBY)*-pq+`%VMjrob<)VrQYl(lL}?v_G>J zL)+S7XiX`>#hRgQ6+zRyVrUCv3~ftbZ~5ur!nzD?Q4DP{EZi5id>hIq$T4DQ?SglJ zC^EFxUW|sJ2_0*OmedT*OlA#3(=||LoT2HWUc9x%(3B^NMPY^pw&Bf{gce@WnzMl9 z!RAbBGKie@C*08$=eP$Xf5pp;Q7ykyJ2ti{j@FKiu}(UXB_#b1r5q`N&j()8wR-{1 z1s2)Z(@-G$LuG!bn95-zqD~w|-~$!L|C-b?keEoK#tQ2PQ8jntt0<+X!`eVcp5%NM zO8eu}hEC<15J{z=P47Ej9{G$Smb7M%Ev%0BT!d1U9|}{eVkkqWXc-!F6-9Uw1GIBc`yQMqTi+_H zdCeU1*AR3#=bc zbRa7|jzaOa6y1r5K?g9j&O!R6Tnv`2WF;*BMM<^eiEonk7A%4?#2i0>`AF4jZ}Cam z>UOe0%%*L*_Lnp~AsAF;4(rMqjPlDnvMrImpI~^oc$I0`G_BOU^4Gr$k@&!aR=3FJ zA&jKt9xZB8{`(IngL~r-1gRNv`BT4Z0Q}Pb;s8|2+^wPkdgfL;GM?o#vjn};xwniP zlOGh*rM0nFKwDX|FpB|uhQJY)R8}m!6Dt;<3pg`~3H%zd!iX!ZCQ&wLd}=z*`1H-s zv@$-8wdEgzx@bu1C81DN-qbLbpvtebyvldS4|s{hmOkb|RNVa$_GnZ*&R#Om90G-S zNKd{OaR<<>97SAtIwX1KHko}8HyQ#m4xtfkSo6nzxhqtdqx?Qdto%cEk$#f#*nYlI z=8B@9d@wb_5F}kbceM<+D}g!8NoZA)EJ8eV4E@~>1T&DXQn+a1>@QHF4?GkW8meK?Q^@7iC?x7 zT3L74=N#&8S5~bh;Th_LP&Kc6=J?75$FUYtbHA1Jg}F9pOd-nLHRuzzox-oi4st^4 zB}$==>cf^gHk?xGz!J=XV$1wdww{D7cjaE`F$N_S%A=A=NFey4$iQ<8mcU7hg$ge< zBFG8;#>duGUjO}Rtknno$xjpS+KaAN%QHhpbE_FNY)7~UE|Dy_==5Ys;VF91q_|ct z7RVXoKJ>15C2!MDb;>}s#)KrU=0k$O$SIV*E>b6YyMFBh(jEF6k zA+r%O+T-3r&iZ%#sWz=YjL3P(5pDCSbh7%dGnq{$lapQloSu|+mxYDd^O1BQ-fpS8 z=hqj{ix-JFCNt;N7ger~miwZ23GQ^n`)65SP3yyu=jU@&k!{pFcdOU}FBz!Mqi{)f z<**Xok|Sh^{66l&>DCoZ#Sc4FHANqg;KYpvZ*og4!)m{lVo!h?DIfRS%q-SptUAIQ4{&YC)inc5M*~Dsjh9`OJJ1_~$hOw@+)z+uQkj69G69P3 z_r7RdVb_65+V;wyI3sqT7`p^Y|3WpMVM$%XHgXK@;A%xd+cJ7nuG*H2*21Zj17jiN zmd(xx4CrHnZw9wf65lX{da50sY1qaNPgV_uLpwbAEyp}-6)V=G!I43#=e5pqHgk~5 zBW4O*fg7)>Tx(V%S^u&-qa$}2bnLL!ZarFSRwu4CMV9+WF0{@El?H=0a3-cAVR)Iu zp5eQ}G1N!lSnIu`C9K{H{>As2Tp(Jo-Z6Ca+h4jg@uS~K%8dx*u6#hkdtaRt+3UGI0tlDWvGX~|ol z%E-ua)_l=Pz&#}?@Kcsdx4fU?QcPc^+&iSiDqov@RIE5r6D%$c7ZNX5nc=}v_&YbX zk!tKF;811;+7!yFB@Mm1Vs7kJW*X}F=rMW}n6|{R?JTvI%wS9VIs2ZNdQz~TpqQiq z1{?|SjF8P!hJz1jqbe$QIM?Q{#jujvEbbbP!VvoGGKV&hqAXFXa6JYdh*4fTo zjP6MKBc|2N7MxjUzM9OzVpa@5n4WopYv-s)?;8FK$TT zT#vlw!-Dh)o+qDkBzZNVwrF$)-1UM2c1L!;g=`i5~1)17N>0$F&%Ifpqb!SlHlKfdR#J zb^Z_MsmP}_l0s*#EPH_j+(;UEYjLiN3jpzE0Y3LId;NeMsU^%f&EY@wnh&n$^00H3 zXcGh^+F;`H@_iF{a^CTE=S{PZ{$@(@vd4paVQOhFq+7VtJ9j4^l zuV6}qbUTOmh;S|L{8IQeax;y4S0hP=tvi#XwCR>)Hq~UVC0K3zP<~3xP~q{Nv5vLpf6cr@-Rr}Be{lP zdClCQy-(NKQ|0Hs01e0v`e$F%7Z}UGd?%2n&4V3$uI1l;STvH!avqXN@ejH5;K>Kc zR`|~7^hkhI`JSIt@h2L>(?ZNNi91+{Y~hd#{e@I`;qmYjUVCFSu}*_0{dyzpMs5)- z^5yI+DMvH2uLVN;ig3PsLd8`2@9PkIj!yD5j;D03;|Vy_jwk6JjpKNM0kGn!fvI zt-G$rGyVW#g=P_`M%1sQ;I`jF|KxUgt;)apO0yqXsX^Jst}94P*jE0)r^cS3pQmtk zF`p7^&?)!ERs6fc)#!UO3c^=}kVYTjEuK%~toe+PQ+)_I(-v~36>^GuHOMLBCNzTs z05Z%#q2J82i4z^|s3tt24QR4XMM0n_9*P)G0pX*L3sbsZ2t30MJ9Y|b7zpkJB}g#~ z*+ou7A%h5SQ*x&+rbAMNj~#`3Lo8y5trk@iYNk@EJ~qkMHmTa=wAog*F<)(WL+L5M ziyaYnmKRm6x-N7eJ^XYZ!vISVg*0@|45v7IvOpz9Q)EZclQnZ z`-Q<%r{J7ZE7@@$e~YW?6dft1%O<}45SU?a@C9N#GOf;bBtx#7 zaU{FG1@49&OdW5soyT|u{P}S8d9wPv2l0!mF8HpG(UD3AD||0NLyDFQbW230`h@4O9NZ3u0W&gO)Ai6LPoEC^oa0Lo#oSbL%6+M z(5lw(;c}H@N%9d+#0emkH>7pcZRHQ4h2bjiE-Z+;QCifYO!Cnz*_uixxsn`tnN!g? zKT1m!wD%&3b4YCS$E%d10^T}H-nyn+a>c1-@+9j5b+QP=!`brk3)G^{RltmYKkI*~ zFzB5uq*BWB&Ku+m>_|=_J;>)6b;dO>em9=JgXK!^kEF!{tBiZyHYTgQ04EohA;zv0 zh$*Tw>7T)U!^Klry^CS;^z}pbX>yh6@&$7}(<;)3Okd^i3SSjg8Uo`4sTr$!3l%Iu zRK5>B2b3BnjP!tY(mWmFD~5B*K7mbBX~%*{&T4a4nq)K)n^qIp^mvo1o18Xc(`o~o zUel&()Uau_f=x%xMh$NT6Jghs{L|U)%o<4DN}XT8v&qGXC8zXQm{f8<*cFWgUV@#a z4v*B)7QP<}a&xfV43P5kk@R4>bUV5ufEtix&2mFMZ~n5#M;ZLXsliTMLIOHql%EE= zCNB<283w0Wq2nu`PL2;3*+I=}bi(4PVnEOY6N*?a^--pNRXSw`TR?xP za0hI`ln|CLZ#NUrE};gS&{Xv>JHA0*IbV#bIAAx-fShheI;WXzGL|o*3&Nvj-@T7Y zi<%MXAW}Dt*@&G+r6zf7jY{2Fqf%>Qsa0z0Db`?^-$iE7gT zW0j-Mpy9mMmxS5yl_dBBleS4vv1=G63#r@qle1VzrPRD+m^9>rwPHu1C>A zbVZX|k5ZE{JxWcgHnkq5He-5}+fZP6_PRj&?ZstA3Qzm zX$u!F8PTv3)kNb?g~|HMz(Gu$UIi7gB4-}!hgHnIa>U`)`@+ubIVT2EWFAM60lY8+ z+jmO4~8Chbn(Irt9P*>jyF)SwH+34ClllI^_omaM}3j=n%g4 zi~fg2-OKrc9UYW${JmdFIgso>^6z=&$M_dV_2>^%rvOg3lV_RVd>%Uy{ZxI;d%octZbD=2d2fDlim;M*=oB+hopxKDPODQq%gQy6$E=?!s%v$p z{yFM2{#2)A72?!Z$1`K;1l?AlB2-Wm5hX*Y2kLwHb**#)9G(f@8{x-hJ2~&HPR?sE zqe^U$QscRj|I@jXzaGKZSkwvRcqhUf?w~#87qVfMfu5&-E(Bxf!$uo(sDny_t9&V{ zc{~=2HL8M!3tR>5CAnT^qOXCK)AC@tx&C)+eOWl1$d;wLGpUc^2 zQx!K6F)F%j-wp%PNStYL0yefO1(__|J*B ze5*qXa$hFFAA|Uz#3F-hfubSBMGz2~#zj9D`A_o>Ml?;n>vrH`=O@~=KTlSl_xLA= z(x5c5842ZBFevybf%o3jd_=$A8`b^}`m^=^N%iQ{Y%&D@r1vk%JG6Xgm{RhPx3Fw|wHI-Jq#w~=B^n&op? zDGab8Fg^_KWk4dJF9V9=Vy+jgJR7+~QG9&}%)Uqd4_TR7S1$>{CE*W!DbJD}aIr3$ zY3+M4Bjd1Q&P7Vv_HEq@kXRWb>a~6UY z3B6e}&^cX50v#)h{w$1RE49i~)y4P#h{8FQHInla5pBdF3J$D*B8UU1)W5)l;WYs6 z*sXx*l)9#d-}OF?T20cUPuEH?;U#Rm#l@uI0r2ODkJfLH^wDoJH_v(nwQu>ar<^}6 zxxx_);o^gu5iF2p&-r?~D5!8%44KV@hyLuZ@N9d9XB!0#M_04Lv+WfgZ_=#rY* zv^j?rMw1C6TwVebhF>!-|IaehVGEb5^tdp>Wo`Ya@HWO~Bl&{?Vlrj{lHyU*A^{gW6l-Ck(04rxJ&VV`sG>xL<#SXtNd;`D?Ul*1c5o|BA%Hhrs9xN`A z?vf0jduBLX`BHQo?h3<|-dl?2@sZwFJU`#dDH3H0*^J$?Gqj`b)R|GEsl&@dd&NE0dgo z#b_q)V~~mJ!}Y`ShQs}{3A9qZ#_iJBE^W1gzSv!p?Tv)bJmGEDJ496l}4!~x3aR6ToHZo`N*_Y|nPF3gWYO7CcX?-rQRP~KU6J_h;I_Yzl6LqwhO-TwET z{ulQGSKhTE-wTIhH+KQ4?)Pl=RU&5O6%r0UOZ~6`~^wi5-hF z!wyBxFhx#}up>&*)GRup7`BU-Qy-hrF}L@mWH`+;c@39K91<4LE?GzMs(7)wb;*9~ zU6*K$U2^!H9AU0fdjr;yCVE#~z5qP&OzQbS!ay&k*`XQJ_e{7*#uDw=Z`=Y98GsUW z0+H@9k_a9EpmFwE;KA&RbQWn0@TeBHUdfy)5+lQh2D!Kc?n1p(Baf@o@CVWfktOwnA4>zS zK5~NvmW&Al5)#t2u1cHtgeRN?Uo8Pzm?oUI-tByg8b2t`3li5$pbEeB){mYz8l9iV z+=R)^68GCn%mS$YywyJdO&fqh0q0@fpS8p|)98oA@rHqkhRD@#8ipcL#&7OC_R9ktZa;R8_rOj!ID;tf?3bQ!ut1z06*k@kX^^@!-# z$7N%`z647W%bm*kqdnql{Q5dEsVX$&v;&=XV86cb! zeU|ov0BTLAa@sb9<~R1~cknXHr~jdxGGkzdYT%S#Tx8`CE7{(Budp<#zqvM-5nhuu zs$I#-nW_uL!QxLoP?d~h4EU%N^%wg96|`#fo0boJCW#%d*R6Qa`uzd;z{WhgaOo#6 zKk<=s=|@6b!@4Gd+LKAj3*<5)FxY}s`|hMLQO*JW_sz~h8A?mK=bDWr0CNvxTY_H${={)Pklo##3%m~D>?Aj}kU)xLAQuKU@R@~aoH7-amiEk%j8u5dG>=g?dSADF;@+CZr@DlNi6L#+VgMo7>Z zMN&gTNd85P07@JDNrtQUM!m#4uc>!9Ks$y`w10}tV%~AAByFhVPf#W^_B{@MPLJ+N z{(@C?{mJ?XirMOk-L#5Ny!CNCv3s?C;?LJUu^gWW%@aTJZ}bG|EPh98G%CMH->6nq z-yd{KqTfFU_*)H$)vICBGJbb)TXsa+Urp`yBC$Y;kquSaP8b4;qE!{l~Fh6MB&|W3ZD>#yO7sOnQ@Yd4TZlu zjYU35Lrg`+y0M2DRz&O&o#;n(I7GrJzaNeirJ`!;*BJPZ4&<4b&z~5r95OJp> zVwL|?puhjFlCuW;icUX)%G%``5f_`D`Z$*DZT&%?X#YWu*?wiPOERo=ns`n`1_COfX_P##9kC6lRd7hBVLy8g0`i=*~86 zc0JHhAxq7V$2wzUkGjrS59c-o{jm~a!7;kzKt*P8(vClPCs)YSlXC|n6DiF*xTu0- zJrow?9A}~Fc$UvRAsam}(g+SZ>>Zq&N|P!7mrZGqX#3V4^cZY_2ie*Zk6ihfN_WPK zT&eUd)OBq_Q*J~DRpxO&GP|~?k9=7@fot`FG3v<|$9kec)l**nrXQKcIRSK{#z$6W zqu+tT=*r}1M0IaS{1{$de&LDanpveVp~-ag7(S3$`~lcc{Z?~OQv;G#-}Hd}-)f-_ zc_>Crz!>yMD@Mw_tx;hRQDGuR>)9jX46lh8tM9~$?}(2H7vQ(+g9rw9Y=p*LO!gwO5p{)C6|#zO`_%Pej~!@R|Iw|tXELz$?YQDG zkAf?51aJjmp_+xC{{^fe%UWZ@q>CtuSaFW298kA>ln|#jf=-TTwk>#jZNaxWQw%` zF^_F&M1)Qw>5NilH1%rERl*Ec=&qVH{vd^mG;bU+q{;M)DG`$lds9(0FQpFO!{u~t zYpM!kZ3Zo2kx((hCa}YBhgqZOFgcPq$|T@ zRWc{lmcM18$ffwq`~8eBuJcSDpZVzcGyl%d_~JUxbmB9=J^su`{ERQI^Gr8B^E>0u zeALhQ;yTYv#AiM>{>%pu-o4Tn$DUDG$3XhHJGGKA)&QO}0@C}egK#N6^ZS0r7uR{F z0@C}(pNSLp#dV&kfb?(2pZRUS#~0UmrUKFj#-EAr@x^tXsetqw(rvx|#&9 zQ3W54}N1MM%aW*a^9#sh0ZeI+2yE?QlbJ)?9*Nd*o?)C^m#O>?@3Wz zfZ|D1P-RL@oi4T^y|=)cyDR7{C*Q+q>Hh&RN^NM6mq%c=h?=>ht5( z=c7tZ)4autx11{PFBAXawiLO+50i!LrR$a-7jt`OO3O;eV~qbg-mWeUen>gXOvafA zfcm2;Rsx?NPT{2<2T?wMKAcL7&=b+F!S%!3VJoa6$5%*EKnYW_Jpz!e6`nDZJSj|) z@^DfQxh7AT)B(!0JDEzMauEcbHZ?{CHe|$xDo~38V~K5P|+O*OBYFPFc$(hA|!TqpQ0UbPZV%qpxZ6 z)pzIh`u1NYq{K6KOF?|gG8Z(Ay^bDoL*$*3y0C$r)P<@s|5obH1FA`KL}c8@b*~qh z4Yd}HEF#(n#!=;*jU*OT1StraHB;2uD_JN$_Bx|rM9^)~w<+78CHkbRX825E&&$td z&l>6;w&{)rdM-ZJ2qSMDk?lpaD>_U79hMC!H+s#vFgUQ&T=!Y*a4syqmHlm7be_wW z$nL5&CHj+Q85=ALAi7Xnt3FAE>gw05IGAXDon(LAVlt$Ap1vn)S zrcYzui{t2D5@F_6emA+l*vj1I=xk0I7%UjtJBN5z3OxO7Ii>8MTsNu|8ch=bVd{(j zU{8th%dSzT1uc!EGHmPtLQGWIG_+uOz~k70fHYT}bRo}Wby4P#YGjL#&V{YwPwW7w zx@4GswSMi6TANPP z?}qXq&VSKEHbM|<`3a7MjK7hi5b05YGzhe-O&yOy=TdAv+_M>rb}!OoUG>r25DrN@K^P+}{*@v*i3P&aesQ3dV!tGeO%E`g< zZRFjU-q^cg1s-w0>af9E{)}n)Gx)ThLtuyBYYlJ@YAT~y;QMsFD%deYQEEU)O|EJZ zG9|8b@YI4|nUIrrh?P1cfRJU1!LPSLk0}fl);S~P%uWow(ASTETr>46DZxT32}%1K z%%8BZeDsgRCU1y}S9CDcd^ia+I2a;3V=~SZk_-_7SBS_MHG%jdZK}wnC2KTVsmja2 zehRS+zdJVF#~VF06!A!Cnx{6ks%oCqJ1NAUm2izbSbhxX5hn&j*w$IvF_}%dFIq7f z>ntEoBpK;L(4dO13|__nBba0=WTH(7aV>2^TcXV~icH9yD^j5s)cD`Y+Kc5hqJ9zs z2DYu?H;r3F?eySRX%2(HWCfwM%jZ+nSG6l;tToNl`pMW@&XiH>PsofLYfUq?KKU=* zw>$)+)*m{nHOOiS{Pri{LLTz#m^-1>-3=r-PLmU!2))$ zGfBZg`OSv8G3)u)3aiRV|JaG=S6%8&so#W?Hy6S|l|{PtP3h=ODQDZa-UJ}yo8rUV zsotZ`Gx(o9@s%QB*8@2G=SD6Fc!nWDw~l3CURtvNFaDL<$DnvbI7NC;ZmM`cXrB&F zgJ4#`V%n8C&R4twdULPrBV{!eA7R>&?-OmbYfQk!YqPD&s^hr#bv%9F2vG6~XB18Z@4WXsjT*Ft?>G`OiVBH$GahUd8b%~`)`++!9CZwdt$$!^THj#snC10USofyCQ2yW_ zYL4WRL@mY<-?mva7UP>(UvtUYn#)FsPi@U5sTsXxCj+-;QMux<#K&B5D_P5(2CP=_ zgGE=|Zo9IOe1mUB!_h3ON1xUiN3P2i7YY#igpY`nB~R3YR=sr!0Y9*6b)PRU!9dES ze2|kf3NL0&crhD=7qb{%)W@iFU+&^)(A?k!>#-MB;t3xoJkg&^zzR4QI{_J7|2-XY zqT1)>p>QlSlQeVfVA*MPv0UkWveIO`!_y8)oHBS)%~V26agen9ZZxJH ze14AfYwnj1ygg&9QsJCLeQWngw3D?h_ryQqv=wVQB;up$afOP27orld6coc! zDH{wMG&dxR^cwOOeNhfVEmE~<#X!p9rWHP_`Zg{y05P9*NJ-6~{1|oqPlls$+jks~ z>hUtp2xw+lRlbqlP34;ed~j_`peC5NKrpyUx4kX3tBpbaE-2_5pwtpT1E)xte)3Is z4h3)^&#rupU67nq;EWekBLZl5sMZc8D%ZY>==_?q26>|}<{~=aL<&$KuI1ow@B&E2 z!GikzKmTCoUD)#{C;O+ql)m73FSz1)yOV!3%Zr4MH?>-g|zcEz5-gwJxhYq|U96KCtIdtgo>u))B zAY6KP`1X5`9k{F2>XmmK`v-@Q+?!nQf4}wW19u%edidVtRd*jccH5Cd_a=AVecZ=(d9g_!7r7y!5VNxb>F10`EQ$j@^389pUgD2f~q~x7~ir(R;(e1NSCx z>#~Zl##$$Kwx#jMAc-L+B zBzN6;=(b}AZaRA4j$3X&aMPW4A3k>Aja)u*)F0Qq@*loD96lOeaoxA9gd?{cJ9gmc z9nAJ{c>Uqqj~qI1PjV}NUw`W@K!uk`b`z2P1fPvCzg-;TWgp5*ph?nz#C;PzMXvHPART=SZ5c~!XV(mOAE z9{*f=*JYu+KHQW1gV(&geC^A_Ys;1EUe3>>Z%U5bb@)xmZ4B|Y19#nY$KgBfxcktd zn~rkr|7Y*b1EVUhhyUl^xpxK#0s;a8>VSkKkc5P=?;#8j4GAOx!KHDMOdyiYOv2)d zd$sNhQnjsi)mmFy+uB-}RIS!(t<~10t*u+tx@%RGEx*rso_l8|VFI?l@ArNGd2@5` zefIS{=bY!9^W15X@Rp9)`dE9obyKXpp@{$nWcnPs*B&P{-Vv?an2g&@8%a{Kp=EtZ zOGhQn%2=F<6IW?NIpvD0B_>6OTH(L^<%vq%DQ&XqPtjp|F@y=QURk$pf6ykF~Y7 zcL2yh8iB;NMb`@``!E^{)Ao26SkpNK$jR>~s#?8x)#?cCAVX)1UQF~tdfU+1Qm1QU z1RCkvhFG{gM#JJ#SzRj=v86**N!{(`;#{MjjV%VeSWS&BZJix@4cBxuHpf_fO4eD^ zhSqq8KgjjKk3V{{VCICGidO1s_d?_0*p^1px5e7y^7fWY4a=vdNdhz+8mHf4<6};m z^l%w(eUxPxjmM0S$?a_N+-)+pQ4=1Ib%b@XJ=YdEp+f;IRk4n0aaPGdwA974ry)v6 znLJA55kIxv9~T)NvyK~EfX@!a(kL}9GjN`#oid|D*R^)2#f=^1yns)hE1Al=*3K6C z-5!fc!)lC|wN)ci=y`$b7he+`Dz%`J z&h~g~`*JCh_5wIKSh4b2Qd(7AT2ArN_3PVX>p{Zc%g%TQh;vhnsgKrmG;P&*Gupns zQ&s?j)U4mdD@(&bli={pjU5}p(2QtP<7s$7fKq(D-~*_KWa^!`e05n_x^y6`mFw%s zP#$6&M4j7%31(m#T##J=&0Eci?(@w z5PE&8|CH9wc5>9j85%E1MMDGNQl_(4#bO(mQw&q>%`ns>#@y5~6Pl3mY6bPh!|jdh zH*}~CJe#zuYC~f~N2Ljr80{~MHBgwYz(77VDWN*e0xD(@H9i66Wqc(%vprlNuqsjxSjSq+SxP_DQhs!m>8Tk1Bnx3;w6)>u?%U9_n^7OmfE zux?yfCXhI5i|+J_>Hr>u6lbz{duB5H&;H?Hw1^;cs$1V8{G3Kgf)YHG6IZ>FP+Y~f zu$<#@CNa)}ZQamV3(uoFlR`nkL-qS3o_Ol4GJHb5U=8VHOE|VE))H>%Y_6pTtZskE zy)2n=lDEWS^*U`UG(KI@%?#f9l$cGXeVX_oD^tpk@huoHt9Fxtl!Z(FdmCSNJo@CM(R>x#Ok17B(3qFKCWaDmXsBx!cas4!GIrZK*OM%Tj9cece)CHI=FpZk#bv7_RVhqanik4n zfT^3?I<~SKmDbh>XC_k@S7oiy`eKh~Q4LM&S$a)To|_uts+pv0qowJZEu5d9pYLtv zS!^ls8kpc<`b^*zAREQT`rfIMU1OINhxjleiO#EIs)YG5+qn&`0P|wmF>A(;wi+pc zkr_ZigpHCd6iAwh!tJ!7n$p-cSkT{u;8ol%c^ECAgNp8F} zhK<4nHN!}Vn84q*7!oX-I1z<3LU)pB^rR+`bR7ho-ItG4WJlN&WMJ&Wm67VzmF1=7 z%Y2?9x`~eJ?ce_Cy|FokjRHGEsoV5N_=P;*Eu4lB3z!w51GQ}8JP=jItE($u@+%`N zBIVURSQ6?wuC#i2#p>#CWyNu&OZ*%ZoC4RIkWom}1gCh6q!6BDun2F~Gb*I;HqYWr zDWNwGkQOFzdRTVbI>=yx3ByMv|TxZKh zge{Qzwpg72w)C%eoWUdp1$)_iDT>d{c)`+y%(%+UXzX{_Ggu9c?QD{LPE%te zuw`RhN)dJzd0`wR*9-2Ygv1i^kiFoCbium+Qfp79o20#Y^st8`O^*G^qt_mkw$jMOKj-6Ad2& zO7eLC_y%up0KXBF{g^bx%dJszLJZKcwJkMLZwJHmwFW(tsYlluWH09R?Kpr_Z=*<* zx^tn!8l^G~2Cj%tz=9ErCV?T5!mt&zGP!fsluz27j5DOjL@bU}9~X(R@|vJ<#pO$k zBeCyJQn4mdDb&eZ$SIv-Tax7OJkXM5TO}=9U4YAAFLKpdU?w8siBJpt*n^ zA!ZfoARnfH{`SUtfh1Y3X%fgzOLpr$3QBCfdW6DAX@7#5O0*29_GLLb1(ni%y#}dS zE*)%S=q6Hg4?^PO8=?r$eV7DOnY2BN2uB;h&y=Oh@yUkIthMXV1lE-O0Nj%aHRZrL zY2b%(Ky$$^!V_M2#mQn?FL`8x(Pxz2#O|L1(M#Qi#+HWG{i8g9O%N}=*8_7VI>)|q zV}h;k(Tfz?CQ}X$HndaP$T}5(?3Ki57LwFLX)IurHehJBPoQk3TUVpwM3L08kpg=~ zrb0ejEA$gBnq2yrN(%(Tf@p+G)#a@?#-k(JhmaZG#>19VG?73qXSj|iQnaWB4y~v$ z{HxAokgHz)02HjvCYmNR6M-%|C8!a-)+v1e@G-3y=xY@;ChZaD!$yz5G#JQe1PtEM z6{E3Y)d-8ZK{kD0CS6y3Cu$?D%1gmXIwsk0A<(^Jllg=lO~F=a@|sp8s`R^HGzvO> zVj;>j>aCwltB&&5zggZX8#x{8m!+%dSyXZ*3z#KWcrvM1G#JI(3&Ai$dwTFA2_!`- z8k~R;#sgl^c>P95m{B+Rk|ooF#`e0-CLkrzqWwB%Mo6YdG_IPm=rmrXVZCgOP*R7d z!Lf#=(6OS-(5gselBfS1rCuKF0z3{i_CZ)}d5LWS%Ysw4PN z=#CDDQfLanzJ~Y8#!X~5-9h1G_+Z)PfQ@`?k&;le$$dwgay-yWVL$uK)*44d*SICW zZjR8#?9BQc8YS$aX`M&s_4ww7HOkUU7uGU!Rgy0t%lORADAyz-o$|6xG78xNgfLC* zN(&^A!zvL`$QzXvPl%zsIy)PY65ZBX?<7bP2y22I~1o6M%x^+B?%+8a^qvqa8#fHLO``-VruqD zc!*%h)Y+0kk5hsn9PNr-g1kx_s+y7f;PTLs5X9sbmvKh8VZ@zEYzL}6cN|LJOY_mv zv7yGW-N`n!wZ_@9AsH9agYrT7a3)-o){>-jV86tg9T)j4;u?^L5r?N_kgZFLC?Qj8 zFqvX48sB`eEGPnX<0?fKW%z8*^hC2NOr<~^l6SPaP_8f9A|ny>@_eBNc{#9AV1lAN zWY*MHmW3)oEZ;85<_ZDZQ_)K`HKEm3k*0Voa;icX3s7jIkR_dMsLop3)G?jSZE8wq zynRZCI1s;Rhd{0Z#bVZibOSf5PjtIl>Ca#jQoMeBRY$B%3CYn8ExJL)XhJ(%nxjPO z2f_{9g3RY+wy9;U9j)LL{eUyo77$H9MO|lSa~QK1gfG6p7Di?Zw5GK~i=qJsIL%h0 zMn7I$OJa5H(gW>Ty0NrDJLr0g)BrzGvqhLirLnZ5YU8QWeIQL9;1F zI*>L`QVJ?^QPDzph=-P&g5Xs}wvaZrm)6r8^_{LN+7Rp5iu8U{j23wub4m@+O4-c` zZcBEjI>p_1nr5ZcN+ji-X!QgL{FyYQ%Y-DiwjOE_30#A)v=U!gT)r$~P`!tVR#rwz zB1_mQPgz<~R)z?bJ##|MDduL04So{GCq+QIKY9o1;bfn&l-9xM*NC1_D)uOn?_F70 zylh2r7)C?jHknHER|&5$Ni7`)PE}*Q=kSUW!yiuw?w4-1M1G*zS*F+r$uiPLT3$g( zGZBObqGV)aLx%;4`*K)cqv1oA5ThlLrNyhuszvM-4eyt*B-N@bRZQbm+9N(;=_0~? zzYb#%R#jb5iDJ;pwWdVN|FMOF>^8QjD74j2ueCl}T8CEQI!^YMZ-D{jg&%;yPnsY#W8sap;3`7ZB6nP&4&WoS`1ng?ByA7Y3CaK z+|XEGPdM{R?wII-l-P(=u~YlTpV6a2% z5mjS@e(82=R|0{vJ*^i$5xgjh9!O`0SQ;|W4aQL#*M1>C746z7W=*8ACTE^JP#3gd)8NX)Eq_mQas&NzCq^fO11<@#A%CoUfKat7C@#v@F zg&Gyetf>);m^e>t@l-803F3{CP*PGxypAVkd>i0(U|@{_iZkgOX%|dj;3lV(HPS^}mMy zh&G9qtYbqn#v;*n$`Z)I01%glmN63s_Bs{uly=sBy_7ku>(#_VK8G?yc z_De16ebgqXM##9qf?8xG7TYW+Z(AuYY!rFg(lj)HR#j%fjQk>A`I8!GfmXvKi&NNvZxEpz zDtXPIYIl8Woqh}Ft3lRZ`I0b6W3`>9PAD5oe-{ZNXLU+S0GFpW7dNUwwE`fcEKGb* z$C@3JEZ$TJr(aA`+YYU0Vrhwt--u&-YSB}o4esePI@#@BNo0y(6+PpgJVA!Kp|IjAAXx`^l=)yaNj~VZW3nI>A61jwIRQ1jEm?Aq~@;fTX3N zFfGd}D^{b5@r|R@%HqoE((2NLsi}&F%Zsr?KwzzH3w*{}vqY$!NJtk}r|?6`eG;t} zc<~GmA@}fhGDoE?!lcTWn71}KVz-Og5w;v`ZdKccc2)*>RkjXD_geKa5@FtjfN4&` zC+4hRz3)m$RV0@X=lVp5XRa)qWr9x=%XoIDMnI3n2|ETFm?%`s_!HZvM6ljEfE`io zOQQjsl%p@8K3`dhMM)UB-dY|CSAfh2HdV~Pjb=o`U0uD@f9GjOPhyLm{YF-s9LZ?i z*cgM^h_YO?Q}gx;!yOn#c=7c>A{%Yv(wYt(=FuZ9mkN8bLv}}`rUMCi04LevaYP=l z{O!W~B>cV<-WP{~6M&(5VObhLOq>!j2Y?I_>p;$=4E0&8-TsjQ5!d-!pc?IIZ3C%k z!m8iLn6m{dBy0)HG_ShWD05LK_(va3^L0mz2DBKFpECBL+9@iAsD%0QKvf|=1SdQ_ zhK8*x9zF22-oTqT1COITrpjV!SxikWsGBpjK;E_b4L>Jd_^rCl^=d_QW2_Pxb9+5z zRPm0MdK~(+UgL(=)_M`z(LV)tYpItV+fwZ?LTP4C1Yaua^yb`_Gqbe#MNbJhgAJ?7 zT9_tma+(397ET1+pW&3T-&I(zEU(t$p`~(i34=*&S;T}X z$$WW~7W$D8BC3@YRi$f_DjZ=U;&K>J1}2#*L3@&?u(ZG$o5)@%y=|lrHyQDA)yK{tC$j3(bY1?v^cPsM~iq7QV55Uq`Z($(e1>5-&~ zbhFOW)hBrh09|+)ib!xSMq1S@gF}|YCQx&niIX{=rd?rB6)9a-E~i$7^uq7K+HyWf zTS>!L~LUGvHlHfSg zP7IVqpT7`1tdE}wsb+7}>u6=%nA^%p4MF|7nWJjn>mV50V^V!(ac!()a}4>@!a|KU7m{?TvE>I5NoT@XFvuui*fF2TBx5foQiAej zc=C;|A0VlZNvaBcgi7Efl`F%apHJ*YY&4X2;0NW1*J7i`4_8I16Z%Pt3L8p#G%m5m z^jWp}1RSsk*|5zQ&0DTEdzzoQDmRSSSD!7=p45_Z!?b}=uQKo{haz6YE1F{Rsa| zwrHQ^fH0y=qO}#f^ukZZ`Oz4MgBv?m0#J0!$TK1IrUdBo6aPn&ato4Xk)9x3X z8OLU%thh2w+SJ^>1%7gdQ_Ko=PvW@(1hBAB@y&H`_;sM3c%8`5Q}~A(QKB@+QB_gS zG}RcV*fD4%Ai8ESLwkpIAb8hrw#6HaON^OxkQ^V=4sErgUD^sqyF_fE4Ps2VHf1qR zj3%^$vC?mm$!mw`(o6_D80`?XjCP1l#)PohG-;^ZbBRpfgo#{VyAY!5H>a+qaw^2Q zjrdBtS0W114kOah&g3S_cw_6Ql3ly0zD_%$9W7I}g9-`@w2NJrD(rP|ASwC)HlZ!T z8?q!g!9v>k^C9VVs_N9H$d*{0lCqI)PpiY445>Lo-(EK*VV0LT#v0EjReTB(pr%tn z(oIcUGMV61^Pz-g1)vF28SelN>M-{JW)lQR-0P9qtJ6@GiSS+-1)+9ogEZ}0EHRwV zs;^bW)z!r%%h5~Aw?&MVNDaYlV#Ze^HYIw4unE~fE$yojiYg>+iM)+$OglZiE!d>S z&{LoIcs~ETGkz?RSfno)$ieqEMMp)fHkt&Y^F8h!k! zhE|0|n~jK#bs^jI6By@$_(>?KWZNz}YxyV+Omgo}92nzymEhmPD~hWb3ji0>S5e}7 z2~NnYKS`ayf5AzrEV8sZZ$(AQ!pHJ{#mb7+5G4Io5O!_7P7tOrqoNL!CJL=g;aqzi z_X47{OjYF8atdAgAZJahBVvx9non=>(#E84o!(AJM9JZbrHKuz@@36(gn6w(y0TWc zgFz@Q32VVKQs$n=3Q`jEipXm|1wGE%*)T6_&3UENGe=5J=$QSh*%h*GI64<=f_s)v zSAeyv`IH0aOe?FZRar5Q$l8*~%4$_w6)vx+R?7rcRIm>@H-qLh54 z^3?l2NxRIXSOQ@@kdGot{cJcy>OdOq7^lQVB~HDr%zc6RRXK)sP`p8-^-rXwnQe z*}daZJr8yf?%A)hQjE20To$|Zze+{Qi}{RD&C=?sq8jF$(}v3Y^ii2KbseqCL_(LjubBu*i0!vGgCS>0LjUg z;J z66TbU3<$?vQj@R1(4{obltyk3*;KDsxumpG6)&YF8f;jIN=trJIc3U8!g%H?-##N@ zQXKb~$jmqlC0gKS7-A4DsKW4=y)$^I&KCfBxxIYw_FJ%0)+|1+o;JzafZ1n)wP>n$ zS(w6V?l(MNkiFrg^`1=p>2jv<;FLu+qvy@e%FKjuhZV`nB|Im5#u-u|Phv&mY?Mguet5+Ii zMo`J>%Bs>ekuV^&Qk6%`Q?R=nT2|#1;o=fesHqB&MNL^n@sb)aPo%s`!jLQQTpU?e zTCQ>-S$VG(n$wQ zh&QE$-YPZ69sRFiWO;)I0ms0me*Qu|UfLHHBuR~?`Qc(*VZISoW{w?l)Kv`ky$=Xf zV)M4Rxa3%+X&rUTia@LA69Zpm1`X%PWz+&^fgDpOk(o(@kett2#=`p;X&5oa3^Q`|{oeG zR3{VWS0+H3g7pN}I9?^l4OePk1PEo7dI0J71@Hd~+Dxq~eW%l6+y5?`-x)2{%AR!a zX<;z@JUthkjM^7iA9{iIm9`f^>s6=I=2G@N+2bxy^J?|Y7i8v55$6Jouh^pMZ#m6p z3*&!{XudXM)*AQuYQcOpkEfYO-Gq6vlaP;gf(+e}ShCG4$3@~Qub&&-WR2wu*clL2o9?O;Y^<-7Hh=TK!E; zJ?WX5Sz+(oT-MsGu>O-ZW(4yFF2cGrFK;qyP1b%J3~5wuX8q*CSvlcI87YV|f9P~9G_Ncg?2XchyO26Jd6KQ~Q;&_!~{S4j*= z14g|-$j7vE50Xky(*e`?;C;YEnoQ0GzZ|GGpYYCA#ri{EJyxS18D>*aUc7?OMO4T~ zi4)X1Z6-sVd*v`~Nmoab{Pe6N5uUaZ(Ps2aPe|I7KB4N}2QU1C=m5NTNdh#E3}CgjL&g{hkw^S}?URuV6-A;jD1stT{z9<`m5iPp_LD zol#dXW7f>Vy4u+dv1wCh6;6vb%&sdanjNd1Q6HT?ZR*VEj9A^&Sq+7=W=0!k#%ddC zXG}#c6rC|6Hr?M~BAA+<6s9G_VET}>XshOkMkFjvoUUq{r%q3Zok7&oqBx zQJ%)6JmqUs^NB$xFn@j#$jrE=`jj6CY^+BgiQq9eoZZG(J{K$~%<-HP3wv@A0%snU z)A>Xxn%t-4h7+ZN1BI;UudF86!<6n8`Ugx4{eFmaq|k4amLSQ)NToW<#7Z#@J zXrb59Ld2VmqNkft=+m2n?r(Z-Px2CtkufptNbuPEjf3GvWDsGqlS87_f3jmmDTlZx zoG4Q>&bf$aP(TW+hCGxrOo@?7j2O+gb<@PhWaYvX85J@y$8m$%*!7r7~OztxbN`8E0to`fQ5QqOJ47R@t)qqlVAYGzZrd_L2J`|APg zz77$L>(HE(a+)GxEziz2s2|SNTl^2(0X8Jt2b@Qs(lJ z4>{=7+Ol63y^j;xiQL>A?#08eE+pJB-<<=JNTJ_Cs&Z2`wAm@qIl_+c%Ny|GvW~=5 zG>XMs55v-MwmB&_ZoZgqS2I`Hg~?9cgZm(1=*Qxxng6TqZS*BF*vj~q{1EM7hHs8@iEbSX{a<2 zb0pu5bWA?mgWe|P+Y}O_%^&p#K+SP}KH$&yK=e0$k_;l8oqQEdgE!-wEu~0lu#qWx zee{emZMrF1T4RAJDI1&lM27hyv*d{+>;S%4dJ$ICGG**YQ&bXK!$_a}pKaI=*uZSL z2H<2Pnv3wI8P+Wqq|BJ*3K&QV4zg~@75jcq2bHUL`bIsKqYc2>?HVt$9`~I4RYt+O zgQ?kbHFei`%`3qF@_=8UX^RI8ew{tmHW*Sfus+JtzdM1Bu(i(ESo5K9W1?3 z4NvI?cnwKQqEmkVa#XfxyK+!Dd8*(2Wbk3w6YTaf;|p_q)+8y*@tH4Ee5$P2M@=5@ zqstgKpEAjH2h-}|13g%REOLBo>1FIuQ6i__fWj!|%7NUv zjj5UXXq%ReCtH?272TChX-X5)r(>W*O4c(W-=@v(dt`cw@AhwZn5^DfHJaj{MtXYP z&YnFxF?$KN)1N%yoIT;-e%!OET=UDh;liG?(HFOy!YIRMaJ0jxFTI&zXkK>KCafE> zaJJ}NHTE!k>qU+RnCf+q(b)S95u(?l zk%>aQn9`O8khc78h8T+`P8O2KlU9mlnLj6eQ9$o>putnx4nfQIj2IKFh(J@{tRw%; z{yMoYVQRzKiAlx4K~Hm{2_8hG*tmtY-UD85zEIng9~RRXHCrmtI9*F9eTwY0LiYFx z4sw1tMa0@CRo0uLaPO+H1k^QYdY@WdAw5VvK8j^>L5>l#f@HPiG|_+*>8TiH=z%am zj(LVTGMSYl-=ognlAl$VS(MQ;dtN&WrYp4`76H_Im+{^w<-C~rSJH9QFb z;6ohQh3t0slY3*kD?FJ|FXtde*2vpO3Et=VJhs(G&qmrD_NLkF;6)3S5Sy_7maV!c zAz(wFqXz6pH&r-W=`YSS>untdd2nuGWC_%Uy<={Qk1WdfBlYjrHK#_%*Sh!)1*<6Q z^en%x4A&RhD;x26Z;@cn!8R}~B-}SJN)>7=9U;_2Lr{;XG$L%D3ihs2n0yhHWu=Yq zrP_Y?5~7t<0*iRIkIW+M_OmV&TM~@4JfJXhHYJ=bVif>n;eH4|HM0-~qc9J9l9+J% z^u2oi#Rk-e=H9(Xm)l=lG9~hrA{qB_FyP*Dk}uDgBM3caCN+he>+@EdGPCAq))SeS zR&5$4r6{wn(@y;x4Z=2hR`dGPjylF0*Nyy$UJr?v#}D-G8+mGc7Jv%iRpH8HD`Soc z$OkYmz|C&ZvINBRR@+xAnE}5~wS5KuE zok-w-?Ej`0{|Qw~c1Lsd2WwkcLz9tljKdyp|GsN=AQDabD`+cOplAE(odTrG|Hb_H zzryKLv796}OR34Mu(dTkhxI>c(tp50B$|{ZnIN3h{y*L<)1wn>GSvisRd6&g9?LFX zT)~eDp&d`54+8J1xV*S*9agX!_;pCGex{lY`=2=CFp$I{qBGw!mlJe4aeZqiXTS1v z7waLY`ddH3yzrH)IVOpbQ>10aiq;F z(LEvzcjE0UHK=-p^f>rn4x~!cbOk-)v{WY%m02euK9#MX-VspQQpU+kcyG&mPDvuv zVN0Ew-rKs-H96AM)0E#NG!j+le)?#yUXO20pN1BZUsucC8pb(MrVd+eegjn`L;6b` zvY~-_kP}=z&fA(2dh*|C5_m20)@sy9Ck&;a^TN|>d4c zd{fX1!dX)HA1Cm^vFAV5;EFtVKEYGG^7CmaA!^lc82AJVjBE0v*Cl~MzhY9C+?_L`##3a1uLn?7Uatl7njOVHIP{n6Sw z^fW4OOMzNjpo)LK&Cd8;;H8B(d{zE#TX_2LA1-_Ow2p;)Zu{`*6}5{N=9P?n`;{33 z7Jj(l)i3|-vp+4k?A@Q;yz`Np7cBqLy*GUH+$js@Tw3tT=)5qsNRr;>e@I4gi%EqQ<4%DB@kMVSF+Pr1!X(ya`(wAyZ?mPbUGtNBg>}}_qd*1mM zTzJu!FTUg}mtJ=H6<1z$^)=UCxBdDZU%lbRo4)q-Z`^##H^24m?|k=rx8C;s+kbG! z4}Wy$kAHI4Pk;9FyMOV^dwzBAefK}m_3H;8diXbwJo?+me)sqjzkl)%PyO-fXa4l( zXPU?|<;&NB{o#lTUYk_W7>ed-m?@ zX7*$TExF_&{|_=N4{<*%GwcRji_7MccW=Kn}PN4Kvl)nW3 zq=hG_%o=JdzW97Q!?om372k~epE$OuMT&>_H!$(%1q{%CcA7uQvuGQD&foYnf4YE0 z|Cj$PCt$m(_{t0Ij7LIzL&5xVq_HED;{YXmQNbK2;PVO`E0EJ5WyR2MIZebbNER!H) z$lp77qj^_-PDD&eBK97ooHpS{lD+eO3>kAOKa=GDlAk^*=o|WQ zM67Cc`C>WA8CjwQ5X@)!GV`HpIll-1Rvfo@o&4A|r_svRc@~!5VpBF(Kh<9i0{IVD zBh}$tN2qZy_cAN^-is&Qj;7^VP-b za&@)3M(t2HshicU>WAuQ>K9zUQul#&9#K!KXVmlRuj=pW74?pKUwzE=ncAZQR)1@- zbr{zeYpfNvvaHG0RBM*C#9CohSgWn$trM*}YrWNOZM9Cb&ap1CF0-z-c33xA->`1A z?y!Dr-EIBSy4U)R^{Dlj^|bY@^*8Gk>n-bjeRW&?>GU5n?$TYCO zLjk<|QBp8OqW-QM3^@G{v27<9?B^ajFw~#oD8X?+xBY@nf483#kW`dx_YZ_r@wO}M zjB}m00)iWrdRyMm<(>Miw!Nd@i`2XNZK?O<4Y_|``?skN^jldUnz#Ltc@OzFZ;*Mv zkB#5?)V#x=nD?U3c-s{9Iqz+})$eYYEB8|{18)-cF`2jhKNhezV% z@3twreDwnEC$dagf5ClyiE;lG_o!ox`){}}$~W#8aZ3?zalg&|4)?puf z+#hlOoBLz#Pq;tj-pTzL_vhTZxOa0)Swm@Sy0V55KAih7?$ol#lC~_8sS!NVl{J#^ zQQU`ff044JU86}mhI=gc5!^>|AH^N^ZfVCj-10Xb`g-j(cERIY=siOe*>6CK``P$$} zcaZ)@?tf6mhleQjdzQhUsN-+EU*W!$xTnZFiG2IYlQs(wS`m=EcsZ|FwDEHKb|Lqx#Gg%H0=)lCS$nxZBHe4G|2<(Z@ct?FpGmv&nXk(z^Y&6u z33=ZbMqTvfVcM=}+ol5gLYwa=&pGse4(VSbZYyo6q-}3e#<6g$KcxKgNOK(R7)GAY za39J0B-%X)n7fPmuEhNoV>f0NFi4xP9l$s;hX2BSCUbNbN~xQGmnqzn z%4iFJ7NphY3GZuL_7L$DUv;CMaUTAF6YNJfbu!Dg0|D^6D>S8FzyAFP49LhBIPj1| z1`QfKc*u}L4;?ym*s$Tl4?Aqch>;^ljXM1B(WA$V89VlfBaS@ssH4K+apT61Kl6&d$l1G->kW+}ymp{QN0X3JMAf#aeLMwCU4l%$PZI)~wmHhYX=L#oxTi z&KPHd09_Si3nx5)Uc*6Y*EkhcN2;-Ev?_i|(!I@iTpA61C2!j$D^LE~wadpG zQI~uEac2%LoG@=dW@ml<>a~-qzf)SZ=CaOfhF*EhN#DM%b70xA$6s(odBwNpk6(1* zR#p7)Eq2BIQjtxCBj8pr0PfYx&p@b5Wj1#ZJa-sx3N~s_@9TwlE--d0)U3@c+{6;X&U0}ae zV6Yufii^3Yb6<9{QZvC$H4DI=z}37(O3i1`o+s0!$uu&TJC9rb@_A3;F5oWYp2}Us zJ&m<{=XdOk;7o8O@}uG|JR^!I(jKl^MxFa7AiThJFvLVoya~+e5UIB5IQ4o6$~!~~ zG=IaOT0s(D`CW=V9CQ)7mY#^`32=5l@Zp_!W~?djicw*mZ_IMzH{(RNKs^12gc()y zH=8jWKm$J@^O{#i_?c-n@ec!C_9!T*m$-$@0}ss!cwS`#Zo19F1@re5OH%v2R<8lW z4H^#G`yMUBuv!g1HIvyff78h`B|6q!ft_DlA9eLv$qEI^;7R`m~gi4vU7F4fA)2 zi4Xb{kxe&7aCYL(+Zg(<0zf0LVtU2XK%Jwmq)t2|UWbsGp)qa#E-6P7`GKUIN7u%X zZQJ(|==5h|$I?yQBhH}mBZl<%>rxAeJ8~SA5gABE7LDFPsDQv_) zy?I$=@~S!t9SqP_nPXLyM__Nu=&b6?2JFyjd&(mxrvFs z$IDEe44+x>7lRbmu$+RhJCkVB2*~qa=(uLmnwBP<$TT}sUrSK;xq6+&M19MnA9!lqm;XbGJi}OY0IOq zZGwpUQ@@|)_oN%ouslTmzcQae%HPTW3zB#n#1XK~NX`Y}%O!|E^(`UtXWpqkldkWl zpN}JUpZ&`T6IhqQc$8?0IyFdR-?fZD= z?$4-F?ImkBxoK|qUZlmlc6aZlHTsX%)3QBuqkG?O{`ci7 z;dFKPu6_GDTb4a)VRhKQdcBr*PU&%>R=oha7~wZT5i@~>>wg6wLXbt%%Oz19T#6#FXsIeVYI zB=Blr=NGs#oSlJor!CMH$k8oHSMz@ocH03;xmr~xuA$ak>r53@F>A3}tj=Vu$vbYv zd1u+?>QaB?8eyHS-Uz)BYPRKiOkHl7>-NCyfqSf510Mz?=NGviu^+J)tA2sIth=lm zxH_y-M@mj!yVP4q=(??kEXUrXX4nhuLjt#uXaDQzw4su2L_jW+BksLV4`e$Ma<6`- zmiA|RxBX-FgMhhKSwB`khWR?e`MUjqbE9*e^SU#^y^ed9J5}9Ch&*3+X1Q-We?xXy z;>tC_{gd-2=VqtOy}~&+&>n0LPT;zZYeFzPI5~J{@TTBB-ZdfkaBvA>lX*(`5`9bP zF~QqO|8Vd*{WPv~f^z*T_&V2fxVCAZgq;+8C-_aS=Yp36@91$)2>zDqX|Ah-+k-zyvnT%p5k8bt_>a^-0c3;T^l+fR2sTJSRGm& zS`n%Uy%>BZ_(pJLXl1A>^pD`W&`ZHDg<3LR&*$4h;%j7P>riMd-@VC84WA*MyD@9T~bdv^_L0bZO{@(9xkC zp{qmJg{}{MHFR=lL#RGnvsI|03!b}SWTcgzo zGzq4i>B~EC-#8+zI#j3Hq^4UltgUFYPgg4xpWE`n=c@DiXy`-4-H|QF(Edy(>(Sst~(yN))F7#0&dO=;6TCSn8pO-@* z^tywLaHq~Omr{R4`S(%kD&*l^^k+By5jfuMjoag_3W4&=d1qJ$9xJzxKFbO$OU%TT zxXRFqUBY`8TCsKXxI>*tTaHsfYn|@liRxR7U>ALr-lQL^1Gi-u{nVJ;$!UGz*a+%Vc= z=64h@B5Ss*kJ1j-Gb5WEnV6yR*87aGjHs#g9o?%H%xML+AGowGRm0rM45c6CU5sHH z}cJV;y&79uyq%8ysy)lQq8l-8V0wN5BBcDkmH}!H9{SuQ~h^y zCi8FRM%M9oYq#z}7Z8!p=mD3OnX|*xD6bYIqU0IH+ZhS>&jB%$`WUf)(iWeZ&V}+EZY`t+b9InU*7I&= zY&URm8oiXXqre+Nr{%t!Hb^bMA)T~nIHNooO?T`dGkG)RJwq?L4w6nUV;sFF`8?Moi+6F@5xAuFgLRI4aWfYw+l3wT!Z^1b^pP zlPFto-f-~G2(^$f;jIRH_(Mj@V3G+Mmb$>b?TmL9>ALi&6fi2gblj=xD+z2c7pxT!!LCN zngxHgc2TmaSJq+|@^$Iu9(vHF&cxm$i?=Dwj7t|{dqXSy(&nesE8;g>r+2-4=VJJeOXe0j ze`unA62C<)CC@VIklfdkyBrL@jT!4g9kZ0&GIp0~E!gqINuE{uS&KDeHFMTQE(z_> zb0)4X4BxsKyQSWojZ`mD&*(&MfruT{cmrA)NiVm+Ta;Xixv!;HBZ*^Wa(C%CLoa2{ z43@bik<-kqUrrY#-=a&FUil@PJW{XVg-eklNv|Zf3yAP3RTuSkk$a@>m4QtIi6*6t z`Kh$YtkaP|l=Nz(zDDC3t>#&8;akQnEjO(d#tKJRdojn@n*tFZV)~F} z)vKeeqpg1s^Qy<&9b$(l^O7fomxJe_JSqHOP9K9B*?C#V+Yu@cYN~ zY7pTAalOg)G4XSGKEj#`TMO_VWj#XKf8|<+?-ACrJfG*P=YCl&BKAz(tG~k+iD zcsgNmo|mfeq;V;!T`eK!&FWa*IfS=U%5diCTy+K|myluvqb$!7buw`yC`H1@GAAR* zX<$!w0+-^Ba&sO7-{r&|i#u08*Wy~kEwLvNJBnEGCG%(Clk%h{DM@@Iz`l}VFd=9F z)qG2?OTD-8?eF))|KIz6YXne9+JoI9dzW*o`j-=jC;yA;v?Od3&o{YE*mi5UJKW6y zuH>@qm)w5#PNKtTNOILlb4MO^tAs_t~|bTXVlj{I$5MQ-)3uUp%Z z)R@bZZ=SyaTa3eEFu?r`Ejx$x^_=Q&Utt}%ys;=74^eMBo1s>6ZQ|TV?IcUvpH5$ZigZ<21oK}Pvq%W^Ddpfk9SaV`kH8u+avt9!O>t0$a)I~S{exSz0B zc!8C^-8wN)Xzy^Y4qP1=>#q0O^`v!7AER;Lo-NnVvolboT<11xY|zwLU`?{W7AUX_ ztvdsksuKh61x)YXrN$erKdWx`T!g938 z-cCP)s=!`r{k#{{-E3XXnpnpEwaAwDOs>bZG_CJ-@d8kM2=KGrnq_ZspKv~fbH2~I zl@T0gU#f0$Zsl!yG}aBILLS%YQJc??3H!~4qV!M0U56g-FE}&+wy%4B|BJivhu2eU-tUC!&ze$Fn5R8 zjn)sXiybq+Ct5dJvS#1xW4sRBmhIMpz{0?yz-J!JT?$`ztqQv`qNe^|xz9uKS23s6 z)PCU7itNv5( zUhQL)cQ_BIvB2UraF#N=%ds+_XU%oyIvi;UZnr+CUqSVjI~Lx4uXB|;H6T6v@8+z? ze$Io4?N)VQ8T^&tqj%gv)UnIGGqBqoW;COqt8tIlf8AwA9x30C8vfp{alAg&W<4|C) z=mYN_X>U+IHNC@mLEY<~A9&7skXnB2-r*G34*+fB>#2nsu9+09PgTUd-Mj%YF@w z(R1vZoZf)(&?9h3L_W>;d+*)^PIG1&ZuOHOyYmfeE3l z9|XprWkb(q?+oxe2Dby?a<|6wQ?guFCC`$f;v(Q~1 z7-4k@K!)oEh}`Z`}W&-kDZw zpaot2VeB5irv6~fNGbUqD`+nZlp$xE!L^*L&U%?V+4eA&2#UuR$AvHZ@GZ0$e!kOS<@(4dUY)OM}g!jP8l7iM-v`OL6d*Q<4wKq9|E==?Hp zU0^5qThx%?M7uJOZEp`;sphyXD$_pGebaf#`7>4p&pJm3bKR%Zh1S2U{? zA~KK^yol9GiS-w2m(yzfiCRxlHw8{{msnvdM!mnGK7qtBRw?;f-G5tA>r3u0Tp7)~ zT}Mp}wz!vB4>-4@0Y23_+xi0%m50?EZjPOA|I_`3b+3bN$gW}~K9RBleyYB!?m(JR zfi&WGV1OUdyQ9@c_fGXV78E~G?^tiJN4U@Zij{4j>bAKP)YDen{ROroFVmi%xNjqw z{jK|kHNYxIih3_rA6JsH(t1zrv7U3@SA*O`+?|1euIt`mouJlh7?~FQv%1PE3jT<7 z{efe8^}cg5z1kUg&zTxLEa=*IqN_VaIj%@y8?1pq(@f@B`d_1F!F}yP#&j2UFGty- z-~jb)cdHc)CSfG12HTshQ>+GL_D$BAR;GKFHN$POUUa5or!S6*_aQ zZ>k@tA2_da9`2&RV(WEP?A(Rc@7wB|oMHQ_^?gpstww(FZRqPZEWMA1< zd*CFs&-#+O$oZ-|)Y;%b(GbOTqYaY+ed+_Kr>pas{&K(ZPt0novv^$ zcOKK%_i}-P_#nVY%`n?7|*(PQC6?>^ zgioTLieN=>Hr7ey!E)XYxC?`w?lAXo@0#tt;M5Sdkn$wFM&A)^i>_K4t{_|)$3T7$yFHq-1*#jgG=10W0{NZZMVyvuUnEDlj{C7ZR}}; z{?2)KzqmTL9-FSz{Es^Ap1-+Q_@mCTJ=*i6`+J>Y?tbZ#<$aQNEhpo9yN)|RS&ury zgDZ6W;vVhjUBYV z;d+SccU(`Ph?MIOFrj}^f9~`8J8bG-xI~El5AS*jmd9K#VyN@7z8*u-@mk_~10}%o zTD|ZukoV>Hlj{Y2iAo@Z(%=)+0-vHfFxP#k5JVAUuKUygNVZ(kK2f~* z*C4io8K_AH!iolA*Zu2RNQ|hFQm@{Ai4zvT_a!X+bDYH;+9OU5gpc4F&gEFUMcHl* zqdg<7k*G}ms$S<3^@$n5!`Y-7mpnxYe;+FCBlLA78@(f8lfoP?AIs)elu+ZmOWN|5 zzD({+#1qMK#5K|LXTxet=E{W$=!XhNu6ztq-iL)0bF!%^SCJ*xOpM@WTXVQ(an0qL zr?1b|U=F+whV`CdO}E6rOH91v66MSTT2XT!rh30c$tIV;<5OI}=Q1$)7>f2+fUP%x zBQZV@c4rWyH-wQIow)vp(&{MPUr~Q$apiDLLZ~2DKW%i6`9Dm>0Mt#K1L9=bdAv^m zjH-CA;LhN3QP@UsZ{l9e=0!Fv4Xd#Euf)%7JN*z}%OBrAsxcqy=NGlfk(e=rEUDhdR1aM3n@Egc(b^jER@!5Tglj5~b9sF68Y6SG|>a~#!@b?B)RIflzUkUK!~nOU3=xh9Zt=xp-I zJ;Qs?=G+b8<65E}oqQNA*3i+~$tTkILT`tBlDn~mFN4*!x5neD_+`=!5Ai*N>;Z0g zkXta!nKjb2#<~GjyzN?wE@Hko67HO1rXW*B=H7BG0=6!{(j^Xjw+QRP$M4RHVt$ewvy^~)(Xpc&#sm^x#4;(z4bG9y@ z19BueIFTbi=Wh>W9JcCYPSsIqE){0hm_}Ht_}j$U({cP1$C%5QJo($g{q`bp*=i4` zUO3F7ieDnd5$9x^ehp_4NYe%^=Zp()IV!tN6@U5q03X7^Pl-El+cR+7isO(Qy`o7c zkzEow6US2$8RDdk{7H#~y(y8iaC|0_L%f_`u~+UOayF4Si=%uXuz=$y!B#%QF~s`J zuIOIXy{LO}_c7fox}S$;y=)b97j=KSucQ02?hn<)R)!t1>g_G|k@i>YJ@zN|{q`<9 zH;^A#(tW6PQ{Y_dQ~S}tp1@dVlB3Cwkf8tH*F(_IJhsL=0uKaUKru4Nne5~_1&Es} zoK?=3oK`39Y;sORC3cas9bx%5oLii4IX`rM;{4rt%X!Cn&*|r~J$FaBSum1Q-4$+y zTdf(c7B}vm<(}vEZsP-%>Yi+ucb{Z03QXw!lKsu@wcQich24L#2L|Nc9@x@dNg8vl zRB}CKKVVM|v2475qLWAYwLG`C+#7DLT8@S9cXl>beDBs(cP}@ zR;AWD#D4c%pITA-M*A_lFc1x#8n__v)xe8^?>VGV)97w>PjgRq zFLamNXW57At;N;uAa^_4hOfCxV2kg9O+DZJxx3D~8!^By-Fw_$x%axYFo4&%+uRG> zi`bG3!hH=Jq3^rDc4O|vY&&+a>9~mv%SQKG?se`r+;6)#vsG(yA7kV6|F!qt0a0CD z`{+7ndSPZjrR&UC7(l=gMa6<(LyagJD>kZ#A|S<@=vYCch8RuM7$u3JX%dszVk}s( ziv|>p8e(iQ2C)VenfvTBgZlcu@AuvNyZ_uj?uKXfI(w~M&hBTQwfFg6auQR(GE8sx z;t}f$OtTM4?nrVZUrO#v9!m1@c=ZU=)kBiQk}5oe-NwVqU5Q%iD7_^)BRMPiOLAUP zE2)+|lRS`kN)6Iul2eivQZH#Esjt*e>Mw00Z7gjj)nk(ECT))CvPl{sHA~w`+eFa1EeOqwhGNcyp~ue6^uLb_18K)Oh}Seh-(kxrM+kS>ufmwqT+A!SX;Z!Wss z4d`~yp}YMFTiW)cYwLk7?pOf2-HjrZ_v>@QYzLYp$Gqz6q28o{@_`=9o?7(M2O$1C zULMgG=v{Dz#NAfX(LESNp&y2_{$Z!kiO|=hf2j)-+z0#}iav#wv=FYgM(*DrxQ9-E zCye!vW{Kb)`oY|xf_vK9RbhB3Mc1%jk{R7{iQs-|&>vwu!kK~Lf*H%6Q=zc79v;`U z$0r;PS^?GoYk_sZXTW-Z8M{TFgV+FU1oD6{fG>fsfK9;HKt51_K4Kj?0Y~R zFa`&rToI92t|Coe6*fVuh})*3d3#`&qWe$i9~)T+?R>?9N-vm2X11l3)Og&q}CfUK9KQ28laU?0=pd7Vqfrm zNnYzqBG1;~w}yY91hm)>JU@i*2fzN{`4c}9$ni(~fII-<29U_L4T-(mAnrCKKh*~Q z%`1hJ2l>d2Jan)GC)I~0px^{Y(1_Ihml&|17+5Oq!VG^>q+X& z2vUX)L`#e$e%mP6QN$-lk!Z_k67?NJl4E0t?~AF~v9Z*mY#fQBF%!xhkGD(F#BGWt zwI!a^CGqf=fV!1HjwKU_HzZQ?8HpqrGZA%YA}NO^QBzA2?k9<4mPsVdn}j-+OpayA z)MDZkw5t?ySeQbZHK`=7Nu|cQX(YLqMttp5l0yT_Ei?o5I0Jc;0nJdHCs{L{xW{uy zR0p)5OQK9*+g#Mixk!bDq=oZHatH99PwtlaWDH$^Y0W|ss}~||3sH|3l4#^YlFk6V z3Rn+p0(OCaXCczIh{WEDkWY&!zQc;{q*hz=JS_l#r~jg!sx55Tn&Cp47o2MugTE!hhSMq%A z$GoWh8eX?&EziBTj+d8w#=FpZp0@xkH}IT1kLO$gzdT;CERPpg0%c$DJblSKmVL?d zoxb9oEMM`Ws;_wEnoYce=hq15Yjo)OyvM10o}W>`Yc>_~oVtkT%|*O8t%w(0DdM?% z05;o;jurF#6`;15=fs;KznPb9fnAPG?#sU8F@qNIbyI*;5mz@C%7*tu+@^aX-LYyB zU;9|Z*Zd=Lr&^KBQY&gvQY&f{`Aj6vdj{DTBCWViB%4?#lHRKmsghqp#wwEKSw)f? zRuOtRvEqtY?07>WR)>G7=4A9Z|p4=o4v)NDsQ-X zixr_huzkd`8-8LD*1nyqLSgq1JC*c+-Ak-l-%Bi}-k|%4HK+QB#f`(o4qKwc;*yWV z0loH0#9jAEo>Hg`XZ6drZ|WuMLw#i3pkCt)Cz&&8-7#UX%bR8?>_5dx%$+%5` zdc2G;`B~;iC9?RE5}DR=P^LM2P^J|hl4*M#lIcSa%es~vmbET9B5S&)RMtB5m`p*( zWqjyynUPM(q$Q_heXg96HKsGNR+cj|iR)RJqvfouJ5IIY=$vea{G3dD;}=;7mCM9b zA#)9_koCEDQKo8q3F*8n%cLtvCv}RpP^TIaV>GlGVPCTquSqcEG2oq}`*sTDN=V~U zNg5fRW6XijKM3YHU4M=Xn1NlkGjTnao5;<>Qp9}dMlHr-MK+d$mf#)N2e4Og2JS=7 zi@k&4KEn0KSPWQ&MT}3l_IRIW#`_2~Jha+AK@H6o;wEn1niR>=X4Et0Qw>1pF%t1A8s*M%W>WY zK80(}b55Q4K3o@`xNdwh7sB`A!a(=rCvm-aPp&uLjO)X5%HE=uT$+dzPs5P9Smeaz zh;*W5B6n_u$d&&{q;dR8q){9M@2p77m5G*d=R_;G3eigLf+&}(6mhOKq8uD`x0HK~ z$C)Q03*O-o_e`{gdk*_0-iVU8xlSk67^1~o^QB_0Ly1_*9T0PxGBG!@t;E?YPuIh% zRM&$$4M4^Dlh2whu2zHVBghG4Ui9U|2Z?jF{1 z+E2lWT$wo74>$}=n1++mV2>S+SymiQ`ANYs6u=C~t;0H$awz7a@Fy8blmR;&cFaT~ z*C?V`$bAlfkATLY+42p;nGrbc4Po{`c$d<#!~lQIAaf3W=L6RU6LrUWk7pLqM+mnB76cmSe=|$~P2;~B zTL54)8JpbeU-aIB`4TG*IAnuHV)~CK3Hnk?7?_FjU@Kui@&d|fmtQb0ZyUfvWgxKx28a6&>aT~v5~b7=V{=O z4V*55Lp|7O8|>T;;miy{z)vvkB3i38?+($pxajra{Ra*nK3W&%2CJI+KwUeZ=##!Qu zqGtbCdc#tbNTpCp)Gn?{B~G`~YVqUYp?dqoG~1m}q+rHJMkYn3q_BTxMgs})k&#h} zk&zQ4u{5?{q)X2%nnVrbz=H}|^E_8-9wWM%#3%Gy3RZp>4E^h3B_Q%8TOVpZrzzQ%2 zv;x9RkFWwsVn6~&0U3Zpv7lIvb_%EfHQ)ef04-K5%MOTCOFTEn;z1uSj(`*J3!Xz8 z!EOvR0ZgrkoMF2FuE5LyocV*u-9WnooVXj*xH|$JpxhLMCFCHeK@EeF!7!+K4}*F^ z2e<@6`OXaV##Jz`g2@PfLD&k_8NZ$IYr@-tU}_GET?Ioyq!ZpF48w05@Y+GGE{Oi* zgYkYsA_^u6*G$%mn(?iuUUCg@5BfoN4*vRqUILn3C*e_n*$n%z0kc7Z+2e3!!f$V= z2jOdqxO(%Kg*y(gxv@}jEjwZltvCE9!KE3uNN$3u`vz6Y@I;m-Vo3x9ryg(;UM!%sHCi9jrgpqZqJOSDTC z*hAkUxZA=H2hCE`5xmza35U81OFO#*U*wD}HH>aZ4XdYT1({OBlnr;2kP^@w3%Ng1 zG|3)D1ec08x*d`BNx0WUy3L1k1&~k17N}%|K0xrv(s3U$EENqh4QVJALhKJomW#GD zhubAh5|+oy-iXh}XL(f$nQ&ev!W%jvuO|sPq~!XetYj#maFj?#NO_@*f)M{OxUld| z_{)ZmM1cwi&16p@eiL%W3seM`4SE(zp0(Rq;9Q0qQ|eUgf!emnwDX4kmc|I zyjQp7Pz1;FI*N{qebBNJC9HO3`>;D;_hFI%;)bi+oJp2ViE`9e?n7S2M{xzpwv-() z42q)NpyJ3>=IJ2b#kj8tY6w;8)vG&0FJrh#Ea-afj zb2a>R!&M^MUAELDVW}*Y7l>Gi55Rr&hwKT+bQan|si=UmCBFP^xJPhpC`x=Au}uQ6 zKCy^20mg0dOxB+3GQ) zSvcX~XA8bqOw4yOTvtP}OUbD@mbcp>kqDHEjv^&ZIM%+mpbYN`wILhQtWGSF+>(8b zexSEFA8$^U(KROtH%=|V+x{bT9KEvwx&sX~D;pp5a5te1a0Kr1SNK}!t-Xbweg=9% z)^~g3z1Sjwnt^bNaMj>GlHTXO#GCkG7%AGJh7A>d+arx#px*l>az2P-oYh$9%0hq2 zN;C^9%|RG>hH>2>aS&sP7uxSkf#*eoI2)DEjSy|&KERz#re$0dQo9a_68h)fLSNrm zxDKWw)LkExUjvqaZY7L3*|4LK?tXapJ`QPSV;BpeGsfB!^z|zcH+w734((tZ8=k{{ zE*d3VcNXZiMt2TJned~aufgu1voe@2i-JY&l1mhYO>DEc4`r7XXZh#O!PFUdcUkJj zJ$DEucctA9~8$Xv1&* zsl~QZXXTqElz))zmt%8{w(!L`HkpQ0HQ3ux=EJzb6ea4cy6nCVH6aV7;)S*u@E>z4 z>fc=3!et2j1aQkx|JzbN$}2?(AqZ5dasbBnJ_xTZg{y+F{ojPXr&JY%t*v-;7OfM@ z_~)WQ++~p#{p5YlT|5XXxA(c{GIs+c$sMx@^sl@Z-Cpq=2lTUcmu+Odiwq-oI9-#l zK4voRaey#>HWOilmJdYxuAo{d_m9K_O>eq}ypwSIXdGJQNaXDXnuBq>6><^dK9DWs zD{JAtsDWpZZZvXEoB#M*CR^&sP|COek?SN)-SmNU|{pWrNv+uizhH zAs>CgDHZ-$4M-HT*lY+Ac$kww?ly0dwj`$P-V#fu-Ko?++~Fo_7z;NX?V^Ay5W>eO z=HSXF`m@>~lb1@fId(hsRK-v+PZcB8xsL?-EN(T5o20#Gsm7!iWd+sjasz9oG8 zK~kzfUyq#1mV^tr8U$UUQvNK`5e`Y2jJYPGbe5q8C1R$@=2}{485M{IL8est1hXtH zmk5{?_eHGid@+9A!zlD2YA>s81rjz-VKrnJW}d6bB#PjYk%lecsWG0d28Y#;Ntjvo zM=YyRcM_3u7FK^@X28b1+f!21tLgS4Q+NT|%L&Ocye?#}eKO28c+QcWK zW|=T9tdp!$KWA$D_)Eod<2uDJ|@|s9h*U~^nw7gar zuYFKb4aXCik>g!iSkUhS7YgUEtZ@&V7d7V?n^8*Z^k0?cia!$Hf(>|#qH*P#=`PGt^`ZVN4TSCHOH{| z?gSQ$EBZ+E6%LC$D>?_g zjS5jEHUvEuJ;fG;=g@?CDKd+r#q-4r#5v-n;sfHd;xchtsF_DWH)9FZ%0Gnq_CDxG zlt8b7=|dcqltOQ!2Ko^M^)Us$5~G%Cq&lewG#(6s=E6JDXz3(riZo3+Ra!2skY12p zm0pwnh7!Cj{Zo2ZS}m=SK9|0fTBU>|5Op#~nUl&NZCo*RT-iTQ-&+wQ4Us)QjSwj zP^KxM zg!+`aLVZnLrM|AdrGB919V8AK2PcPa4j~R<4t*T@J484PbQs|f?GWoQ!6D6Iro$|U z`3{R5);av>u-Bo);e^9khw}~>94Z|iIy`pZG;KA3n)aIRnovz2O}J)|CQ=innWtH( z$<{2@EZ3~ktkry>`C3z;Db{?W`CjvbW}D_`&0bB3=BVbFrc851!&FSg+D6*O+9q08 zt-IEs_0_i525CEJJ8C;=gSDNtU9?@b-LxUvP;Ec$RP9`?MY~A5Sev6=u3f9$r#-4I z)t=FoX)Cmsw4`gT^VhZ21?oEKf^}VV-E`e`p}PLMNZoMVNL`d}oGwNet4q)&>QZ!5 zby>Rkx&^vLx@_HY-3r}@x?J5l-RHUux;$N}?zFB<_d-{vd#UU16zMe5Dat9@X{l4L z(+^I&oJyPyIvsPW#3wIY8;xxg-6*M%rBQC9JnU}a8c%Ufb+$OqbNp)PU(VGy z?qYG-=CZ?Or^`N6YeZaog&4!0nh@ncHQzYi{K3;_l|&%-!HV%ze1~2=|fh(e5$svF>s13GP$eGu-F8 zTikQq^V|#E3*E^>>>=@J?-AtD!J~^uSC4KUJv@4P^!AAKi1LW>nCy}1Vey#nvB2XC zk1sv)JqkUFJvMu6@%YwbtH*ASTOPMP?s(kw_}in}< z&j`;*&nV9so^w1)Jj*M9q}hgMq?hY;dRM(c@2xlMJLyC9ef5$0QToyPvHJ1)82vb|F{03{;9rJU#EYmCxgnM zGdLSu4Q>W^gNLE1p_xH%Fc`cIJ_cVy8-v*pZ0Kz0V(4xNGxRd_HuN!s8-^I(H4HTj zGmJMx8zvdj3{wr6hFOO94RZ{04Hm;v!*at4L#`puP-eJl_}y^ba1+BBZxk72M!8XG zR2el!ow1Rzv9XEK+30F?Gd44}G`2E&8BIoSqmR+o7+`E;G#lF+gN(t(&c?3B5M!vZ zw=vw<-}sJkfN`L4kTKF2ZCqenWL#p*HLfxl7g}Q~IMe`OuEqq(FZt-4=_gj3{Vq1$VEv~nqmZ2@9Tdr?;7X$9j zR=ZjqXmzkvZ7cFh^-A;NOcPB>rb(vBrexC;Q;I3olxCW0N;hSgGEG^gX{J@C64MdW zQB$eumg%&_WC)+2-XNk{JpAUSN`7HNY z;q#$SuFpq4D}6rpS>?0Z=M$e#eb)G_^{Mo^V2rSxpnW>;jJSv z2{8Lb`^EVs_$B(K_)Yao_sjIl@|*7Wp5Gk5d4BW#Zus5w`^)dX-$TD=elPv%aW>SD+1>16_B1y&H!~Z| zMzgOuz>Kfom^+v|nY);~n!A}p%wguW=FiNZn>U*C%wL#anCr||v!rd?wz+Lrw*91S zUfYtkH8@q*5a=7&H!w1AaA0(xC2(or_kktCNxR!4N+M|Bsg0D^B+of7cT?G>+D-L1 z{ZyUrkgv-(g&hhz6$TfE z7G@S&3g;JYD?D6yrm(EAs_`?TUknLyLPB_bMJx98nxuJf=9hIIVbU@$}+Z z#j}eo#aoNNFaDu;d-2ZVpNjVtmlPi;K3M!~@zvsM#Z|?B72hkaF0LtlSp2B?N%7NS zZnI*u<7UHV@69Ef|JZzU^R3NyHvhT#ug&*1|Gl{e6UDDCZoPOClfk*aT7R|vMpf2Y zdX|QLw2fXgebMZN{)NvA-xr-;guDoS(ep*07eBoCu6$YZ636A^@OWLl zOTBBoTfL#)T;I07U42k}hx(57o$7<@JJ)xq?^@rjKBT^TeQ14HeUJK{^}XtQ*N4~l zt?ySKQ6E`9w0>m$sQRe-(e-2M$JURlA739^A6Fk=Ke0Zkeo}o}{WP38&soJ*iB)b@ zSd~_lRc&>!YOFe|yVcXGw;HWotX-|$tRdF!(47vmj<$}mj=T+#;z)6x7}|kyrM#oO ztGv5>gnT4sa?T39!l3A`uwYh(g-*=7)JmPQiP84&c_SJOlhPl zS~UY_@I`B&60U<1GDh=o-4NXbokbY2x9Wb>?bQ9G`&qYFw-4iVjgA~ejwVMxM}Nl- zj-ieg$N7#69Dj7&;ke)Nfa4LzGDnN^X6G%=-#CBkyw!P!^G@dyXEIRBw3b-Fn@FjV zse@BLO#L_&4+=QJ+UH!txx{mm&P_R&ac=gx1?Lu>TXwGa+_%`M)8l;a^YlwJHe9)v zw=W-9KD>Nl`TX+rxJPL(k?8$PR8i^$Ra9)Lm$D z(fOk1#h{BFE)KdFd2#r~)Qf2smt0(WG52E8#o~*HE*`#k;^LW$R4u7CR=2D+Rr^%8 zuMV#6Qr)9Eyt-fYJJk`@gR6&DkEkA1J-T{q_4w+T>iFu!>g4Lo>Y3GZsx8$YRDV(Z zb@k@znrf;s*W}fFUvr@5Tn#$dI77? zm$8>mCW`j-_HFIEC#o{4F6%(W?-kc8Zd8aaC@#2N2>WgKZ(-NJy8hx1_Xm&byP*%B zW3^c4TeGdX*7eqn)?(`pYl-!+^{Dk2`rtD3zqhS-tq-jK;FBZI(D&MmMAiuh_Q&D# z0IOstWp`w?GPOKJK104iUMa7Zdn*Ph3KhE)<%*WdWaSp+HKn_1plT_e72-$<^d(c4%rfowR+mBefIp#8jv~rmfT}b-s8SnxtE*E7l#;RqASWogDi*Mmf%K z%yC@fD0c1OI>R-`wbHezTaw#6H+hX`P2ZYvHEU{$YfjYMsj01zKWO$~c8J_&e|@}&65sVDVMIz8?GbkfrmPtQD6{^R@4z<+Z7*?^t|CMGT+DJ3;)=FAv; zbv?oMRr8co_DS=s=`&}gX2m3>W>u&*Hxq77NSrt^>Cef@_wZr#`)TP9(=#4rW<8lUoqZgAV&?RjF~9%*d&13|NvZem z-_LsT1fPE^Ss+$HA@P;5hxqFH-w2z)zd65h5cp7Mz+nYY;sTli%>X@M0E|F$paswp zXa#sdi=t+sSXIweBw|AV@DgC=22_vGy$Z$zNj;ROm;xqq@W%BGXjwGyeeBn;1jDY^ zLZzue-WS)m<*%<><9hiUd_P?KVRHj4!T5vN*Zy_*IA(_iLM5spJRv>ULeg;E2K?W# zH;i4gG_mk49bfx5+pl2>hF#a=t4s~)Z;M=bwph%*&CVRdaG$)h3`)L_@g*wm&clN=eINpxp=iFSrkl z#Wz@oKv@OJ?G2@-0nobp8`ra;ZPyd>uQ$`g#G+nKVCn500R=nAsbCx7M-TbG1|Umt z9pJ=L%n>#M(sMr>-5>Pl{xr^iM}Rik>5-sK zc6t=(OG5R6ra$P7CY#^Upbyz)#(<7Pez7pef_~o8md3%Ue;nM@q$Z`dXl;;{7(du)PiVJ3iHD6!EK>@<|Qh|!<6u(>CKUSX#v zf*yrV;$`_c8FUKni_yuTf9z+Yr+}UcdFGyiYI$&lSQTv39fKn; zmPnv6h3{yC%|2FcGyk0*X2}(+mhxehS0P|%N zwb`#iv3lEsvER6|Bq+(g3!Y?wEsrW@ju(i7q`Q`2X@;-sag z#wB2HcONE^Faz7`GiZ2Ba#n&NGd0za9Fv}yz&`M8h>yuco0^en zNXjt8r%q3Kb&-{lo)8l^QAlZ6d^`fqFrXmefqJB;PEJTMq$MH8`n4HkFWiRmu-^mn zHOA(RdL*aDO-6AF_m+;DfqQseel~Y|6?k2U{W4G^USAHy{&ibM2$|k{MnYV}$JuRl zt06a0syIvms`FuX0=bFX6G}WaC6V5pIVCnVIVn!aWJ7XlYMM|#Qevjqs|6Dpiuy4n zCS|4}H4Qh)@?W@ldl}$Pg(8Vh$cRf%N<*DPT3;1wkC^zk*{oj0O-xFTH#Ag9Ce)BU zLiK!ABVWhOYC#6`%Chgx7+%$^cvKM~Z>OhbA@J0=xU6(~H!}te(ALJ{Qm3Kuuof1X zj_gm($}pge6If&UmzEV5gSMIsr#@LJwu;33CrwF9PGEUyE3GN00x@VZXb8A-R))4l z(+>?bGigE+f=x#QnFi@zwz6h{#29e;KtjwEb|XSVd!18uDONXG&9pZ%n|KDovbC}d z8i0&2OpM7e#3rCLG7@l4h$AvRH8V9XHQ8SMSdQ9LXlwAVONZ6lSg0saZXQ1H4$!K=t1nEyDAU_$2f)bz=(nt#Lf zo6Y|}^)D$le{XgtF|oG$LP5u7O_+e{VCzd?7r6b7(bdG+x~$i^z*6_ogda1_lD5=}wGEiASp# zg8GWa^12fnoRx~PAYn#aLP9(ehg(6vnUpmJrJR)#Pa}k4w>veA7()Mp=rNQ`5o!{J zeX>ccauKcV3lo-+uk9`}Kr2&F8kB)m1j8aXYX4d0qFOteKS~OS4~p)K!Ei#db(x zFL?GP^%|H$bv{k#+z1n0ZU2N~e=VV|YuTrKds5usdiwd=X4)BZ1e+*uR$)XB>L;xt z#oYk%TzQWEYFbY|-+R)XkOF!VG@p9?96;;;Tu9rz(kN`sc)IXWFul7VnASfIrVqw1 zB=2W?saD^Gu30}N?HUO=wz*Hrs1In0ehQt%hIhqDC`b+3NgF0~C;z+SX}2khZvItD z-DczK6~QuEIb?bMnAtFNM79zQM1YSX=Cj;3etC` zxerg!gY2gCUapZQwS12%Ql699e>yek(v!9~K1zq&KBsREA0)pB>|=)d$l~|=&>wgp z`RwRAY8Q*W_UGTDZ3UlF$6*z8G2|(IrE{f-X>}C;xi6(%+)Q!r)zYl3Bgm!6Z7S(E zoVr}NLB7?K6g9L39sqx$2TBieJM$ZDY-^5izvoML5lwTS?6m zc2eM-C3I_lG~GXZnvy#xXl(a#a=vzvMs~qLU7xL_^Ub}Gwkme0FSUI(D? zf1)>?xYU8X3(wQRnC0Yj9Q&rd8k19>&*<=|!*uLOFN*l#BkbIGMCCodA)kIX>1Blu zYXf!EY}F}BJ5x=KLY~mQ2NwGA_8}_8Ui*(FtLVT~oRF*dkyO1OQI6Ak+H9Cj0oylH z_{xJcJFpF@hfSgMf?S$>TTg9IenK;y`%~D=>-6}yC3I)ir*!?+LR#DQQ_A^!GL0YK zfqs6ep}y<3QR1d#nws8&mX8gjjZJpZo|_6<-nJF}lNpSYC_KqQ&CxsZiR4#3lERB~ zDf2c@doQ%4f8Nihl)mY-(fK~DSd~xPK6*;$-W^P5l@H0VrX4+bXAb=kH<7M}jHl4C zB3iU$E)5&vLmlHwXi6o%DA_lVMi0oMfm6$=_s|qlDGreDlO$?9p@K}Z&uOeUlD2jE zmF`YELfOw;sNdxGsi|oUtL~pt&s8tUVev9*8+MIW27gXh)9{s$owrH;TNi55u{Djc zNb>F;015bQS1szY*t)dRJdF3j)+G8TQ z#a*Lm%kI;}4~9_PuN~>zFE-O}O|XdY?H8neahc*HCeYuKo#c~XrV+#UQ@9nI9iII} zS^FN5_s74{W<0h|SoV~}C!5go=2E(JqbYU!aTAU3_>elBR?xs6e^R4;o2Xrj?Nn3j zPJHLAON!49Tqi39^7SE>9><`4W#3h}M=D&+`nXc3Qzpy6LeeiK_=^TQj09; z*ZpbG={z!gy_SCb@)v3|R!Q5Q^&rQ~C+YotW%Svv2WYd)UOMsRJd#fuLjl8Fpc*)g z<~FXO-(`!bu?pYs3|mgw`*1wrOJADYY6s0;(w-!b>glKb8))LBLDb*3kOm!&BLCVw zbTMiTJubzm_7Tg;&^ezrjTldjyMIrXPOIsZfupHc7t`@;J7|CO6N*T1#G6Yf+;81N zKa`Zw;9-5K*$WM=PCrCnN%8fu&>)gtnN3x_Ptiahe7o$#F}m|8jNXgCMxVu3(xrWE zY15~NX!^)+Z2*WctB(t~0SW4qVO zKk4>`N7Vei6O{T<5Xq~KkoDqnN||(>w!S<{AIlHWdt)6FhYBz-m=b(}>1 zoP|ng#&5L!_--7pG?=dc;6RzXThh(|^8GRoO z?|q*xVeGzlsS$m!`zJd5X&tpKG|_{UL$vBh2dXR_PTLB%)7euRa$4d~sUzBx-|!{0 z_RJr2!SEAJ9#>2uzU#?x{3&{=>QBEvenBg`Orh(G{pio~g;ck#i0)UPqky2})FwEF zIvIPB$E9O5uTDuX`cI-Zo|W|OwuLls?J^qL{1o{PyFw*LFObUZ6LL@6MMrjQ$RTbKBZ^pI*@VYk2HIJe_C_a zNTC~XNM`sj`aQEVCH~ce>OcRD#+8q!*@>HI_m){S?CF=(I;RDN?H)#>QsiXxT};8@ z3uwt7x9H}Ea_aXYl&r)5Bv0)LIx=c0t$N;?emQW2v`5a;uTkGp_>sl5sAnu07k44Q znX5<_lTE$@W|PIwoqFzfq8zVWn$dL$6&}7pH-DW?hdUo6ug7=kpG4GwmHR2-tJc)* z#!=GmS83fUH!Ad5O%u;}lj84f)N7-G2Cg|lY4hV~&U-CL`%@ql zJXt}Fhul( zqokq-pPGS%YO*Zws0oH0YG^g96T5Cc{|_w0;$6t2q@ac=wcXx--q>#Ldzbi7yIn$I zzx^y$Ia+LdMX23|`(wC!V2O^c{87EtI+q2x71L~QM!+#_>t5Rm;2vf_r?9`69f~&y zu;t7LmgDA9*!q29m5&Tw*fbq)5!gDfV7g*?dDT1|zl5t@z)!$#3af;C@1H^M0hrkf z>;v`#CBOmT?XWgsnS0H@hqZP8|3O%vA{W>HdssOo{|909!_xPExW_7lHSB-8N8Dy8 zAebZgJqncCE^z=2j#mIq062IC`u13I2hQMxzyo5H|5?xsWxzQ*&cpr%Cz3-|e^#`w!p-a1*!%+y?I8LFy2S`%hE@*eTQS`k@Z)%p{=py|j_E z0yEcoJDq@9YqirS)gU8{V85MiR|>ZJ@JTVr@!fma}y7XReX31 z&SnImIe}^=v2%~Nr?69u8v<@6<9>j6rFL#m5Z?X4G4?nLMrL;$hFUGR)2CWu`?Z}u z3R-EWFQD41>~wWEY|FOOTDUvdX*p<(oo?(+VONfbRbEd5v2WY%ScXV-cKSQqwWFQ> z9LLJ7If|t2GvWLR;2_W=5qS$ow!NFUzP%c<3;V~g3mgo0Pxi12(;&ba1v5;bmI)-F zRWQ>az-(riKwc^0JJ`bJz|z4PC~OxT`7YodW8C4PaE58%Rxxf@aBD!gk6=aEz*UD* zob6Hwe9bWklp$N05n_K!po9rnP%z90;lCwthY6gwhad>ZZGy~0H>4r=I0RauiZCNY z@s_}@Hw79(XvhH;LKPFxzZJrp0y!t%5NHUYA(L4MTbY2@TOqtDPzeD|g8-}hMmcg1 zj(iBbTTX%);!k1A7{OSDAT)3h42#jI!&`GW`gX@vC=kY6VH$+&fxfC7EZkZaT$Kc; zo1Vh^U4#p6SRUvOa1@L^=vThp4*gBJc}Q0kJo7yeN(~6jdQ@p_NA1 z1q6F7e}_3lfT#uG;ApRNLW+<(=fE5YW*!JlAP%ZzhJ|WGM(kqTLEs)^#Gyb6D`x~} zK-MsV#aF|K&8;b{u7QkRaR-B2!nk|vMc$A>m5hrAps+iP zID{VgF$i`WmS5oTE{I%4jOd2x0SLw^WDY|?>|(@IX9_!P=aeyrVc=AO(9}5FQo@=U zE9P3p9S&|zIk+v~>{7tZgCjoz+^vl3^G41vzsDGNB)FA~`?bAlHiTT$z_nDo!EMNa zHE04uD!VKz^&;hTtwM18upDhT0K&fd%-R<20R8PGaBOu zGa!MmU665N;f%F|$^6(BRfJi={-tuzcm@c+Fk{SAGKgmoc`&&&HNDu2}Ky^65}QciED9#Uad zj3G1wZ=8+Qltqr$DTv+jI~szoz2?6yun+=;Ou&rUJ2P(!EP_B86ZqRcA$?n5F$8Lv zz?J_ZkPU&n>!{GbbVO}s1c%{k7b9}OI>v~bV3jwpsu-~ZtQtmC;vnX_23F1=a9Il0 z8W2Np_N!o6p$W!5=Nw?~nLe;(0#2BK{vNOb_z=hiJ_1$(9|O#+g1s66TW(;+7Kjkr x0qyM}2f@Z70Cfa90l`3L04E-XRsAOqUBUcs9&X%1J6hNQajm}%DzDSv{|iQwEouM& diff --git a/lib/sql-js/make.sh b/lib/sql-js/make.sh deleted file mode 100755 index e9b4779..0000000 --- a/lib/sql-js/make.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -e - -docker build -t sqliteviz/sqljs . - -rm -r dist || true - -CONTAINER=$(docker create sqliteviz/sqljs) -docker cp $CONTAINER:/tmp/build/dist . -docker rm $CONTAINER diff --git a/lib/sql-js/package.json b/lib/sql-js/package.json deleted file mode 100644 index cdb3778..0000000 --- a/lib/sql-js/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "sql.js", - "main": "./dist/sql-wasm.js", - "private": true -} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index b3b0d64..0000000 --- a/package-lock.json +++ /dev/null @@ -1,43943 +0,0 @@ -{ - "name": "sqliteviz", - "version": "0.18.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "sqliteviz", - "version": "0.18.0", - "license": "Apache-2.0", - "dependencies": { - "codemirror": "^5.57.0", - "core-js": "^3.6.5", - "dataurl-to-blob": "^0.0.1", - "html2canvas": "^1.1.4", - "jquery": "^3.6.0", - "nanoid": "^3.1.12", - "papaparse": "^5.3.1", - "pivottable": "^2.23.0", - "plotly.js": "^1.58.4", - "promise-worker": "^2.0.1", - "react": "^16.13.1", - "react-chart-editor": "^0.45.0", - "react-dom": "^16.13.1", - "sql.js": "file:./lib/sql-js", - "vue": "^2.6.11", - "vue-codemirror": "^4.0.6", - "vue-js-modal": "^2.0.0-rc.6", - "vue-multiselect": "^2.1.6", - "vue-router": "^3.2.0", - "vue2-teleport": "^1.0.1", - "vuejs-paginate": "^2.1.0", - "vuera": "^0.2.7", - "vuex": "^3.4.0" - }, - "devDependencies": { - "@vue/cli-plugin-babel": "^4.4.0", - "@vue/cli-plugin-eslint": "^4.4.0", - "@vue/cli-plugin-router": "^4.4.0", - "@vue/cli-plugin-vuex": "^4.4.0", - "@vue/cli-service": "^4.4.0", - "@vue/eslint-config-standard": "^5.1.2", - "@vue/test-utils": "^1.1.2", - "babel-eslint": "^10.1.0", - "chai": "^4.1.2", - "chai-as-promised": "^7.1.1", - "eslint": "^6.7.2", - "eslint-plugin-import": "^2.20.2", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-standard": "^4.0.0", - "eslint-plugin-vue": "^6.2.2", - "karma": "^3.1.4", - "karma-firefox-launcher": "^2.1.0", - "karma-webpack": "^4.0.2", - "vue-cli-plugin-ui-karma": "^0.2.5", - "vue-template-compiler": "^2.6.11", - "workbox-webpack-plugin": "^6.1.5", - "worker-loader": "^3.0.8" - } - }, - "lib/sql-js": { - "name": "sql.js" - }, - "node_modules/@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dependencies": { - "@babel/highlight": "^7.12.13" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz", - "integrity": "sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==", - "dev": true - }, - "node_modules/@babel/core": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.16.tgz", - "integrity": "sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.16", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.13.14", - "@babel/helpers": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16", - "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==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.16.tgz", - "integrity": "sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg==", - "dependencies": { - "@babel/types": "^7.13.16", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", - "dev": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", - "semver": "^6.3.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==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", - "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-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", - "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz", - "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.13", - "@babel/types": "^7.13.14" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", - "dev": true - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.12" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", - "dev": true - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.17.tgz", - "integrity": "sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.17", - "@babel/types": "^7.13.17" - } - }, - "node_modules/@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.16.tgz", - "integrity": "sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz", - "integrity": "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.5.tgz", - "integrity": "sha512-Sc5TAQSZuLzgY0664mMDn24Vw2P8g/VhyLyGPaWiHahhgLqeZvcGeyBZOrJW0oSKIK2mvQ22a1ENXBIQLhrEiQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "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-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-decorators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.4.tgz", - "integrity": "sha512-2NaoC6fAk2VMdhY1eerkfHV+lVYC1u8b+jmRJISqANCJlTxYy19HGdIkkQtix2UtkcPuPu+IlDgrVseZnU03bw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "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" - } - }, - "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-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.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", - "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "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-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz", - "integrity": "sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", - "globals": "^11.1.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", - "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", - "dev": true, - "dependencies": { - "regenerator-transform": "^0.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.5.tgz", - "integrity": "sha512-tV4V/FjElJ9lQtyjr5xD2IFFbgY46r7EeVu5a8CpEKT5laheHKSlFeHjpkPppW3PqzGLAuv5k2qZX5LgVZIX5w==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "resolve": "^1.8.1", - "semver": "^5.5.1" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.15.tgz", - "integrity": "sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-compilation-targets": "^7.13.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.15", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@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-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.14", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.0", - "semver": "^6.3.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.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "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/runtime": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.17.tgz", - "integrity": "sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/traverse": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.17.tgz", - "integrity": "sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.16", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.16", - "@babel/types": "^7.13.17", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "node_modules/@babel/types": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.17.tgz", - "integrity": "sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@choojs/findup": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", - "integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==", - "dependencies": { - "commander": "^2.15.1" - }, - "bin": { - "findup": "bin/findup.js" - } - }, - "node_modules/@emotion/babel-utils": { - "version": "0.6.10", - "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.10.tgz", - "integrity": "sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow==", - "dependencies": { - "@emotion/hash": "^0.6.6", - "@emotion/memoize": "^0.6.6", - "@emotion/serialize": "^0.9.1", - "convert-source-map": "^1.5.1", - "find-root": "^1.1.0", - "source-map": "^0.7.2" - } - }, - "node_modules/@emotion/babel-utils/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@emotion/hash": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.6.tgz", - "integrity": "sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ==" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", - "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", - "dependencies": { - "@emotion/memoize": "0.7.4" - } - }, - "node_modules/@emotion/is-prop-valid/node_modules/@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" - }, - "node_modules/@emotion/memoize": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" - }, - "node_modules/@emotion/serialize": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.1.tgz", - "integrity": "sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ==", - "dependencies": { - "@emotion/hash": "^0.6.6", - "@emotion/memoize": "^0.6.6", - "@emotion/unitless": "^0.6.7", - "@emotion/utils": "^0.8.2" - } - }, - "node_modules/@emotion/stylis": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.7.1.tgz", - "integrity": "sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ==" - }, - "node_modules/@emotion/unitless": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.7.tgz", - "integrity": "sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg==" - }, - "node_modules/@emotion/utils": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.2.tgz", - "integrity": "sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw==" - }, - "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==", - "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==", - "dev": true - }, - "node_modules/@hapi/formula": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz", - "integrity": "sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==", - "deprecated": "Moved to 'npm install @sideway/formula'", - "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==", - "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==", - "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/pinpoint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz", - "integrity": "sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==", - "deprecated": "Moved to 'npm install @sideway/pinpoint'", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^8.3.0" - } - }, - "node_modules/@icons/material": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz", - "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==", - "peerDependencies": { - "react": "*" - } - }, - "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" - } - }, - "node_modules/@mapbox/geojson-rewind": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.0.tgz", - "integrity": "sha512-73l/qJQgj/T/zO1JXVfuVvvKDgikD/7D/rHAD28S9BG1OTstgmftrmqfCx4U+zQAmtsB6HcDA3a7ymdnJZAQgg==", - "dependencies": { - "concat-stream": "~2.0.0", - "minimist": "^1.2.5" - }, - "bin": { - "geojson-rewind": "geojson-rewind" - } - }, - "node_modules/@mapbox/geojson-rewind/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "engines": [ - "node >= 6.0" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/@mapbox/geojson-rewind/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/@mapbox/geojson-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz", - "integrity": "sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==" - }, - "node_modules/@mapbox/jsonlint-lines-primitives": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", - "integrity": "sha1-zlblOfg1UrWNENZy6k1vya3HsjQ=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/@mapbox/mapbox-gl-supported": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz", - "integrity": "sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==" - }, - "node_modules/@mapbox/point-geometry": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", - "integrity": "sha1-ioP5M1x4YO/6Lu7KJUMyqgru2PI=" - }, - "node_modules/@mapbox/tiny-sdf": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.1.1.tgz", - "integrity": "sha512-Ihn1nZcGIswJ5XGbgFAvVumOgWpvIjBX9jiRlIl46uQG9vJOF51ViBYHF95rEZupuyQbEmhLaDPLQlU7fUTsBg==" - }, - "node_modules/@mapbox/unitbezier": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", - "integrity": "sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4=" - }, - "node_modules/@mapbox/vector-tile": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", - "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", - "dependencies": { - "@mapbox/point-geometry": "~0.1.0" - } - }, - "node_modules/@mapbox/whoots-js": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", - "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", - "engines": { - "node": ">=6.0.0" - } - }, - "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/@plotly/d3-sankey": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@plotly/d3-sankey/-/d3-sankey-0.7.2.tgz", - "integrity": "sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==", - "dependencies": { - "d3-array": "1", - "d3-collection": "1", - "d3-shape": "^1.2.0" - } - }, - "node_modules/@plotly/d3-sankey-circular": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@plotly/d3-sankey-circular/-/d3-sankey-circular-0.33.1.tgz", - "integrity": "sha512-FgBV1HEvCr3DV7RHhDsPXyryknucxtfnLwPtCKKxdolKyTFYoLX/ibEfX39iFYIL7DYbVeRtP43dbFcrHNE+KQ==", - "dependencies": { - "d3-array": "^1.2.1", - "d3-collection": "^1.0.4", - "d3-shape": "^1.2.0", - "elementary-circuits-directed-graph": "^1.0.4" - } - }, - "node_modules/@plotly/draft-js-export-html": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@plotly/draft-js-export-html/-/draft-js-export-html-1.2.0.tgz", - "integrity": "sha512-zbHQAh1qxZPUPVHEiBRL6YTf54jNBsJPERJuOAwZOSoWSpzYxHviXyA4d0H3Dm4ttadWz4CuB2WC9OAQqD0XyA==", - "dependencies": { - "draft-js-utils": "^1.2.0" - } - }, - "node_modules/@plotly/point-cluster": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@plotly/point-cluster/-/point-cluster-3.1.9.tgz", - "integrity": "sha512-MwaI6g9scKf68Orpr1pHZ597pYx9uP8UEFXLPbsCmuw3a84obwz6pnMXGc90VhgDNeNiLEdlmuK7CPo+5PIxXw==", - "dependencies": { - "array-bounds": "^1.0.1", - "binary-search-bounds": "^2.0.4", - "clamp": "^1.0.1", - "defined": "^1.0.0", - "dtype": "^2.0.0", - "flatten-vertex-data": "^1.0.2", - "is-obj": "^1.0.1", - "math-log2": "^1.0.1", - "parse-rect": "^1.2.0", - "pick-by-alias": "^1.2.0" - } - }, - "node_modules/@plotly/point-cluster/node_modules/binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "node_modules/@plotly/point-cluster/node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@rollup/plugin-babel": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", - "integrity": "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/plugin-node-resolve/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/@rollup/plugin-node-resolve/node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", - "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/formatio": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz", - "integrity": "sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1", - "@sinonjs/samsam": "^3.1.0" - } - }, - "node_modules/@sinonjs/samsam": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz", - "integrity": "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.3.0", - "array-from": "^2.1.1", - "lodash": "^4.17.15" - } - }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", - "dev": true - }, - "node_modules/@soda/friendly-errors-webpack-plugin": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz", - "integrity": "sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ==", - "dev": true, - "dependencies": { - "chalk": "^1.1.3", - "error-stack-parser": "^2.0.0", - "string-width": "^2.0.0" - } - }, - "node_modules/@soda/friendly-errors-webpack-plugin/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/@soda/friendly-errors-webpack-plugin/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/@soda/friendly-errors-webpack-plugin/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/@soda/friendly-errors-webpack-plugin/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/@soda/friendly-errors-webpack-plugin/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@soda/friendly-errors-webpack-plugin/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/@soda/friendly-errors-webpack-plugin/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/@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/@surma/rollup-plugin-off-main-thread": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz", - "integrity": "sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==", - "dev": true, - "dependencies": { - "ejs": "^2.6.1", - "magic-string": "^0.25.0" - } - }, - "node_modules/@turf/area": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.0.1.tgz", - "integrity": "sha512-Zv+3N1ep9P5JvR0YOYagLANyapGWQBh8atdeR3bKpWcigVXFsEKNUw03U/5xnh+cKzm7yozHD6MFJkqQv55y0g==", - "dependencies": { - "@turf/helpers": "6.x", - "@turf/meta": "6.x" - } - }, - "node_modules/@turf/bbox": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.0.1.tgz", - "integrity": "sha512-EGgaRLettBG25Iyx7VyUINsPpVj1x3nFQFiGS3ER8KCI1MximzNLsam3eXRabqQDjyAKyAE1bJ4EZEpGvspQxw==", - "dependencies": { - "@turf/helpers": "6.x", - "@turf/meta": "6.x" - } - }, - "node_modules/@turf/centroid": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-6.0.2.tgz", - "integrity": "sha512-auyDauOtC4eddH7GC3CHFTDu2PKhpSeKCRhwhHhXtJqn2dWCJQNIoCeJRmfXRIbzCWhWvgvQafvvhq8HNvmvWw==", - "dependencies": { - "@turf/helpers": "6.x", - "@turf/meta": "6.x" - } - }, - "node_modules/@turf/helpers": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.1.4.tgz", - "integrity": "sha512-vJvrdOZy1ngC7r3MDA7zIGSoIgyrkWcGnNIEaqn/APmw+bVLF2gAW7HIsdTxd12s5wQMqEpqIQrmrbRRZ0xC7g==" - }, - "node_modules/@turf/meta": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.0.2.tgz", - "integrity": "sha512-VA7HJkx7qF1l3+GNGkDVn2oXy4+QoLP6LktXAaZKjuT1JI0YESat7quUkbCMy4zP9lAUuvS4YMslLyTtr919FA==", - "dependencies": { - "@turf/helpers": "6.x" - } - }, - "node_modules/@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "14.0.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.24.tgz", - "integrity": "sha512-btt/oNOiDWcSuI721MdL8VQGnjsKjlTMdrKyTcLCKeQp/n4AAMFJ961wMbp+09y8WuGPClDEv07RIItdXKIXAA==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "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==" - }, - "node_modules/@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", - "dev": true - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@vue/babel-helper-vue-jsx-merge-props": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz", - "integrity": "sha512-6tyf5Cqm4m6v7buITuwS+jHzPlIPxbFzEhXR5JGZpbrvOcp1hiQKckd305/3C7C36wFekNTQSxAtgeM0j0yoUw==", - "dev": true - }, - "node_modules/@vue/babel-plugin-transform-vue-jsx": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.1.2.tgz", - "integrity": "sha512-YfdaoSMvD1nj7+DsrwfTvTnhDXI7bsuh+Y5qWwvQXlD24uLgnsoww3qbiZvWf/EoviZMrvqkqN4CBw0W3BWUTQ==", - "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.0.0", - "html-tags": "^2.0.0", - "lodash.kebabcase": "^4.1.1", - "svg-tags": "^1.0.0" - } - }, - "node_modules/@vue/babel-preset-app": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.4.6.tgz", - "integrity": "sha512-urIa6Qk3lKacLvscrzxMNyYlTqKFcPAUo5MohOjv1ISZ9PssHw693WTOrqSC0XksdMLtp/rnLvc6l5G8Muk0lw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.9.6", - "@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.9.6", - "@babel/preset-env": "^7.9.6", - "@babel/runtime": "^7.9.6", - "@vue/babel-preset-jsx": "^1.1.2", - "babel-plugin-dynamic-import-node": "^2.3.3", - "core-js": "^3.6.5", - "core-js-compat": "^3.6.5", - "semver": "^6.1.0" - } - }, - "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.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.1.2.tgz", - "integrity": "sha512-zDpVnFpeC9YXmvGIDSsKNdL7qCG2rA3gjywLYHPCKDT10erjxF4U+6ay9X6TW5fl4GsDlJp9bVfAVQAAVzxxvQ==", - "dev": true, - "dependencies": { - "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", - "@vue/babel-sugar-functional-vue": "^1.1.2", - "@vue/babel-sugar-inject-h": "^1.1.2", - "@vue/babel-sugar-v-model": "^1.1.2", - "@vue/babel-sugar-v-on": "^1.1.2" - } - }, - "node_modules/@vue/babel-sugar-functional-vue": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.1.2.tgz", - "integrity": "sha512-YhmdJQSVEFF5ETJXzrMpj0nkCXEa39TvVxJTuVjzvP2rgKhdMmQzlJuMv/HpadhZaRVMCCF3AEjjJcK5q/cYzQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "node_modules/@vue/babel-sugar-inject-h": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.1.2.tgz", - "integrity": "sha512-VRSENdTvD5htpnVp7i7DNuChR5rVMcORdXjvv5HVvpdKHzDZAYiLSD+GhnhxLm3/dMuk8pSzV+k28ECkiN5m8w==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "node_modules/@vue/babel-sugar-v-model": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.1.2.tgz", - "integrity": "sha512-vLXPvNq8vDtt0u9LqFdpGM9W9IWDmCmCyJXuozlq4F4UYVleXJ2Fa+3JsnTZNJcG+pLjjfnEGHci2339Kj5sGg==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", - "camelcase": "^5.0.0", - "html-tags": "^2.0.0", - "svg-tags": "^1.0.0" - } - }, - "node_modules/@vue/babel-sugar-v-on": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.1.2.tgz", - "integrity": "sha512-T8ZCwC8Jp2uRtcZ88YwZtZXe7eQrJcfRq0uTFy6ShbwYJyz5qWskRFoVsdTi9o0WEhmQXxhQUewodOSCUPVmsQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", - "camelcase": "^5.0.0" - } - }, - "node_modules/@vue/cli-overlay": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.4.6.tgz", - "integrity": "sha512-fzjg2gWQt+jw5fyLsD9HZNxGNQgZjLDI2s9bLWJwRucdfmncSi9neqA0TZyszGrgcJA4Qu4V5KgV0qwVSBYCaw==", - "dev": true - }, - "node_modules/@vue/cli-plugin-babel": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.4.6.tgz", - "integrity": "sha512-9cX9mN+4DIbcqw3rV6UBOA0t5zikIkrBLQloUzsOBOu5Xb7/UoD7inInFj7bnyHUflr5LqbdWJ+etCQcWAIIXA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.9.6", - "@vue/babel-preset-app": "^4.4.6", - "@vue/cli-shared-utils": "^4.4.6", - "babel-loader": "^8.1.0", - "cache-loader": "^4.1.0", - "thread-loader": "^2.1.3", - "webpack": "^4.0.0" - } - }, - "node_modules/@vue/cli-plugin-eslint": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.4.6.tgz", - "integrity": "sha512-3a9rVpOKPQsDgAlRkhmBMHboGobivG/47BbQGE66Z8YJxrgF/AWikP3Jy67SmxtszRkyiWfw4aJFRV9r3MzffQ==", - "dev": true, - "dependencies": { - "@vue/cli-shared-utils": "^4.4.6", - "eslint-loader": "^2.2.1", - "globby": "^9.2.0", - "inquirer": "^7.1.0", - "webpack": "^4.0.0", - "yorkie": "^2.0.0" - } - }, - "node_modules/@vue/cli-plugin-router": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.4.6.tgz", - "integrity": "sha512-TkLdn0ZYo3zgn78Rk8doPlR+4UkGjGW2R1eGEaZEkue/mw2VhUWtTk9cKLZaYrw0eY8Ro/j+OV6mD+scyrairg==", - "dev": true, - "dependencies": { - "@vue/cli-shared-utils": "^4.4.6" - } - }, - "node_modules/@vue/cli-plugin-vuex": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.4.6.tgz", - "integrity": "sha512-Ho0YzUivn8BLPqFoFypntR8CMTEXYYHVr0GdnZW99XL+DbGw75f+tJfnrV9UFHDTfvZt7uewKiXDMlrzQ0l3Ug==", - "dev": true - }, - "node_modules/@vue/cli-service": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.4.6.tgz", - "integrity": "sha512-k5OFGh2NnvRymCyq9DfBiNJvECUuun3pl5KMm3557IZyA5E5csv+RHoSW3dX8HHe0zXq18g52VswP1llvR9POw==", - "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", - "@vue/cli-overlay": "^4.4.6", - "@vue/cli-plugin-router": "^4.4.6", - "@vue/cli-plugin-vuex": "^4.4.6", - "@vue/cli-shared-utils": "^4.4.6", - "@vue/component-compiler-utils": "^3.1.2", - "@vue/preload-webpack-plugin": "^1.1.0", - "@vue/web-component-wrapper": "^1.2.0", - "acorn": "^7.2.0", - "acorn-walk": "^7.1.1", - "address": "^1.1.2", - "autoprefixer": "^9.8.0", - "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": "^7.1.0", - "terser-webpack-plugin": "^2.3.6", - "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" - } - }, - "node_modules/@vue/cli-service/node_modules/acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/@vue/cli-service/node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/cli-service/node_modules/cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", - "dev": true, - "dependencies": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@vue/cli-service/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/@vue/cli-service/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/@vue/cli-service/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/@vue/cli-service/node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vue/cli-service/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/@vue/cli-service/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/@vue/cli-service/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" - } - }, - "node_modules/@vue/cli-service/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/@vue/cli-service/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/@vue/cli-service/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/@vue/cli-service/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/cli-service/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/cli-service/node_modules/ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1", - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@vue/cli-service/node_modules/terser-webpack-plugin": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.7.tgz", - "integrity": "sha512-xzYyaHUNhzgaAdBsXxk2Yvo/x1NJdslUaussK3fdpBbvttm1iIwU+c26dj9UxJcwk2c5UWt5F55MUTIA8BE7Dg==", - "dev": true, - "dependencies": { - "cacache": "^13.0.1", - "find-cache-dir": "^3.3.1", - "jest-worker": "^25.4.0", - "p-limit": "^2.3.0", - "schema-utils": "^2.6.6", - "serialize-javascript": "^3.1.0", - "source-map": "^0.6.1", - "terser": "^4.6.12", - "webpack-sources": "^1.4.3" - }, - "engines": { - "node": ">= 8.9.0" - } - }, - "node_modules/@vue/cli-service/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/@vue/cli-shared-utils": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.4.6.tgz", - "integrity": "sha512-ba+FZZCjiTSu2otnLjY4qXqASe7ZIQ/QBljk5oRPgqrR0p1NUkDPUcZhqa041aOaSW1yAfSfhOD7Q84nMnWhzQ==", - "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.2.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", - "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", - "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.14", - "postcss-selector-parser": "^6.0.2", - "source-map": "~0.6.1", - "vue-template-es2015-compiler": "^1.9.0" - }, - "optionalDependencies": { - "prettier": "^1.18.2" - } - }, - "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/eslint-config-standard": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-standard/-/eslint-config-standard-5.1.2.tgz", - "integrity": "sha512-FTz0k77dIrj9r3xskt9jsZyL/YprrLiPRf4m3k7G6dZ5PKuD6OPqYrHR9eduUmHDFpTlRgFpTVQrq+1el9k3QQ==", - "dev": true, - "dependencies": { - "eslint-config-standard": "^14.1.0", - "eslint-import-resolver-node": "^0.3.3", - "eslint-import-resolver-webpack": "^0.12.1" - } - }, - "node_modules/@vue/preload-webpack-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.1.tgz", - "integrity": "sha512-8VCoJeeH8tCkzhkpfOkt+abALQkS11OIHhte5MBzYaKMTqK0A3ZAKEUVAffsOklhEv7t0yrQt696Opnu9oAx+w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@vue/test-utils": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.1.2.tgz", - "integrity": "sha512-utbIL7zn9c+SjhybPwh48lpWCiluFCbP1yyRNAy1fQsw/6hiNFioaWy05FoVAFIZXC5WwBf+5r4ypfM1j/nI4A==", - "dev": true, - "dependencies": { - "dom-event-types": "^1.0.0", - "lodash": "^4.17.15", - "pretty": "^2.0.0" - }, - "peerDependencies": { - "vue": "2.x", - "vue-template-compiler": "^2.x" - } - }, - "node_modules/@vue/web-component-wrapper": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz", - "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw==", - "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/3d-view": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/3d-view/-/3d-view-2.0.0.tgz", - "integrity": "sha1-gxrpQtdQjFCAHj4G+v4ejFdOF74=", - "dependencies": { - "matrix-camera-controller": "^2.1.1", - "orbit-camera-controller": "^4.0.0", - "turntable-camera-controller": "^3.0.0" - } - }, - "node_modules/a-big-triangle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/a-big-triangle/-/a-big-triangle-1.0.3.tgz", - "integrity": "sha1-7v0wsCqPUl6LH3K7a7GwwWdRx5Q=", - "dependencies": { - "gl-buffer": "^2.1.1", - "gl-vao": "^1.2.0", - "weak-map": "^1.0.5" - } - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/abs-svg-path": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", - "integrity": "sha1-32Acjo0roQ1KdtYl4japo5wnI78=" - }, - "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": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "dev": true, - "peer": true, - "dependencies": { - "acorn": "^4.0.3" - } - }, - "node_modules/acorn-dynamic-import/node_modules/acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true - }, - "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/add-dom-event-listener": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", - "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", - "dependencies": { - "object-assign": "4.x" - } - }, - "node_modules/add-line-numbers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/add-line-numbers/-/add-line-numbers-1.0.1.tgz", - "integrity": "sha1-SNu96kfb0jTer+rGyTzqb3C0t+M=", - "dependencies": { - "pad-left": "^1.0.2" - } - }, - "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/affine-hull": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/affine-hull/-/affine-hull-1.0.0.tgz", - "integrity": "sha1-dj/x040GPOt+Jy8X7k17vK+QXF0=", - "dependencies": { - "robust-orientation": "^1.1.3" - } - }, - "node_modules/after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, - "node_modules/aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "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 - }, - "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/align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/align-text/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, - "peer": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/almost-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", - "integrity": "sha1-+FHGMROHV5lCdqou++jfowZszN0=" - }, - "node_modules/alpha-complex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/alpha-complex/-/alpha-complex-1.0.0.tgz", - "integrity": "sha1-kIZYcNawVCrnPAwTHU75iWabctI=", - "dependencies": { - "circumradius": "^1.0.0", - "delaunay-triangulate": "^1.1.6" - } - }, - "node_modules/alpha-shape": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/alpha-shape/-/alpha-shape-1.0.0.tgz", - "integrity": "sha1-yDEJkj7P2mZ9IWP+Tyb+JHJvZKk=", - "dependencies": { - "alpha-complex": "^1.0.0", - "simplicial-complex-boundary": "^1.0.0" - } - }, - "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/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.4.2" - } - }, - "node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "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/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-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, - "optional": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "dependencies": { - "default-require-extensions": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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.1.2", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz", - "integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==", - "dev": true - }, - "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==", - "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-bounds": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz", - "integrity": "sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==" - }, - "node_modules/array-find": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", - "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", - "dev": true - }, - "node_modules/array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "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-from": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", - "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", - "dev": true - }, - "node_modules/array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-normalize": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array-normalize/-/array-normalize-1.1.4.tgz", - "integrity": "sha512-fCp0wKFLjvSPmCn4F5Tiw4M3lpMZoHlCjfcs7nNzuj3vqQQ1/a8cgB9DXcpDSn18c+coLnaW7rqfcYCvKbyJXg==", - "dependencies": { - "array-bounds": "^1.0.0" - } - }, - "node_modules/array-range": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-range/-/array-range-1.0.1.tgz", - "integrity": "sha1-9W5GWRhDYRxqVvd+8C7afFAIm/w=" - }, - "node_modules/array-rearrange": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/array-rearrange/-/array-rearrange-2.2.2.tgz", - "integrity": "sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==" - }, - "node_modules/array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "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/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "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/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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/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, - "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/atob-lite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-1.0.0.tgz", - "integrity": "sha1-uI3KYAaSK5YglPdVaCa6sxxKKWs=" - }, - "node_modules/attr-accept": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", - "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/autoprefixer": { - "version": "9.8.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.5.tgz", - "integrity": "sha512-C2p5KkumJlsTHoNv9w31NrBRgXhf6eCMteJuHZi2xhkgC+5Vm40MEtCKPhc0qdgAOhox0YPy1SQHTAky05UoKg==", - "dev": true, - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001097", - "colorette": "^1.2.0", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/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.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", - "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-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "dependencies": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - } - }, - "node_modules/babel-generator/node_modules/jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "dev": true, - "dependencies": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 6.9" - } - }, - "node_modules/babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "dependencies": { - "babel-runtime": "^6.22.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-emotion": { - "version": "9.2.11", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz", - "integrity": "sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "@emotion/babel-utils": "^0.6.4", - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "babel-plugin-macros": "^2.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "convert-source-map": "^1.5.0", - "find-root": "^1.1.0", - "mkdirp": "^0.5.1", - "source-map": "^0.5.7", - "touch": "^2.0.1" - } - }, - "node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-macros/node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/babel-plugin-macros/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-macros/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.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.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.0", - "core-js-compat": "^3.9.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-styled-components": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.12.0.tgz", - "integrity": "sha512-FEiD7l5ZABdJPpLssKXjBUJMYqzbcNzBowfXDCdJhOpbhWiewapUaY+LZGT8R4Jg2TwOjGjG4RKeyrO5p9sBkA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-module-imports": "^7.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "lodash": "^4.17.11" - }, - "peerDependencies": { - "styled-components": ">= 2" - } - }, - "node_modules/babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" - }, - "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.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" - }, - "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/babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse/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/babel-traverse/node_modules/globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-traverse/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/babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/barycentric": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/barycentric/-/barycentric-1.0.1.tgz", - "integrity": "sha1-8VYruJGyb0/sRjqC7to2V4AOxog=", - "dependencies": { - "robust-linear-solve": "^1.0.0" - } - }, - "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/base/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/base/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/base/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/base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "node_modules/base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "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/better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "dependencies": { - "callsite": "1.0.0" - }, - "engines": { - "node": "*" - } - }, - "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-rat": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/big-rat/-/big-rat-1.0.4.tgz", - "integrity": "sha1-do0JO7V5MN0Y7Vdcf8on3FORreo=", - "dependencies": { - "bit-twiddle": "^1.0.2", - "bn.js": "^4.11.6", - "double-bits": "^1.1.1" - } - }, - "node_modules/big-rat/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "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.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/binary-search-bounds": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz", - "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=" - }, - "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/bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, - "node_modules/bitmap-sdf": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bitmap-sdf/-/bitmap-sdf-1.0.3.tgz", - "integrity": "sha512-ojYySSvWTx21cbgntR942zgEgqj38wHctN64vr4vYRFf3GKVmI23YlA94meWGkFslidwLwGCsMy2laJ3g/94Sg==", - "dependencies": { - "clamp": "^1.0.1" - } - }, - "node_modules/bl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", - "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, - "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/bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", - "dev": true - }, - "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "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/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.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "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/boundary-cells": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/boundary-cells/-/boundary-cells-2.0.1.tgz", - "integrity": "sha1-6QWo0UGc9Hyza+Pb9SXbXiTeAEI=", - "dependencies": { - "tape": "^4.0.0" - } - }, - "node_modules/box-intersect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/box-intersect/-/box-intersect-1.0.2.tgz", - "integrity": "sha512-yJeMwlmFPG1gIa7Rs/cGXeI6iOj6Qz5MG5PE61xLKpElUGzmJ4abm+qsLpzxKJFpsSDq742BQEocr8dI2t8Nxw==", - "dependencies": { - "bit-twiddle": "^1.0.2", - "typedarray-pool": "^1.1.0" - } - }, - "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==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "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/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/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-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "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.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-rsa/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", - "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.2", - "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 - }, - "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.16.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", - "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001214", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.719", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - }, - "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/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/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "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": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "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/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" - } - }, - "node_modules/cache-loader/node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cache-loader/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/cache-loader/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/cache-loader/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" - } - }, - "node_modules/cache-loader/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/cache-loader/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/cache-loader/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/cache-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/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "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/callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true, - "engines": { - "node": "*" - } - }, - "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": "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/camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "dependencies": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/camelcase-keys/node_modules/camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/camelize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", - "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" - }, - "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-db": { - "version": "1.0.30001166", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001166.tgz", - "integrity": "sha512-3yJignk7BxmxGbxmvjNvADpkmaY/zHjKdpMbO97YKAaD9hTQ52+8hoTqWAJI43oVYzz7rMhxZUkF2OVmujpxZg==", - "dev": true - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001219", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001219.tgz", - "integrity": "sha512-c0yixVG4v9KBc/tQ2rlbB3A/bgBFRvl8h8M4IeUbqCca4gsiCfvtaheUssbnux/Mb66Vjz7x8yYjDgYcNQOhyQ==", - "dev": true - }, - "node_modules/canvas-fit": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/canvas-fit/-/canvas-fit-1.5.0.tgz", - "integrity": "sha1-rhO+Zq3kL1vg5IfjRfzjCl5bXl8=", - "dependencies": { - "element-size": "^1.1.1" - } - }, - "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", - "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", - "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/cdt2d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cdt2d/-/cdt2d-1.0.0.tgz", - "integrity": "sha1-TyEkNLzWe9s9aLj+9KzcLFRBUUE=", - "dependencies": { - "binary-search-bounds": "^2.0.3", - "robust-in-sphere": "^1.1.3", - "robust-orientation": "^1.1.3" - } - }, - "node_modules/cdt2d/node_modules/binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "node_modules/cell-orientation": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cell-orientation/-/cell-orientation-1.0.1.tgz", - "integrity": "sha1-tQStlqZq0obZ7dmFoiU9A7gNKFA=" - }, - "node_modules/center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "peer": true, - "dependencies": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", - "dev": true, - "dependencies": { - "check-error": "^1.0.2" - }, - "peerDependencies": { - "chai": ">= 2.1.2 < 5" - } - }, - "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/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true, - "engines": { - "node": "*" - } - }, - "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, - "optional": 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/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/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, - "optional": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar/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, - "optional": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/chokidar/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, - "optional": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "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/chroma-js": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-1.4.1.tgz", - "integrity": "sha512-jTwQiT859RTFN/vIf7s+Vl/Z2LcMrvMv3WUFmd/4u76AdlFC0NTNgqEEFPcRiHmAswPsMiQEDZLM8vX8qXpZNQ==" - }, - "node_modules/chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "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/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/circular-json": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", - "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==", - "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", - "dev": true - }, - "node_modules/circumcenter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/circumcenter/-/circumcenter-1.0.0.tgz", - "integrity": "sha1-INeqE7F/usUvUtpPVMasi5Bu5Sk=", - "dependencies": { - "dup": "^1.0.0", - "robust-linear-solve": "^1.0.0" - } - }, - "node_modules/circumradius": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/circumradius/-/circumradius-1.0.0.tgz", - "integrity": "sha1-cGxEfj5VzR7T0RvRM+N8JSzDBbU=", - "dependencies": { - "circumcenter": "^1.0.0" - } - }, - "node_modules/clamp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", - "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" - }, - "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/classlist-polyfill": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", - "integrity": "sha1-k1vC39lFiodrJ5YXUUY4vKqWSi4=", - "dev": true - }, - "node_modules/classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "node_modules/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "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/clean-pslg": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/clean-pslg/-/clean-pslg-1.1.2.tgz", - "integrity": "sha1-vTXHRgt+irWp92Gl7VF5aqPIbBE=", - "dependencies": { - "big-rat": "^1.0.3", - "box-intersect": "^1.0.1", - "nextafter": "^1.0.0", - "rat-vec": "^1.1.1", - "robust-segment-intersect": "^1.0.1", - "union-find": "^1.0.2", - "uniq": "^1.0.1" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", - "dependencies": { - "exit": "0.1.2", - "glob": "^7.1.1" - }, - "engines": { - "node": ">=0.2.5" - } - }, - "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.4", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.4.tgz", - "integrity": "sha512-s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ==", - "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "highlight.js": "^9.6.0", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^5.1.1", - "yargs": "^15.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.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-highlight/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/cli-highlight/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/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/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/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/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/cli-highlight/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/cli-highlight/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/cli-highlight/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/cli-highlight/node_modules/supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-highlight/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/cli-highlight/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.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": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-highlight/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-spinners": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.4.0.tgz", - "integrity": "sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "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/clipboardy/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/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/cliui/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/cliui/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/cliui/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/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/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/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", - "engines": { - "node": ">=6" - } - }, - "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/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/codemirror": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.57.0.tgz", - "integrity": "sha512-WGc6UL7Hqt+8a6ZAsj/f1ApQl3NPvHY/UQSzG6fB6l4BjExgVdhFaxd7mRTw1UCiYe/6q86zHP+kfvBQcZGvUg==" - }, - "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.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "node_modules/color-alpha": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.1.2.tgz", - "integrity": "sha512-FOu95n/SjuQyG9lFqzl18S2cfQ4od1QVrvz3PEJxWnRKjAPWBj7FILNnGSUfIXNgmMx58vaXp24URXeqF5obZQ==", - "dependencies": { - "color-parse": "^1.4.1" - } - }, - "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-id": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/color-id/-/color-id-1.1.0.tgz", - "integrity": "sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==", - "dependencies": { - "clamp": "^1.0.1" - } - }, - "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-normalize": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/color-normalize/-/color-normalize-1.5.2.tgz", - "integrity": "sha512-yYMIoyFJmUoKbCK6sBShljBWfkt8DXVfaZJn9/zvRJkF9eQJDbZhcYC6LdOVy40p4tfVwYYb9cXl8oqpu7pzBw==", - "dependencies": { - "color-rgba": "^2.2.0", - "dtype": "^2.0.0" - } - }, - "node_modules/color-parse": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.4.2.tgz", - "integrity": "sha512-RI7s49/8yqDj3fECFZjUI1Yi0z/Gq1py43oNJivAIIDSyJiOZLfYCRQEgn8HEVAj++PcRe8AnL2XF0fRJ3BTnA==", - "dependencies": { - "color-name": "^1.0.0" - } - }, - "node_modules/color-rgba": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-2.2.3.tgz", - "integrity": "sha512-C20bgnIy09NoXDzhu3RB/SHVlk0y+2zcnkumpVvGOWCrz3rF2xJLS53Fc2ai2Jebs3X7ILZFswN7vVLD2HLr2g==", - "dependencies": { - "color-parse": "^1.4.1", - "color-space": "^1.14.6" - } - }, - "node_modules/color-space": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/color-space/-/color-space-1.16.0.tgz", - "integrity": "sha512-A6WMiFzunQ8KEPFmj02OnnoUnqhmSaHaZ/0LVFcPTdlvm8+3aMJ5x1HRHy3bDHPkovkf4sS0f4wsVvwk71fKkg==", - "dependencies": { - "hsluv": "^0.0.3", - "mumath": "^3.3.4" - } - }, - "node_modules/color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "dev": true, - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "node_modules/colormap": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/colormap/-/colormap-2.3.1.tgz", - "integrity": "sha512-TEzNlo/qYp6pBoR2SK9JiV+DG1cmUcVO/+DEJqVPSHIKNlWh5L5L4FYog7b/h0bAnhKhpOAvx/c1dFp2QE9sFw==", - "dependencies": { - "lerp": "^1.0.3" - } - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combine-lists": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", - "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", - "dev": true, - "dependencies": { - "lodash": "^4.5.0" - } - }, - "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.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/common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", - "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/compare-angle": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/compare-angle/-/compare-angle-1.0.1.tgz", - "integrity": "sha1-pOtjQW6jx0f8a9bItjZotN5PoSk=", - "dependencies": { - "robust-orientation": "^1.0.2", - "robust-product": "^1.0.0", - "robust-sum": "^1.0.0", - "signum": "^0.0.0", - "two-sum": "^1.0.0" - } - }, - "node_modules/compare-cell": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/compare-cell/-/compare-cell-1.0.0.tgz", - "integrity": "sha1-qetwj24OQa73qlZrEw8ZaNyeGqo=" - }, - "node_modules/compare-oriented-cell": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/compare-oriented-cell/-/compare-oriented-cell-1.0.1.tgz", - "integrity": "sha1-ahSf7vnfxPj8YjWOUd1C7/u9w54=", - "dependencies": { - "cell-orientation": "^1.0.1", - "compare-cell": "^1.0.0" - } - }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true - }, - "node_modules/component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "node_modules/component-classes": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz", - "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=", - "dependencies": { - "component-indexof": "0.0.3" - } - }, - "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/component-indexof": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", - "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=" - }, - "node_modules/component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "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/compute-dims": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/compute-dims/-/compute-dims-1.1.0.tgz", - "integrity": "sha512-YHMiIKjH/8Eom8zATk3g8/lH3HxGCZcVQyEfEoVrfWI7od/WRpTgRGShnei3jArYSx77mQqPxZNokjGHCdLfxg==", - "dependencies": { - "utils-copy": "^1.0.0", - "validate.io-array": "^1.0.6", - "validate.io-matrix-like": "^1.0.2", - "validate.io-ndarray-like": "^1.0.0", - "validate.io-positive-integer": "^1.0.0" - } - }, - "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=" - }, - "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==", - "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/condense-newlines": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", - "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-whitespace": "^0.3.0", - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/condense-newlines/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/condense-newlines/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/config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dev": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "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/connect/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/connect/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/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/const-max-uint32": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/const-max-uint32/-/const-max-uint32-1.0.2.tgz", - "integrity": "sha1-8Am7YjDmeO2HTdLWqc2ePL+rtnY=" - }, - "node_modules/const-pinf-float64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/const-pinf-float64/-/const-pinf-float64-1.0.0.tgz", - "integrity": "sha1-9u+w15+cCYbT558pI6v5twtj1yY=" - }, - "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/contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/convex-hull": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/convex-hull/-/convex-hull-1.0.3.tgz", - "integrity": "sha1-IKOqbOh/St6i/30XlxyfwcZ+H/8=", - "dependencies": { - "affine-hull": "^1.0.0", - "incremental-convex-hull": "^1.0.1", - "monotone-convex-hull-2d": "^1.0.1" - } - }, - "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "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.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", - "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": "^2.1.2", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/copy-webpack-plugin/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/copy-webpack-plugin/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/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/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/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/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/serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true - }, - "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.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" - }, - "node_modules/core-js-compat": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.1.tgz", - "integrity": "sha512-aZ0e4tmlG/aOBHj92/TuOuZwp6jFvn1WNabU5VOVixzhu5t5Ao+JZkQOPlgNXu6ynwLrwJxklT4Gw1G1VGEh+g==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.5", - "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.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "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/cosmiconfig/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/country-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/country-regex/-/country-regex-1.1.0.tgz", - "integrity": "sha1-UcMz3N8Sknt+XuucEKyBEqYSCJY=" - }, - "node_modules/create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/create-emotion": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz", - "integrity": "sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==", - "dependencies": { - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "@emotion/unitless": "^0.6.2", - "csstype": "^2.5.2", - "stylis": "^3.5.0", - "stylis-rule-sheet": "^0.0.10" - } - }, - "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-fetch": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", - "integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==", - "dependencies": { - "node-fetch": "2.6.1" - } - }, - "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/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-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/css-animation": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/css-animation/-/css-animation-1.6.1.tgz", - "integrity": "sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog==", - "dependencies": { - "babel-runtime": "6.x", - "component-classes": "^1.2.5" - } - }, - "node_modules/css-color-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=", - "engines": { - "node": ">=4" - } - }, - "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-font": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-font/-/css-font-1.2.0.tgz", - "integrity": "sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==", - "dependencies": { - "css-font-size-keywords": "^1.0.0", - "css-font-stretch-keywords": "^1.0.1", - "css-font-style-keywords": "^1.0.1", - "css-font-weight-keywords": "^1.0.0", - "css-global-keywords": "^1.0.1", - "css-system-font-keywords": "^1.0.0", - "pick-by-alias": "^1.2.0", - "string-split-by": "^1.0.0", - "unquote": "^1.1.0" - } - }, - "node_modules/css-font-size-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", - "integrity": "sha1-hUh1rOmspqjS7g00WkSq6btttss=" - }, - "node_modules/css-font-stretch-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", - "integrity": "sha1-UM7puboDH7XJUtRyMTnx4Qe1SxA=" - }, - "node_modules/css-font-style-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", - "integrity": "sha1-XDUygT9jtKHelU0TzqhqtDM0CeQ=" - }, - "node_modules/css-font-weight-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", - "integrity": "sha1-m8BGcayFvHJLV07106yWsNYE/Zc=" - }, - "node_modules/css-global-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz", - "integrity": "sha1-cqmupyeW0Bmx0qMlLeTlqqN+Smk=" - }, - "node_modules/css-line-break": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-1.1.1.tgz", - "integrity": "sha512-1feNVaM4Fyzdj4mKPIQNL2n70MmuYzAXZ1aytlROFX1JsOo070OsugwGjj7nl6jnDJWHDM8zRZswkmeYVWZJQA==", - "dependencies": { - "base64-arraybuffer": "^0.2.0" - } - }, - "node_modules/css-line-break/node_modules/base64-arraybuffer": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz", - "integrity": "sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ==", - "engines": { - "node": ">= 0.6.0" - } - }, - "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" - } - }, - "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": "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/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-system-font-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", - "integrity": "sha1-hcbwhquk6zLFcaMIav/ENLhII+0=" - }, - "node_modules/css-to-react-native": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.0.0.tgz", - "integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==", - "dependencies": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" - } - }, - "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": "3.3.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/csscolorparser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", - "integrity": "sha1-s085HupNqPPpgjHizNjfnAQfFxs=" - }, - "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.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dev": true, - "dependencies": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "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.2", - "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.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", - "dev": true, - "dependencies": { - "css-tree": "1.0.0-alpha.39" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", - "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/csstype": { - "version": "2.6.13", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.13.tgz", - "integrity": "sha512-ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A==" - }, - "node_modules/cubic-hermite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cubic-hermite/-/cubic-hermite-1.0.0.tgz", - "integrity": "sha1-hOOy8nKzFFToOTuZu2rtRRaMFOU=" - }, - "node_modules/currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "dependencies": { - "array-find-index": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "node_modules/cwise-compiler": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz", - "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=", - "dependencies": { - "uniq": "^1.0.0" - } - }, - "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/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/d3": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", - "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=" - }, - "node_modules/d3-array": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", - "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" - }, - "node_modules/d3-collection": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", - "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" - }, - "node_modules/d3-color": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", - "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" - }, - "node_modules/d3-dispatch": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", - "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" - }, - "node_modules/d3-force": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", - "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", - "dependencies": { - "d3-collection": "1", - "d3-dispatch": "1", - "d3-quadtree": "1", - "d3-timer": "1" - } - }, - "node_modules/d3-hierarchy": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", - "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==" - }, - "node_modules/d3-interpolate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", - "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", - "dependencies": { - "d3-color": "1" - } - }, - "node_modules/d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" - }, - "node_modules/d3-quadtree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", - "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==" - }, - "node_modules/d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", - "dependencies": { - "d3-path": "1" - } - }, - "node_modules/d3-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", - "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" - }, - "node_modules/d3-time-format": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", - "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", - "dependencies": { - "d3-time": "1" - } - }, - "node_modules/d3-timer": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", - "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" - }, - "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/dataurl-to-blob": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/dataurl-to-blob/-/dataurl-to-blob-0.0.1.tgz", - "integrity": "sha1-B75KpV2G1MtWIk5Y4xgR9diFxMs=", - "dependencies": { - "jshint": "^2.9.2" - } - }, - "node_modules/date-format": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", - "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, - "node_modules/dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", - "dev": true, - "dependencies": { - "get-stdin": "^4.0.1", - "meow": "^3.3.0" - }, - "bin": { - "dateformat": "bin/cli.js" - }, - "engines": { - "node": "*" - } - }, - "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.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "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/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/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "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==", - "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" - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "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==", - "dev": true, - "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.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/default-gateway/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "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/default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "dependencies": { - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "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/define-property/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/define-property/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/define-property/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/defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" - }, - "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/del/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/delaunay-triangulate": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/delaunay-triangulate/-/delaunay-triangulate-1.1.6.tgz", - "integrity": "sha1-W7yiGweBmNS8PHV5ajXLuYwllUw=", - "dependencies": { - "incremental-convex-hull": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "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-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-kerning": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-kerning/-/detect-kerning-2.1.2.tgz", - "integrity": "sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==" - }, - "node_modules/detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-match-patch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", - "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==" - }, - "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.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "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.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "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/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-align": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.0.tgz", - "integrity": "sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA==" - }, - "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-event-types": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.0.0.tgz", - "integrity": "sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ==", - "dev": true - }, - "node_modules/dom-helpers": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", - "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", - "dependencies": { - "@babel/runtime": "^7.1.2" - } - }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "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==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" - }, - "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": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "dependencies": { - "domelementtype": "1" - } - }, - "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/dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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/dotignore": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", - "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", - "dependencies": { - "minimatch": "^3.0.4" - }, - "bin": { - "ignored": "bin/ignored" - } - }, - "node_modules/double-bits": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/double-bits/-/double-bits-1.1.1.tgz", - "integrity": "sha1-WKu6RUlNpND6Nrc60RoobJGEscY=" - }, - "node_modules/draft-js": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.11.7.tgz", - "integrity": "sha512-ne7yFfN4sEL82QPQEn80xnADR8/Q6ALVworbC5UOSzOvjffmYfFsr3xSZtxbIirti14R7Y33EZC5rivpLgIbsg==", - "dependencies": { - "fbjs": "^2.0.0", - "immutable": "~3.7.4", - "object-assign": "^4.1.1" - } - }, - "node_modules/draft-js-import-element": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/draft-js-import-element/-/draft-js-import-element-1.4.0.tgz", - "integrity": "sha512-WmYT5PrCm47lGL5FkH6sRO3TTAcn7qNHsD3igiPqLG/RXrqyKrqN4+wBgbcT2lhna/yfWTRtgzAbQsSJoS1Meg==", - "dependencies": { - "draft-js-utils": "^1.4.0", - "synthetic-dom": "^1.4.0" - } - }, - "node_modules/draft-js-import-html": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/draft-js-import-html/-/draft-js-import-html-1.4.1.tgz", - "integrity": "sha512-KOZmtgxZriCDgg5Smr3Y09TjubvXe7rHPy/2fuLSsL+aSzwUDwH/aHDA/k47U+WfpmL4qgyg4oZhqx9TYJV0tg==", - "dependencies": { - "draft-js-import-element": "^1.4.0" - } - }, - "node_modules/draft-js-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/draft-js-utils/-/draft-js-utils-1.4.0.tgz", - "integrity": "sha512-8s9FFuKC+lOWGwJ0b3om2PF+uXrqQPaEQlPJI7UxdzxTYGMeKouMPA9+YlPn52zcAVElIZtd2tXj6eQmvlKelw==" - }, - "node_modules/draw-svg-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz", - "integrity": "sha1-bxFtli3TFLmepTTW9Y3WbNvWk3k=", - "dependencies": { - "abs-svg-path": "~0.1.1", - "normalize-svg-path": "~0.1.0" - } - }, - "node_modules/dtype": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dtype/-/dtype-2.0.0.tgz", - "integrity": "sha1-zQUjI84GFETs0uj1dI9popvihDQ=", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/dup": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", - "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=" - }, - "node_modules/duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/earcut": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.2.tgz", - "integrity": "sha512-eZoZPPJcUHnfRZ0PjLvx2qBordSiO8ofC3vt+qACLM95u+4DovnbYNpQtJh0DNsWj8RnxrQytD4WA8gj5cRIaQ==" - }, - "node_modules/easy-stack": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz", - "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g=", - "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/edges-to-adjacency-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/edges-to-adjacency-list/-/edges-to-adjacency-list-1.0.0.tgz", - "integrity": "sha1-wUbS4ISt37p0pRKTxuAZmkn3V/E=", - "dependencies": { - "uniq": "^1.0.0" - } - }, - "node_modules/editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", - "dev": true, - "dependencies": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" - }, - "bin": { - "editorconfig": "bin/editorconfig" - } - }, - "node_modules/editorconfig/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/editorconfig/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/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.3.723", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz", - "integrity": "sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg==", - "dev": true - }, - "node_modules/element-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/element-size/-/element-size-1.1.1.tgz", - "integrity": "sha1-ZOXxWdlxIWMYRby67K8nnDm1404=" - }, - "node_modules/elementary-circuits-directed-graph": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/elementary-circuits-directed-graph/-/elementary-circuits-directed-graph-1.2.0.tgz", - "integrity": "sha512-eOQofnrNqebPtC29PvyNMGUBdMrIw5i8nOoC/2VOlSF84tf5+ZXnRkIk7TgdT22jFXK68CC7aA881KRmNYf/Pg==", - "dependencies": { - "strongly-connected-components": "^1.0.1" - } - }, - "node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dev": true, - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "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/emotion": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz", - "integrity": "sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==", - "dependencies": { - "babel-plugin-emotion": "^9.2.11", - "create-emotion": "^9.2.12" - } - }, - "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==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" - } - }, - "node_modules/engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", - "dev": true, - "dependencies": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - } - }, - "node_modules/engine.io-client/node_modules/component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/engine.io-client/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/engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", - "dev": true, - "dependencies": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, - "node_modules/engine.io/node_modules/cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/engine.io/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/enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enhanced-resolve/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/ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "node_modules/entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" - }, - "node_modules/errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "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==", - "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==", - "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==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "dependencies": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "node_modules/es5-shim": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.14.tgz", - "integrity": "sha512-7SwlpL+2JpymWTt8sNLuC2zdhhc+wrfe5cMPI2j0o6WsPdfAiPwmFy2f0AocPB4RQVBOZ9kNTgi5YF7TdhkvEg==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "peer": true, - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "node_modules/es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "peer": true, - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" - } - }, - "node_modules/es6-set/node_modules/es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "peer": true, - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "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": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.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==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "peer": true, - "dependencies": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/eslint-config-standard": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz", - "integrity": "sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg==", - "dev": true - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dev": true, - "dependencies": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - } - }, - "node_modules/eslint-import-resolver-node/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/eslint-import-resolver-node/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/eslint-import-resolver-webpack": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.12.2.tgz", - "integrity": "sha512-7Jnm4YAoNNkvqPaZkKdIHsKGmv8/uNnYC5QsXkiSodvX4XEEfH2AKOna98FK52fCDXm3q4HzuX+7pRMKkJ64EQ==", - "dev": true, - "dependencies": { - "array-find": "^1.0.0", - "debug": "^2.6.9", - "enhanced-resolve": "^0.9.1", - "find-root": "^1.1.0", - "has": "^1.0.3", - "interpret": "^1.2.0", - "lodash": "^4.17.15", - "node-libs-browser": "^1.0.0 || ^2.0.0", - "resolve": "^1.13.1", - "semver": "^5.7.1" - } - }, - "node_modules/eslint-import-resolver-webpack/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/eslint-import-resolver-webpack/node_modules/enhanced-resolve": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", - "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.2.0", - "tapable": "^0.1.8" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/eslint-import-resolver-webpack/node_modules/memory-fs": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", - "dev": true - }, - "node_modules/eslint-import-resolver-webpack/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/eslint-import-resolver-webpack/node_modules/tapable": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/eslint-loader": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", - "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", - "dev": true, - "dependencies": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "dev": true, - "dependencies": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/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/eslint-module-utils/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/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/eslint-module-utils/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/node_modules/pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "dependencies": { - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-es/node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", - "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.3", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/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/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/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/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-node/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint-plugin-node/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/eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-standard": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz", - "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==", - "dev": true - }, - "node_modules/eslint-plugin-vue": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz", - "integrity": "sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==", - "dev": true, - "dependencies": { - "natural-compare": "^1.4.0", - "semver": "^5.6.0", - "vue-eslint-parser": "^7.0.0" - }, - "engines": { - "node": ">=8.10" - } - }, - "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-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", - "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/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/eslint/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/eslint/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/espree/node_modules/acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "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==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", - "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "dependencies": { - "estraverse": "^4.1.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "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-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "peer": true, - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "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.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "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/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-braces": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", - "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", - "dev": true, - "dependencies": { - "array-slice": "^0.2.3", - "array-unique": "^0.2.1", - "braces": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-braces/node_modules/array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-braces/node_modules/braces": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", - "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", - "dev": true, - "dependencies": { - "expand-range": "^0.1.0" - }, - "engines": { - "node": ">=0.10.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/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/expand-range": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", - "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", - "dev": true, - "dependencies": { - "is-number": "^0.1.1", - "repeat-string": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-range/node_modules/is-number": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", - "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-range/node_modules/repeat-string": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", - "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "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.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "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.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "dependencies": { - "type": "^2.0.0" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", - "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==" - }, - "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/extend-shallow/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/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "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-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/extglob/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/extglob/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/extract-frustum-planes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/extract-frustum-planes/-/extract-frustum-planes-1.0.0.tgz", - "integrity": "sha1-l9VwP/BWTIw8aDjKxF+ee8UsnvU=" - }, - "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/falafel": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", - "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", - "dependencies": { - "acorn": "^7.1.1", - "foreach": "^2.0.5", - "isarray": "^2.0.1", - "object-keys": "^1.0.6" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/falafel/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/falafel/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "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-glob/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/fast-glob/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/fast-isnumeric": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/fast-isnumeric/-/fast-isnumeric-1.1.4.tgz", - "integrity": "sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==", - "dependencies": { - "is-string-blank": "^1.0.1" - } - }, - "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=" - }, - "node_modules/faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/fbjs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-2.0.0.tgz", - "integrity": "sha512-8XA8ny9ifxrAWlyhAbexXcs3rRMtxWcs3M0lctLfB49jRDHiaxj+Mo0XxbwE7nKZYzgCFoq64FS+WFd4IycPPQ==", - "dependencies": { - "core-js": "^3.6.4", - "cross-fetch": "^3.0.4", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - } - }, - "node_modules/fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, - "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/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "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" - } - }, - "node_modules/file-selector": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.1.13.tgz", - "integrity": "sha512-T2efCBY6Ps+jLIWdNQsmzt/UnAjKOEAlsZVdnQztg/BtAZGNL4uX1Jet9cMM8gify/x4CSudreji2HssGBNVIQ==", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/file-selector/node_modules/tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - }, - "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/fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "dependencies": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" - } - }, - "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": "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/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/filtered-vector": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/filtered-vector/-/filtered-vector-1.2.4.tgz", - "integrity": "sha1-VkU8A030MC0pPKjs3qw/kKvGeNM=", - "dependencies": { - "binary-search-bounds": "^1.0.0", - "cubic-hermite": "^1.0.0" - } - }, - "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": "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/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "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/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/flatten-vertex-data": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz", - "integrity": "sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==", - "dependencies": { - "dtype": "^2.0.0" - } - }, - "node_modules/flip-pixels": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flip-pixels/-/flip-pixels-1.0.2.tgz", - "integrity": "sha512-oXbJGbjDnfJRWPC7Va38EFhd+A8JWE5/hCiKcK8qjCdbLj9DTpsq6MEudwpRTH+V4qq+Jw7d3pUgQdSr3x3mTA==" - }, - "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.12.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.12.1.tgz", - "integrity": "sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/font-atlas": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/font-atlas/-/font-atlas-2.1.0.tgz", - "integrity": "sha512-kP3AmvX+HJpW4w3d+PiPR2X6E1yvsBXt2yhuCw+yReO9F1WYhvZwx3c95DGZGwg9xYzDGrgJYa885xmVA+28Cg==", - "dependencies": { - "css-font": "^1.0.0" - } - }, - "node_modules/font-measure": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/font-measure/-/font-measure-1.2.2.tgz", - "integrity": "sha512-mRLEpdrWzKe9hbfaF3Qpr06TAjquuBVP5cHy4b3hyeNdjc9i0PO6HniGsX5vjL5OWv7+Bd++NiooNpT/s8BvIA==", - "dependencies": { - "css-font": "^1.2.0" - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "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/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "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/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/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "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=", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/fs-access": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", - "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", - "dev": true, - "dependencies": { - "null-check": "^1.0.0" - }, - "engines": { - "node": ">=0.10.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-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "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=" - }, - "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==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "node_modules/gamma": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/gamma/-/gamma-0.1.0.tgz", - "integrity": "sha1-MxVkNAO/J5BsqAqzfDbs6UQO8zA=" - }, - "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==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/geojson-vt": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", - "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==" - }, - "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-canvas-context": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-canvas-context/-/get-canvas-context-1.0.2.tgz", - "integrity": "sha1-1ue1C8TkyGNXzTnyJkeoS3NgHpM=" - }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "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==", - "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-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true, - "engines": { - "node": ">=0.10.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==", - "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/gl-axes3d": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/gl-axes3d/-/gl-axes3d-1.5.3.tgz", - "integrity": "sha512-KRYbguKQcDQ6PcB9g1pgqB8Ly4TY1DQODpPKiDTasyWJ8PxQk0t2Q7XoQQijNqvsguITCpVVCzNb5GVtIWiVlQ==", - "dependencies": { - "bit-twiddle": "^1.0.2", - "dup": "^1.0.0", - "extract-frustum-planes": "^1.0.0", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-state": "^1.0.0", - "gl-vao": "^1.3.0", - "gl-vec4": "^1.0.1", - "glslify": "^7.0.0", - "robust-orientation": "^1.1.3", - "split-polygon": "^1.0.0", - "vectorize-text": "^3.2.1" - } - }, - "node_modules/gl-axes3d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/gl-buffer/-/gl-buffer-2.1.2.tgz", - "integrity": "sha1-LbjZwaVSf7oM25EonCBuiCuInNs=", - "dependencies": { - "ndarray": "^1.0.15", - "ndarray-ops": "^1.1.0", - "typedarray-pool": "^1.0.0" - } - }, - "node_modules/gl-cone3d": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/gl-cone3d/-/gl-cone3d-1.5.2.tgz", - "integrity": "sha512-1JNeHH4sUtUmDA4ZK7Om8/kShwb8IZVAsnxaaB7IPRJsNGciLj1sTpODrJGeMl41RNkex5kXD2SQFrzyEAR2Rw==", - "dependencies": { - "colormap": "^2.3.1", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "gl-vec3": "^1.1.3", - "glsl-inverse": "^1.0.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-cook-torrance": "^2.0.1", - "glslify": "^7.0.0", - "ndarray": "^1.0.18" - } - }, - "node_modules/gl-cone3d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gl-constants/-/gl-constants-1.0.0.tgz", - "integrity": "sha1-WXpQTjZHUP9QJTqjX43qevSl0jM=" - }, - "node_modules/gl-contour2d": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/gl-contour2d/-/gl-contour2d-1.1.7.tgz", - "integrity": "sha512-GdebvJ9DtT3pJDpoE+eU2q+Wo9S3MijPpPz5arZbhK85w2bARmpFpVfPaDlZqWkB644W3BlH8TVyvAo1KE4Bhw==", - "dependencies": { - "binary-search-bounds": "^2.0.4", - "cdt2d": "^1.0.0", - "clean-pslg": "^1.1.2", - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0", - "iota-array": "^1.0.0", - "ndarray": "^1.0.18", - "surface-nets": "^1.0.2" - } - }, - "node_modules/gl-contour2d/node_modules/binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "node_modules/gl-contour2d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-error3d": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/gl-error3d/-/gl-error3d-1.0.16.tgz", - "integrity": "sha512-TGJewnKSp7ZnqGgG3XCF9ldrDbxZrO+OWlx6oIet4OdOM//n8xJ5isArnIV/sdPJnFbhfoLxWrW9f5fxHFRQ1A==", - "dependencies": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glslify": "^7.0.0" - } - }, - "node_modules/gl-error3d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-fbo": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.5.tgz", - "integrity": "sha1-D6daSXz3h2lVMGkcjwSrtvtV+iI=", - "dependencies": { - "gl-texture2d": "^2.0.0" - } - }, - "node_modules/gl-format-compiler-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/gl-format-compiler-error/-/gl-format-compiler-error-1.0.3.tgz", - "integrity": "sha1-DHmxdRiZzpcy6GJA8JCqQemEcag=", - "dependencies": { - "add-line-numbers": "^1.0.1", - "gl-constants": "^1.0.0", - "glsl-shader-name": "^1.0.0", - "sprintf-js": "^1.0.3" - } - }, - "node_modules/gl-heatmap2d": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/gl-heatmap2d/-/gl-heatmap2d-1.1.0.tgz", - "integrity": "sha512-0FLXyxv6UBCzzhi4Q2u+9fUs6BX1+r5ZztFe27VikE9FUVw7hZiuSHmgDng92EpydogcSYHXCIK8+58RagODug==", - "dependencies": { - "binary-search-bounds": "^2.0.4", - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0", - "iota-array": "^1.0.0", - "typedarray-pool": "^1.2.0" - } - }, - "node_modules/gl-heatmap2d/node_modules/binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "node_modules/gl-heatmap2d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-line3d": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/gl-line3d/-/gl-line3d-1.2.1.tgz", - "integrity": "sha512-eeb0+RI2ZBRqMYJK85SgsRiJK7c4aiOjcnirxv0830A3jmOc99snY3AbPcV8KvKmW0Yaf3KA4e+qNCbHiTOTnA==", - "dependencies": { - "binary-search-bounds": "^2.0.4", - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glslify": "^7.0.0", - "ndarray": "^1.0.18" - } - }, - "node_modules/gl-line3d/node_modules/binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "node_modules/gl-line3d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-mat3": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gl-mat3/-/gl-mat3-1.0.0.tgz", - "integrity": "sha1-iWMyGcpCk3mha5GF2V1BcTRTuRI=" - }, - "node_modules/gl-mat4": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz", - "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==" - }, - "node_modules/gl-matrix": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.3.0.tgz", - "integrity": "sha512-COb7LDz+SXaHtl/h4LeaFcNdJdAQSDeVqjiIihSXNrkWObZLhDI4hIkZC11Aeqp7bcE72clzB0BnDXr2SmslRA==" - }, - "node_modules/gl-mesh3d": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.3.1.tgz", - "integrity": "sha512-pXECamyGgu4/9HeAQSE5OEUuLBGS1aq9V4BCsTcxsND4fNLaajEkYKUz/WY2QSYElqKdsMBVsldGiKRKwlybqA==", - "dependencies": { - "barycentric": "^1.0.1", - "colormap": "^2.3.1", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-cook-torrance": "^2.0.1", - "glslify": "^7.0.0", - "ndarray": "^1.0.18", - "normals": "^1.1.0", - "polytope-closest-point": "^1.0.0", - "simplicial-complex-contour": "^1.0.2", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/gl-plot2d": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/gl-plot2d/-/gl-plot2d-1.4.5.tgz", - "integrity": "sha512-6GmCN10SWtV+qHFQ1gjdnVubeHFVsm6P4zmo0HrPIl9TcdePCUHDlBKWAuE6XtFhiMKMj7R8rApOX8O8uXUYog==", - "dependencies": { - "binary-search-bounds": "^2.0.4", - "gl-buffer": "^2.1.2", - "gl-select-static": "^2.0.7", - "gl-shader": "^4.2.1", - "glsl-inverse": "^1.0.0", - "glslify": "^7.0.0", - "text-cache": "^4.2.2" - } - }, - "node_modules/gl-plot2d/node_modules/binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "node_modules/gl-plot2d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-plot3d": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/gl-plot3d/-/gl-plot3d-2.4.7.tgz", - "integrity": "sha512-mLDVWrl4Dj0O0druWyHUK5l7cBQrRIJRn2oROEgrRuOgbbrLAzsREKefwMO0bA0YqkiZMFMnV5VvPA9j57X5Xg==", - "dependencies": { - "3d-view": "^2.0.0", - "a-big-triangle": "^1.0.3", - "gl-axes3d": "^1.5.3", - "gl-fbo": "^2.0.5", - "gl-mat4": "^1.2.0", - "gl-select-static": "^2.0.7", - "gl-shader": "^4.2.1", - "gl-spikes3d": "^1.0.10", - "glslify": "^7.0.0", - "has-passive-events": "^1.0.0", - "is-mobile": "^2.2.1", - "mouse-change": "^1.4.0", - "mouse-event-offset": "^3.0.2", - "mouse-wheel": "^1.2.0", - "ndarray": "^1.0.19", - "right-now": "^1.0.0" - } - }, - "node_modules/gl-pointcloud2d": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/gl-pointcloud2d/-/gl-pointcloud2d-1.0.3.tgz", - "integrity": "sha512-OS2e1irvJXVRpg/GziXj10xrFJm9kkRfFoB6BLUvkjCQV7ZRNNcs2CD+YSK1r0gvMwTg2T3lfLM3UPwNtz+4Xw==", - "dependencies": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/gl-pointcloud2d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-quat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gl-quat/-/gl-quat-1.0.0.tgz", - "integrity": "sha1-CUXskjOG9FMpvl3DV7HIwtR1hsU=", - "dependencies": { - "gl-mat3": "^1.0.0", - "gl-vec3": "^1.0.3", - "gl-vec4": "^1.0.0" - } - }, - "node_modules/gl-scatter3d": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/gl-scatter3d/-/gl-scatter3d-1.2.3.tgz", - "integrity": "sha512-nXqPlT1w5Qt51dTksj+DUqrZqwWAEWg0PocsKcoDnVNv0X8sGA+LBZ0Y+zrA+KNXUL0PPCX9WR9cF2uJAZl1Sw==", - "dependencies": { - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glslify": "^7.0.0", - "is-string-blank": "^1.0.1", - "typedarray-pool": "^1.1.0", - "vectorize-text": "^3.2.1" - } - }, - "node_modules/gl-scatter3d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-select-box": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/gl-select-box/-/gl-select-box-1.0.4.tgz", - "integrity": "sha512-mKsCnglraSKyBbQiGq0Ila0WF+m6Tr+EWT2yfaMn/Sh9aMHq5Wt0F/l6Cf/Ed3CdERq5jHWAY5yxLviZteYu2w==", - "dependencies": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0" - } - }, - "node_modules/gl-select-box/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-select-static": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/gl-select-static/-/gl-select-static-2.0.7.tgz", - "integrity": "sha512-OvpYprd+ngl3liEatBTdXhSyNBjwvjMSvV2rN0KHpTU+BTi4viEETXNZXFgGXY37qARs0L28ybk3UQEW6C5Nnw==", - "dependencies": { - "bit-twiddle": "^1.0.2", - "gl-fbo": "^2.0.5", - "ndarray": "^1.0.18", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/gl-shader": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/gl-shader/-/gl-shader-4.2.1.tgz", - "integrity": "sha1-vJuAjpKTxRtmjojeYVsMETcI3C8=", - "dependencies": { - "gl-format-compiler-error": "^1.0.2", - "weakmap-shim": "^1.1.0" - } - }, - "node_modules/gl-spikes2d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/gl-spikes2d/-/gl-spikes2d-1.0.2.tgz", - "integrity": "sha512-QVeOZsi9nQuJJl7NB3132CCv5KA10BWxAY2QgJNsKqbLsG53B/TrGJpjIAohnJftdZ4fT6b3ZojWgeaXk8bOOA==" - }, - "node_modules/gl-spikes3d": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/gl-spikes3d/-/gl-spikes3d-1.0.10.tgz", - "integrity": "sha512-lT3xroowOFxMvlhT5Mof76B2TE02l5zt/NIWljhczV2FFHgIVhA4jMrd5dIv1so1RXMBDJIKu0uJI3QKliDVLg==", - "dependencies": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "gl-vao": "^1.3.0", - "glslify": "^7.0.0" - } - }, - "node_modules/gl-spikes3d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-state": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gl-state/-/gl-state-1.0.0.tgz", - "integrity": "sha1-Ji+qdYNbC5xTLBLzitxCXR0wzRc=", - "dependencies": { - "uniq": "^1.0.0" - } - }, - "node_modules/gl-streamtube3d": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/gl-streamtube3d/-/gl-streamtube3d-1.4.1.tgz", - "integrity": "sha512-rH02v00kgwgdpkXVo7KsSoPp38bIAYR9TE1iONjcQ4cQAlDhrGRauqT/P5sUaOIzs17A2DxWGcXM+EpNQs9pUA==", - "dependencies": { - "gl-cone3d": "^1.5.2", - "gl-vec3": "^1.1.3", - "gl-vec4": "^1.0.1", - "glsl-inverse": "^1.0.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-cook-torrance": "^2.0.1", - "glslify": "^7.0.0" - } - }, - "node_modules/gl-streamtube3d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-surface3d": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/gl-surface3d/-/gl-surface3d-1.6.0.tgz", - "integrity": "sha512-x15+u4712ysnB85G55RLJEml6mOB4VaDn0VTlXCc9JcjRl5Es10Tk7lhGGyiPtkCfHwvhnkxzYA1/rHHYN7Y0A==", - "dependencies": { - "binary-search-bounds": "^2.0.4", - "bit-twiddle": "^1.0.2", - "colormap": "^2.3.1", - "dup": "^1.0.0", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-beckmann": "^1.1.2", - "glslify": "^7.0.0", - "ndarray": "^1.0.18", - "ndarray-gradient": "^1.0.0", - "ndarray-ops": "^1.2.2", - "ndarray-pack": "^1.2.1", - "ndarray-scratch": "^1.2.0", - "surface-nets": "^1.0.2", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/gl-surface3d/node_modules/binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "node_modules/gl-surface3d/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/gl-text": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.1.8.tgz", - "integrity": "sha512-whnq9DEFYbW92C4ONwk2eT0YkzmVPHoADnEtuzMOmit87XhgAhBrNs3lK9EgGjU/MoWYvlF6RkI8Kl7Yuo1hUw==", - "dependencies": { - "bit-twiddle": "^1.0.2", - "color-normalize": "^1.5.0", - "css-font": "^1.2.0", - "detect-kerning": "^2.1.2", - "es6-weak-map": "^2.0.3", - "flatten-vertex-data": "^1.0.2", - "font-atlas": "^2.1.0", - "font-measure": "^1.2.2", - "gl-util": "^3.1.2", - "is-plain-obj": "^1.1.0", - "object-assign": "^4.1.1", - "parse-rect": "^1.2.0", - "parse-unit": "^1.0.1", - "pick-by-alias": "^1.2.0", - "regl": "^1.3.11", - "to-px": "^1.0.1", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/gl-texture2d": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/gl-texture2d/-/gl-texture2d-2.1.0.tgz", - "integrity": "sha1-/2gk5+fDGoum/c2+nlxpXX4hh8c=", - "dependencies": { - "ndarray": "^1.0.15", - "ndarray-ops": "^1.2.2", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/gl-util": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/gl-util/-/gl-util-3.1.3.tgz", - "integrity": "sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==", - "dependencies": { - "is-browser": "^2.0.1", - "is-firefox": "^1.0.3", - "is-plain-obj": "^1.1.0", - "number-is-integer": "^1.0.1", - "object-assign": "^4.1.0", - "pick-by-alias": "^1.2.0", - "weak-map": "^1.0.5" - } - }, - "node_modules/gl-vao": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/gl-vao/-/gl-vao-1.3.0.tgz", - "integrity": "sha1-6ekqqVWIyrnVwvBLaTRAw99pGSM=" - }, - "node_modules/gl-vec3": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gl-vec3/-/gl-vec3-1.1.3.tgz", - "integrity": "sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==" - }, - "node_modules/gl-vec4": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gl-vec4/-/gl-vec4-1.0.1.tgz", - "integrity": "sha1-l9loeCgbFLUyy84QF4Xf0cs0CWQ=" - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "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/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/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/glsl-inject-defines": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz", - "integrity": "sha1-3RqswsF/yyvT/DJBHGYz0Ne2D9Q=", - "dependencies": { - "glsl-token-inject-block": "^1.0.0", - "glsl-token-string": "^1.0.1", - "glsl-tokenizer": "^2.0.2" - } - }, - "node_modules/glsl-inverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glsl-inverse/-/glsl-inverse-1.0.0.tgz", - "integrity": "sha1-EsCx0GX1WERNHm/q95td34qRiuY=" - }, - "node_modules/glsl-out-of-range": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/glsl-out-of-range/-/glsl-out-of-range-1.0.4.tgz", - "integrity": "sha512-fCcDu2LCQ39VBvfe1FbhuazXEf0CqMZI9OYXrYlL6uUARG48CTAbL04+tZBtVM0zo1Ljx4OLu2AxNquq++lxWQ==" - }, - "node_modules/glsl-resolve": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz", - "integrity": "sha1-iUvvc5ENeSyBtRQxgANdCnivdtM=", - "dependencies": { - "resolve": "^0.6.1", - "xtend": "^2.1.2" - } - }, - "node_modules/glsl-resolve/node_modules/resolve": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=" - }, - "node_modules/glsl-resolve/node_modules/xtend": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz", - "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/glsl-shader-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glsl-shader-name/-/glsl-shader-name-1.0.0.tgz", - "integrity": "sha1-osMLO6c0mb77DMcYTXx3M91LSH0=", - "dependencies": { - "atob-lite": "^1.0.0", - "glsl-tokenizer": "^2.0.2" - } - }, - "node_modules/glsl-specular-beckmann": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/glsl-specular-beckmann/-/glsl-specular-beckmann-1.1.2.tgz", - "integrity": "sha1-/OkFaTPs3yRWJ4N2pU0IKJPndfE=" - }, - "node_modules/glsl-specular-cook-torrance": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/glsl-specular-cook-torrance/-/glsl-specular-cook-torrance-2.0.1.tgz", - "integrity": "sha1-qJHMBsjHtPRyhwK0gk/ay7ln148=", - "dependencies": { - "glsl-specular-beckmann": "^1.1.1" - } - }, - "node_modules/glsl-token-assignments": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz", - "integrity": "sha1-pdgqt4SZwuimuDy2lJXm5mXOAZ8=" - }, - "node_modules/glsl-token-defines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz", - "integrity": "sha1-y4kqqVmTYjFyhHDU90AySJaX+p0=", - "dependencies": { - "glsl-tokenizer": "^2.0.0" - } - }, - "node_modules/glsl-token-depth": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz", - "integrity": "sha1-I8XjDuK9JViEtKKLyFC495HpXYQ=" - }, - "node_modules/glsl-token-descope": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz", - "integrity": "sha1-D8kKsyYYa4L1l7LnfcniHvzTIHY=", - "dependencies": { - "glsl-token-assignments": "^2.0.0", - "glsl-token-depth": "^1.1.0", - "glsl-token-properties": "^1.0.0", - "glsl-token-scope": "^1.1.0" - } - }, - "node_modules/glsl-token-inject-block": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz", - "integrity": "sha1-4QFfWYDBCRgkraomJfHf3ovQADQ=" - }, - "node_modules/glsl-token-properties": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz", - "integrity": "sha1-SD3D2Dnw1LXGFx0VkfJJvlPCip4=" - }, - "node_modules/glsl-token-scope": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz", - "integrity": "sha1-oXKOeN8kRE+cuT/RjvD3VQOmQ7E=" - }, - "node_modules/glsl-token-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz", - "integrity": "sha1-WUQdL4V958NEnJRWZgIezjWOSOw=" - }, - "node_modules/glsl-token-whitespace-trim": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz", - "integrity": "sha1-RtHf6Yx1vX1QTAXX0RsbPpzJOxA=" - }, - "node_modules/glsl-tokenizer": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", - "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", - "dependencies": { - "through2": "^0.6.3" - } - }, - "node_modules/glsl-tokenizer/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/glsl-tokenizer/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/glsl-tokenizer/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/glsl-tokenizer/node_modules/through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, - "node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/glslify-bundle": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glslify-bundle/-/glslify-bundle-5.1.1.tgz", - "integrity": "sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==", - "dependencies": { - "glsl-inject-defines": "^1.0.1", - "glsl-token-defines": "^1.0.0", - "glsl-token-depth": "^1.1.1", - "glsl-token-descope": "^1.0.2", - "glsl-token-scope": "^1.1.1", - "glsl-token-string": "^1.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glsl-tokenizer": "^2.0.2", - "murmurhash-js": "^1.0.0", - "shallow-copy": "0.0.1" - } - }, - "node_modules/glslify-deps": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/glslify-deps/-/glslify-deps-1.3.1.tgz", - "integrity": "sha512-Ogm179MCazwIRyEqs3g3EOY4Y3XIAa0yl8J5RE9rJC6QH1w8weVOp2RZu0mvnYy/2xIas1w166YR2eZdDkWQxg==", - "dependencies": { - "@choojs/findup": "^0.2.0", - "events": "^1.0.2", - "glsl-resolve": "0.0.1", - "glsl-tokenizer": "^2.0.0", - "graceful-fs": "^4.1.2", - "inherits": "^2.0.1", - "map-limit": "0.0.1", - "resolve": "^1.0.0" - } - }, - "node_modules/glslify-deps/node_modules/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "node_modules/grid-index": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", - "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==" - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "engines": { - "node": ">=4.x" - } - }, - "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/handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/handlebars/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/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.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "dependencies": { - "ajv": "^6.5.5", - "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==", - "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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "dependencies": { - "isarray": "2.0.1" - } - }, - "node_modules/has-binary2/node_modules/isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "node_modules/has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "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-hover": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-hover/-/has-hover-1.0.1.tgz", - "integrity": "sha1-PZdDeusZnGK4rAisvcU9O8UsF/c=", - "dependencies": { - "is-browser": "^2.0.1" - } - }, - "node_modules/has-passive-events": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-passive-events/-/has-passive-events-1.0.0.tgz", - "integrity": "sha512-2vSj6IeIsgvsRMyeQ0JaCX5Q3lX4zMn5HpoVc7MEhQ6pv8Iq9rsXjsp+E5ZwaT7T0xhMT0KmU8gtt1EFVdbJiw==", - "dependencies": { - "is-browser": "^2.0.1" - } - }, - "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==", - "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==", - "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 - }, - "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": "9.18.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", - "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==", - "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/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "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.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "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/hsluv": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/hsluv/-/hsluv-0.0.3.tgz", - "integrity": "sha1-gpEH2vtKn4tSoYCe0C4JHq3mdUw=" - }, - "node_modules/html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "node_modules/html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", - "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-minifier/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/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/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, - "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" - } - }, - "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/html-webpack-plugin/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/html-webpack-plugin/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/html2canvas": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.1.4.tgz", - "integrity": "sha512-uHgQDwrXsRmFdnlOVFvHin9R7mdjjZvoBoXxicPR+NnucngkaLa5zIDW9fzMkiip0jSffyTyWedE8iVogYOeWg==", - "dependencies": { - "css-line-break": "1.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "node_modules/htmlparser2/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/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.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/http-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-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/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/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.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/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.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "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-palette": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/image-palette/-/image-palette-2.1.0.tgz", - "integrity": "sha512-3ImSEWD26+xuQFdP0RWR4WSXadZwvgrFhjGNpMEapTG1tf2XrBFS2dlKK5hNgH4UIaSQlSUFRn1NeA+zULIWbQ==", - "dependencies": { - "color-id": "^1.1.0", - "pxls": "^2.0.0", - "quantize": "^1.0.2" - } - }, - "node_modules/image-size": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", - "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==", - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/immutability-helper": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-3.1.1.tgz", - "integrity": "sha512-Q0QaXjPjwIju/28TsugCHNEASwoCcJSyJV3uO1sOIQGI0jKgm9f41Lvz0DZj3n46cNCyAZTsEYoY4C2bVRUzyQ==" - }, - "node_modules/immutable": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", - "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=", - "engines": { - "node": ">=0.8.0" - } - }, - "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": "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/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/incremental-convex-hull": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/incremental-convex-hull/-/incremental-convex-hull-1.0.1.tgz", - "integrity": "sha1-UUKMFMudmmFEv+abKFH7N3M0vh4=", - "dependencies": { - "robust-orientation": "^1.1.2", - "simplicial-complex": "^1.0.0" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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/indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "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=", - "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/ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/inquirer/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/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/inquirer/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/inquirer/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/inquirer/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/inquirer/node_modules/onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/inquirer/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/interval-tree-1d": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/interval-tree-1d/-/interval-tree-1d-1.0.3.tgz", - "integrity": "sha1-j9veArayx9verWNry+2OCHENhcE=", - "dependencies": { - "binary-search-bounds": "^1.0.0" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/invert-permutation": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-permutation/-/invert-permutation-1.0.0.tgz", - "integrity": "sha1-oKeAQurbNrwXVR54fv0UOa3VSTM=" - }, - "node_modules/iota-array": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", - "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=" - }, - "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": "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/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/is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-base64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-base64/-/is-base64-0.1.0.tgz", - "integrity": "sha512-WRRyllsGXJM7ZN7gPTCCQ/6wNPTRDwiWdPK66l5sJzcU/oOzcIcRRf0Rux8bkpox/1yjt0F6VJRsQOIG2qz5sg==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "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, - "optional": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-blob": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-blob/-/is-blob-2.1.0.tgz", - "integrity": "sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==", - "engines": { - "node": ">=6" - } - }, - "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==", - "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-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz", - "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==" - }, - "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==" - }, - "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==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/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.3.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", - "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/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/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "engines": { - "node": ">= 0.4" - } - }, - "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/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/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.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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/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-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-firefox": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-firefox/-/is-firefox-1.0.3.tgz", - "integrity": "sha1-KioVZ3g6QX9uFYMjEI84YbCRhWI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-float-array": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-float-array/-/is-float-array-1.0.0.tgz", - "integrity": "sha512-4ew1Sx6B6kEAl3T3NOM0yB94J3NZnBdNt4paw0e8nY73yHHTeTEhyQ3Lj7EQEnv5LD+GxNTaT4L46jcKjjpLiQ==" - }, - "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-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-iexplorer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-iexplorer/-/is-iexplorer-1.0.0.tgz", - "integrity": "sha1-HXK8ZtP+Iur2Fw3ajPEJQySM/HY=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-mobile": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.2.tgz", - "integrity": "sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg==" - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "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==", - "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==", - "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": "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/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": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "engines": { - "node": ">=0.10.0" - } - }, - "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-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "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==", - "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==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string-blank": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-string-blank/-/is-string-blank-1.0.1.tgz", - "integrity": "sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==" - }, - "node_modules/is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "dependencies": { - "html-comment-regex": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-svg-path": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-svg-path/-/is-svg-path-1.0.2.tgz", - "integrity": "sha1-d6tZDBKz0gNI5cehPQBAyHeE3aA=" - }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "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==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-whitespace": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", - "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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": "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/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "dev": true, - "dependencies": { - "buffer-alloc": "^1.2.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "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": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", - "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", - "deprecated": "This module is no longer maintained, try this instead:\n npm i nyc\nVisit https://istanbul.js.org/integrations for other alternatives.", - "dev": true, - "dependencies": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "istanbul": "lib/cli.js" - } - }, - "node_modules/istanbul-api": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.7.tgz", - "integrity": "sha512-LYTOa2UrYFyJ/aSczZi/6lBykVMjCCvUmT64gOe+jPZFy4w6FYfPGqFT2IiQ2BxVHHDOvCD7qrIXb0EOh4uGWw==", - "dev": true, - "dependencies": { - "async": "^2.6.2", - "compare-versions": "^3.4.0", - "fileset": "^2.0.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.5", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "minimatch": "^3.0.4", - "once": "^1.4.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-api/node_modules/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-api/node_modules/istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "dependencies": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-api/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-instrumenter-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz", - "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", - "dev": true, - "dependencies": { - "convert-source-map": "^1.5.0", - "istanbul-lib-instrument": "^1.7.3", - "loader-utils": "^1.1.0", - "schema-utils": "^0.3.0" - }, - "engines": { - "node": ">= 4.8 < 5.0.0 || >= 5.10" - }, - "peerDependencies": { - "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" - } - }, - "node_modules/istanbul-instrumenter-loader/node_modules/ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "dependencies": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "node_modules/istanbul-instrumenter-loader/node_modules/fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "node_modules/istanbul-instrumenter-loader/node_modules/json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "node_modules/istanbul-instrumenter-loader/node_modules/schema-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "dev": true, - "dependencies": { - "ajv": "^5.0.0" - }, - "engines": { - "node": ">= 4.3 < 5.0.0 || >= 5.10" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", - "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", - "dev": true - }, - "node_modules/istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "dev": true, - "dependencies": { - "append-transform": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", - "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", - "dev": true, - "dependencies": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.1", - "semver": "^5.3.0" - } - }, - "node_modules/istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/node_modules/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/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/istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul/node_modules/abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true - }, - "node_modules/istanbul/node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "node_modules/istanbul/node_modules/escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "dependencies": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=0.12.0" - }, - "optionalDependencies": { - "source-map": "~0.2.0" - } - }, - "node_modules/istanbul/node_modules/esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul/node_modules/estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul/node_modules/glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/istanbul/node_modules/has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul/node_modules/nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/istanbul/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "node_modules/istanbul/node_modules/source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/istanbul/node_modules/supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "dependencies": { - "has-flag": "^1.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/jasmine-core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz", - "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", - "dev": true - }, - "node_modules/javascript-stringify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.0.1.tgz", - "integrity": "sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==", - "dev": true - }, - "node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "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": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" - }, - "node_modules/js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true - }, - "node_modules/js-beautify": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.11.0.tgz", - "integrity": "sha512-a26B+Cx7USQGSWnz9YxgJNMmML/QG2nqIaL7VVYPCXbqiKz8PN0waSNvroMtvAK6tY7g/wPdNWGEP+JTNIBr6A==", - "dev": true, - "dependencies": { - "config-chain": "^1.1.12", - "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "mkdirp": "~1.0.3", - "nopt": "^4.0.3" - }, - "bin": { - "css-beautify": "js/bin/css-beautify.js", - "html-beautify": "js/bin/html-beautify.js", - "js-beautify": "js/bin/js-beautify.js" - } - }, - "node_modules/js-beautify/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/js-message": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz", - "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=", - "dev": true, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/js-queue": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz", - "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=", - "dev": true, - "dependencies": { - "easy-stack": "^1.0.0" - }, - "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.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "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/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/jshint": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.13.1.tgz", - "integrity": "sha512-vymzfR3OysF5P774x6zYv0bD4EpH6NWRxpq54wO9mA9RuY49yb1teKSICkLx2Ryx+mfzlVVNNbTBtsRtg78t7g==", - "dependencies": { - "cli": "~1.0.0", - "console-browserify": "1.1.x", - "exit": "0.1.x", - "htmlparser2": "3.8.x", - "lodash": "~4.17.21", - "minimatch": "~3.0.2", - "shelljs": "0.3.x", - "strip-json-comments": "1.0.x" - }, - "bin": { - "jshint": "bin/jshint" - } - }, - "node_modules/jshint/node_modules/console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dependencies": { - "date-now": "^0.1.4" - } - }, - "node_modules/jshint/node_modules/domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/jshint/node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/jshint/node_modules/entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" - }, - "node_modules/jshint/node_modules/htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "dependencies": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" - } - }, - "node_modules/jshint/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/jshint/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/jshint/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", - "dev": true, - "peer": true - }, - "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==" - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "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-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "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.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "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, - "dependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/just-extend": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.1.1.tgz", - "integrity": "sha512-aWgeGFW67BP3e5181Ep1Fv2v8z//iBJfrvyTnq8wG86vEESwmonn1zPBJ0VfmT9CJq2FIT0VsETtrNFm2a+SHA==", - "dev": true - }, - "node_modules/karma": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.4.tgz", - "integrity": "sha512-31Vo8Qr5glN+dZEVIpnPCxEGleqE0EY6CtC2X9TagRV3rRQ3SNrvfhddICkJgUK3AgqpeKSZau03QumTGhGoSw==", - "dev": true, - "dependencies": { - "bluebird": "^3.3.0", - "body-parser": "^1.16.1", - "chokidar": "^2.0.3", - "colors": "^1.1.0", - "combine-lists": "^1.0.0", - "connect": "^3.6.0", - "core-js": "^2.2.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.0", - "expand-braces": "^0.1.1", - "flatted": "^2.0.0", - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "http-proxy": "^1.13.0", - "isbinaryfile": "^3.0.0", - "lodash": "^4.17.5", - "log4js": "^3.0.0", - "mime": "^2.3.1", - "minimatch": "^3.0.2", - "optimist": "^0.6.1", - "qjobs": "^1.1.4", - "range-parser": "^1.2.0", - "rimraf": "^2.6.0", - "safe-buffer": "^5.0.1", - "socket.io": "2.1.1", - "source-map": "^0.6.1", - "tmp": "0.0.33", - "useragent": "2.3.0" - }, - "bin": { - "karma": "bin/karma" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/karma-chrome-launcher": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz", - "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", - "dev": true, - "dependencies": { - "fs-access": "^1.0.0", - "which": "^1.2.1" - } - }, - "node_modules/karma-coverage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.2.tgz", - "integrity": "sha512-eQawj4Cl3z/CjxslYy9ariU4uDh7cCNFZHNWXWRpl0pNeblY/4wHR7M7boTYXWrn9bY0z2pZmr11eKje/S/hIw==", - "dev": true, - "dependencies": { - "dateformat": "^1.0.6", - "istanbul": "^0.4.0", - "lodash": "^4.17.0", - "minimatch": "^3.0.0", - "source-map": "^0.5.1" - } - }, - "node_modules/karma-coverage-istanbul-reporter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.1.tgz", - "integrity": "sha512-CH8lTi8+kKXGvrhy94+EkEMldLCiUA0xMOiL31vvli9qK0T+qcXJAwWBRVJWnVWxYkTmyWar8lPz63dxX6/z1A==", - "dev": true, - "dependencies": { - "istanbul-api": "^2.1.6", - "minimatch": "^3.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/mattlewis92" - } - }, - "node_modules/karma-firefox-launcher": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.0.tgz", - "integrity": "sha512-dkiyqN2R6fCWt78rciOXJLFDWcQ7QEQi++HgebPJlw1y0ycDjGNDHuSrhdh48QG02fzZKK20WHFWVyBZ6CPngg==", - "dev": true, - "dependencies": { - "is-wsl": "^2.2.0", - "which": "^2.0.1" - } - }, - "node_modules/karma-firefox-launcher/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/karma-firefox-launcher/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/karma-jasmine": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz", - "integrity": "sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==", - "dev": true, - "dependencies": { - "jasmine-core": "^3.3" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "karma": "*" - } - }, - "node_modules/karma-junit-reporter": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-1.2.0.tgz", - "integrity": "sha1-T5xAzt+xo5X4rvh2q/lhiZF8Y5Y=", - "dev": true, - "dependencies": { - "path-is-absolute": "^1.0.0", - "xmlbuilder": "8.2.2" - }, - "peerDependencies": { - "karma": ">=0.9" - } - }, - "node_modules/karma-mocha": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz", - "integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=", - "dev": true, - "dependencies": { - "minimist": "1.2.0" - } - }, - "node_modules/karma-mocha/node_modules/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "node_modules/karma-phantomjs-shim": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/karma-phantomjs-shim/-/karma-phantomjs-shim-1.5.0.tgz", - "integrity": "sha512-t0h1x7btXROaGElv36TLpuoWqTnVZ/f+GJHH/qVerjbX6AENoM5brQoB9ISO3hQ6zO1k9rDSRLrY5ZZb83ANdg==", - "dev": true - }, - "node_modules/karma-sinon-chai": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/karma-sinon-chai/-/karma-sinon-chai-2.0.2.tgz", - "integrity": "sha512-SDgh6V0CUd+7ruL1d3yG6lFzmJNGRNQuEuCYXLaorruNP9nwQfA7hpsp4clx4CbOo5Gsajh3qUOT7CrVStUKMw==", - "dev": true, - "peerDependencies": { - "chai": ">=3.5.0", - "sinon": ">=2.1.0", - "sinon-chai": ">=2.9.0" - } - }, - "node_modules/karma-spec-reporter": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz", - "integrity": "sha1-LpxyB+pyZ3EmAln4K+y1QyCeRAo=", - "dev": true, - "dependencies": { - "colors": "^1.1.2" - }, - "peerDependencies": { - "karma": ">=0.9" - } - }, - "node_modules/karma-structured-json-reporter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/karma-structured-json-reporter/-/karma-structured-json-reporter-1.0.1.tgz", - "integrity": "sha1-HWQJ6mXAFos0XK9309K9n0ztFdU=", - "dev": true - }, - "node_modules/karma-webpack": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz", - "integrity": "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.1", - "schema-utils": "^1.0.0", - "source-map": "^0.7.3", - "webpack-dev-middleware": "^3.7.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/karma-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/karma-webpack/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/karma/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/karma/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/karma/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/karma/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/karma/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 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.", - "dev": true, - "hasInstallScript": true - }, - "node_modules/karma/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/karma/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/karma/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/karma/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/karma/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/karma/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/kdbush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", - "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==" - }, - "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/launch-editor": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", - "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", - "dev": true, - "dependencies": { - "chalk": "^2.3.0", - "shell-quote": "^1.6.1" - } - }, - "node_modules/launch-editor-middleware": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", - "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", - "dev": true, - "dependencies": { - "launch-editor": "^2.2.1" - } - }, - "node_modules/lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "peer": true, - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lerp": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/lerp/-/lerp-1.0.3.tgz", - "integrity": "sha1-oYyJaPkXiW3hXM/MKNVaa3Med24=" - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "node_modules/load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/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/loader-fs-cache": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", - "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", - "dev": true, - "dependencies": { - "find-cache-dir": "^0.1.1", - "mkdirp": "^0.5.1" - } - }, - "node_modules/loader-fs-cache/node_modules/find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-fs-cache/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-fs-cache/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-fs-cache/node_modules/pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "dependencies": { - "find-up": "^1.0.0" - }, - "engines": { - "node": ">=0.10.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": "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/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "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.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "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/log4js": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz", - "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==", - "dev": true, - "dependencies": { - "circular-json": "^0.5.5", - "date-format": "^1.2.0", - "debug": "^3.1.0", - "rfdc": "^1.1.2", - "streamroller": "0.7.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/log4js/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/loglevel": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", - "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/loglevelnext": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", - "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", - "dev": true, - "dependencies": { - "es6-symbol": "^3.1.1", - "object.assign": "^4.1.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/lolex": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz", - "integrity": "sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==", - "dev": true - }, - "node_modules/longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "dependencies": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.4" - } - }, - "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/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-limit": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", - "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", - "dependencies": { - "once": "~1.3.0" - } - }, - "node_modules/map-limit/node_modules/once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "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/mapbox-gl": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.10.1.tgz", - "integrity": "sha512-0aHt+lFUpYfvh0kMIqXqNXqoYMuhuAsMlw87TbhWrw78Tx2zfuPI0Lx31/YPUgJ+Ire0tzQ4JnuBL7acDNXmMg==", - "dependencies": { - "@mapbox/geojson-rewind": "^0.5.0", - "@mapbox/geojson-types": "^1.0.2", - "@mapbox/jsonlint-lines-primitives": "^2.0.2", - "@mapbox/mapbox-gl-supported": "^1.5.0", - "@mapbox/point-geometry": "^0.1.0", - "@mapbox/tiny-sdf": "^1.1.1", - "@mapbox/unitbezier": "^0.0.0", - "@mapbox/vector-tile": "^1.3.1", - "@mapbox/whoots-js": "^3.1.0", - "csscolorparser": "~1.0.3", - "earcut": "^2.2.2", - "geojson-vt": "^3.2.1", - "gl-matrix": "^3.2.1", - "grid-index": "^1.1.0", - "minimist": "^1.2.5", - "murmurhash-js": "^1.0.0", - "pbf": "^3.2.1", - "potpack": "^1.0.1", - "quickselect": "^2.0.0", - "rw": "^1.3.3", - "supercluster": "^7.0.0", - "tinyqueue": "^2.0.3", - "vt-pbf": "^3.1.1" - }, - "engines": { - "node": ">=6.4.0" - } - }, - "node_modules/marching-simplex-table": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/marching-simplex-table/-/marching-simplex-table-1.0.0.tgz", - "integrity": "sha1-vBYlbg+Pm1WKqbKHL4gy2UM/Uuo=", - "dependencies": { - "convex-hull": "^1.0.3" - } - }, - "node_modules/mat4-decompose": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mat4-decompose/-/mat4-decompose-1.0.4.tgz", - "integrity": "sha1-ZetP451wh496RE60Yk1S9+frL68=", - "dependencies": { - "gl-mat4": "^1.0.1", - "gl-vec3": "^1.0.2" - } - }, - "node_modules/mat4-interpolate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mat4-interpolate/-/mat4-interpolate-1.0.4.tgz", - "integrity": "sha1-Vf/p6zw1KV4sDVqfdyXZBoqJ/3Q=", - "dependencies": { - "gl-mat4": "^1.0.1", - "gl-vec3": "^1.0.2", - "mat4-decompose": "^1.0.3", - "mat4-recompose": "^1.0.3", - "quat-slerp": "^1.0.0" - } - }, - "node_modules/mat4-recompose": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mat4-recompose/-/mat4-recompose-1.0.4.tgz", - "integrity": "sha1-OVPCMP8kc9x3LuAUpSySXPgbDk0=", - "dependencies": { - "gl-mat4": "^1.0.1" - } - }, - "node_modules/material-colors": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", - "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" - }, - "node_modules/math-log2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz", - "integrity": "sha1-+4lBvl9evol55xjmJzsXjlhpRWU=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matrix-camera-controller": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/matrix-camera-controller/-/matrix-camera-controller-2.1.3.tgz", - "integrity": "sha1-NeUmDMHNVQliunmfLY1OlLGjk3A=", - "dependencies": { - "binary-search-bounds": "^1.0.0", - "gl-mat4": "^1.1.2", - "gl-vec3": "^1.0.3", - "mat4-interpolate": "^1.0.3" - } - }, - "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/mdi-react": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mdi-react/-/mdi-react-5.2.0.tgz", - "integrity": "sha512-q0zeUZbissoRVouq9JYSTrr/+2qk2P0dJI9N2m/TvZDX5RMcwHsVxffiqisjlo2m6cbXiCzAQaGaGmjoPfC4Pg==", - "peerDependencies": { - "react": ">=0.14.0" - } - }, - "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": "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/mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "peer": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/memoize-one": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz", - "integrity": "sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==" - }, - "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/meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "dependencies": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/meow/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/meow/node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/meow/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/meow/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/meow/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/meow/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/meow/node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/meow/node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/meow/node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/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/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/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.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, - "dependencies": { - "mime-db": "1.44.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/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" - } - }, - "node_modules/mini-css-extract-plugin/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/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==", - "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.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", - "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", - "dev": true, - "dependencies": { - "minipass": "^3.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/mixin-deep/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/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/mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", - "dev": true, - "dependencies": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/mocha/node_modules/commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true - }, - "node_modules/mocha/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "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": "*" - } - }, - "node_modules/mocha/node_modules/he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/mocha/node_modules/minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "node_modules/mocha/node_modules/mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dev": true, - "dependencies": { - "minimist": "0.0.8" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha/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/mocha/node_modules/supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/monotone-convex-hull-2d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/monotone-convex-hull-2d/-/monotone-convex-hull-2d-1.0.1.tgz", - "integrity": "sha1-R/Xa6t88Sv03dkuqGqh4ekDu4Iw=", - "dependencies": { - "robust-orientation": "^1.1.3" - } - }, - "node_modules/mouse-change": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mouse-change/-/mouse-change-1.4.0.tgz", - "integrity": "sha1-wrd+W/o0pDzhRFyBV6Tk3JiVwU8=", - "dependencies": { - "mouse-event": "^1.0.0" - } - }, - "node_modules/mouse-event": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/mouse-event/-/mouse-event-1.0.5.tgz", - "integrity": "sha1-s3ie23EJmX1aky0dAdqhVDpQFzI=" - }, - "node_modules/mouse-event-offset": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz", - "integrity": "sha1-39hqbiSMa6jK1TuQXVA3ogY+mYQ=" - }, - "node_modules/mouse-wheel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz", - "integrity": "sha1-bSkDseqPtI5h8bU7kDZ3PwQs21w=", - "dependencies": { - "right-now": "^1.0.0", - "signum": "^1.0.0", - "to-px": "^1.0.1" - } - }, - "node_modules/mouse-wheel/node_modules/signum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz", - "integrity": "sha1-dKfSvyogtA66FqkrFSEk8dVZ+nc=" - }, - "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/mumath": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/mumath/-/mumath-3.3.4.tgz", - "integrity": "sha1-SNSg8P2MrU57Mglu6JsWGmPTC78=", - "dependencies": { - "almost-equal": "^1.1.0" - } - }, - "node_modules/murmurhash-js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", - "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E=" - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "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.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, - "optional": true - }, - "node_modules/nanoid": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", - "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || >=13.7" - } - }, - "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/ndarray": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", - "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", - "dependencies": { - "iota-array": "^1.0.0", - "is-buffer": "^1.0.2" - } - }, - "node_modules/ndarray-extract-contour": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ndarray-extract-contour/-/ndarray-extract-contour-1.0.1.tgz", - "integrity": "sha1-Cu4ROjozsia5DEiIz4d79HUTBeQ=", - "dependencies": { - "typedarray-pool": "^1.0.0" - } - }, - "node_modules/ndarray-gradient": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ndarray-gradient/-/ndarray-gradient-1.0.0.tgz", - "integrity": "sha1-t0kaUVxqZJ8ZpiMk//byf8jCU5M=", - "dependencies": { - "cwise-compiler": "^1.0.0", - "dup": "^1.0.0" - } - }, - "node_modules/ndarray-linear-interpolate": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ndarray-linear-interpolate/-/ndarray-linear-interpolate-1.0.0.tgz", - "integrity": "sha1-eLySuFuavBW25n7mWCj54hN65ys=" - }, - "node_modules/ndarray-ops": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz", - "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=", - "dependencies": { - "cwise-compiler": "^1.0.0" - } - }, - "node_modules/ndarray-pack": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz", - "integrity": "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=", - "dependencies": { - "cwise-compiler": "^1.1.2", - "ndarray": "^1.0.13" - } - }, - "node_modules/ndarray-scratch": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz", - "integrity": "sha1-YwRjbWLrqT20cnrBPGkzQdulDgE=", - "dependencies": { - "ndarray": "^1.0.14", - "ndarray-ops": "^1.2.1", - "typedarray-pool": "^1.0.2" - } - }, - "node_modules/ndarray-sort": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ndarray-sort/-/ndarray-sort-1.0.1.tgz", - "integrity": "sha1-/qBbTLg0x/TgIWo1TzynUTAN/Wo=", - "dependencies": { - "typedarray-pool": "^1.0.0" - } - }, - "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/next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - }, - "node_modules/nextafter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nextafter/-/nextafter-1.0.0.tgz", - "integrity": "sha1-t9d7U1MQ4+CX5gJauwqQNHfsGjo=", - "dependencies": { - "double-bits": "^1.1.0" - } - }, - "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/nise": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.3.tgz", - "integrity": "sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ==", - "dev": true, - "dependencies": { - "@sinonjs/formatio": "^3.2.1", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "lolex": "^5.0.1", - "path-to-regexp": "^1.7.0" - } - }, - "node_modules/nise/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "node_modules/nise/node_modules/lolex": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", - "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/nise/node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dev": true, - "dependencies": { - "isarray": "0.0.1" - } - }, - "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-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "dev": true, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/node-ipc": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.1.tgz", - "integrity": "sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==", - "dev": true, - "dependencies": { - "event-pubsub": "4.3.0", - "js-message": "1.0.5", - "js-queue": "2.0.0" - }, - "engines": { - "node": ">=4.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/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": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", - "dev": true - }, - "node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "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-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-svg-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-0.1.0.tgz", - "integrity": "sha1-RWNg5g7Odfvve11+FgSA5//Rb+U=" - }, - "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/normals": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/normals/-/normals-1.1.0.tgz", - "integrity": "sha1-MltZXtNK/kZ6bFWhT9kIV4f/WcA=" - }, - "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": "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/null-check": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", - "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/number-is-integer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-integer/-/number-is-integer-1.0.1.tgz", - "integrity": "sha1-5ZvKFy/+0nMY55x862y3LAlbIVI=", - "dependencies": { - "is-finite": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/numeric": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/numeric/-/numeric-1.2.6.tgz", - "integrity": "sha1-dlsCvvl5iPz4gNTrPza4D6MTNao=" - }, - "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=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, - "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/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-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", - "dev": true, - "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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", - "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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==", - "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==", - "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.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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/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=", - "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/opener": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", - "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", - "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/optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "dependencies": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "node_modules/optimist/node_modules/minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "node_modules/optimist/node_modules/wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "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/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/orbit-camera-controller": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/orbit-camera-controller/-/orbit-camera-controller-4.0.0.tgz", - "integrity": "sha1-bis28OeHhmPDMPUNqbfOaGwncAU=", - "dependencies": { - "filtered-vector": "^1.2.1", - "gl-mat4": "^1.0.3" - } - }, - "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-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "peer": true, - "dependencies": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/os-locale/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, - "peer": true, - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/os-locale/node_modules/execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "peer": 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/os-locale/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, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/os-locale/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, - "peer": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/os-locale/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true, - "peer": 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/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.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" - } - }, - "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/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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/pad-left": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pad-left/-/pad-left-1.0.2.tgz", - "integrity": "sha1-GeVzXqmDlaJs7carkm6tEPMQDUw=", - "dependencies": { - "repeat-string": "^1.3.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/papaparse": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.1.tgz", - "integrity": "sha512-Dbt2yjLJrCwH2sRqKFFJaN5XgIASO9YOFeFP8rIBRG2Ain8mqk5r1M6DkfvqEVozVcz3r3HaUGw253hA1nLIcA==" - }, - "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==", - "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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/parenthesis": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.7.tgz", - "integrity": "sha512-iMtu+HCbLXVrpf6Ys/4YKhcFxbux3xK4ZVB9r+a2kMSqeeQWQoDNYlXIsOjwlT2ldYXZ3k5PVeBnYn7fbAo/Bg==" - }, - "node_modules/parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "dependencies": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/parse-rect": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parse-rect/-/parse-rect-1.2.0.tgz", - "integrity": "sha512-4QZ6KYbnE6RTwg9E0HpLchUM9EZt6DnDxajFZZDSV4p/12ZJEvPO702DZpGvRYEPo00yKDys7jASi+/w7aO8LA==", - "dependencies": { - "pick-by-alias": "^1.2.0" - } - }, - "node_modules/parse-svg-path": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", - "integrity": "sha1-en7A0esG+lMlx9PgCbhZoJtdSes=" - }, - "node_modules/parse-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-unit/-/parse-unit-1.0.1.tgz", - "integrity": "sha1-fhu21b7zh0wo45JSaiVBFwKR7s8=" - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz", - "integrity": "sha512-CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw==", - "dev": true, - "dependencies": { - "parse5": "^5.1.1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter/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/parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "dependencies": { - "better-assert": "~1.0.0" - } - }, - "node_modules/parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "dependencies": { - "better-assert": "~1.0.0" - } - }, - "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/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": "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/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=", - "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.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "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/pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/pbf": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", - "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", - "dependencies": { - "ieee754": "^1.1.12", - "resolve-protobuf-schema": "^2.1.0" - }, - "bin": { - "pbf": "bin/pbf" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "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/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "node_modules/permutation-parity": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/permutation-parity/-/permutation-parity-1.0.0.tgz", - "integrity": "sha1-AXTVH8pwSxG5pLFSsj1Tf9xrXvQ=", - "dependencies": { - "typedarray-pool": "^1.0.0" - } - }, - "node_modules/permutation-rank": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/permutation-rank/-/permutation-rank-1.0.0.tgz", - "integrity": "sha1-n9mLvOzwj79ZlLXq3JSmLmeUg7U=", - "dependencies": { - "invert-permutation": "^1.0.0", - "typedarray-pool": "^1.0.0" - } - }, - "node_modules/phantomjs-shim": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/phantomjs-shim/-/phantomjs-shim-0.1.0.tgz", - "integrity": "sha1-vUsEeLQKznctd5C2mgXm9PWafOc=", - "dev": true, - "dependencies": { - "autoprefixer": "^6.5.1", - "classlist-polyfill": "^1.0.3", - "es5-shim": "^4.5.9" - } - }, - "node_modules/phantomjs-shim/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/phantomjs-shim/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/phantomjs-shim/node_modules/autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "dependencies": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" - } - }, - "node_modules/phantomjs-shim/node_modules/browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "deprecated": "Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.", - "dev": true, - "dependencies": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - }, - "bin": { - "browserslist": "cli.js" - } - }, - "node_modules/phantomjs-shim/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/phantomjs-shim/node_modules/chalk/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/phantomjs-shim/node_modules/has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/phantomjs-shim/node_modules/postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "dependencies": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/phantomjs-shim/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/phantomjs-shim/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/phantomjs-shim/node_modules/supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "dependencies": { - "has-flag": "^1.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/pick-by-alias": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pick-by-alias/-/pick-by-alias-1.2.0.tgz", - "integrity": "sha1-X3yysfIabh6ISgyHhVqko3NhEHs=" - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "engines": { - "node": ">=8.6" - } - }, - "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/pivottable": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/pivottable/-/pivottable-2.23.0.tgz", - "integrity": "sha512-6WRaiiI0mU5JxzNMWbtf3vfrBvBhBPIUbwu2Q7Nv7fVCxIvlmFqXSldMwmHAsiEFwdZdUrpQHqIu+N3jZUezyg==", - "dependencies": { - "jquery": ">=1.9.0" - } - }, - "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/planar-dual": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/planar-dual/-/planar-dual-1.0.2.tgz", - "integrity": "sha1-tqQjVSOxsMt55fkm+OozXdmC1WM=", - "dependencies": { - "compare-angle": "^1.0.0", - "dup": "^1.0.0" - } - }, - "node_modules/planar-graph-to-polyline": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/planar-graph-to-polyline/-/planar-graph-to-polyline-1.0.5.tgz", - "integrity": "sha1-iCuGBRmbqIv9RkyVUzA1VsUrmIo=", - "dependencies": { - "edges-to-adjacency-list": "^1.0.0", - "planar-dual": "^1.0.0", - "point-in-big-polygon": "^2.0.0", - "robust-orientation": "^1.0.1", - "robust-sum": "^1.0.0", - "two-product": "^1.0.0", - "uniq": "^1.0.0" - } - }, - "node_modules/plotly-icons": { - "version": "1.3.15", - "resolved": "https://registry.npmjs.org/plotly-icons/-/plotly-icons-1.3.15.tgz", - "integrity": "sha512-0k9zlvlFtXHzMvSSOhqt42d6jy13N5ueF8VLaL7S43SHE/+DTaO8W8jeFXQj5V1lRd7vkaYp9ACxNtMfByH04Q==", - "dependencies": { - "mdi-react": "5.2.0", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": ">15", - "react-dom": ">15" - } - }, - "node_modules/plotly.js": { - "version": "1.58.4", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-1.58.4.tgz", - "integrity": "sha512-hdt/aEvkPjS1HJ7tJKcPqsqi9ErEZPhUFs4d2ANTLeBim+AmVcHzS1rtwr7ZrVCINgliW/+92u81omJoy+lbUw==", - "dependencies": { - "@plotly/d3-sankey": "0.7.2", - "@plotly/d3-sankey-circular": "0.33.1", - "@plotly/point-cluster": "^3.1.9", - "@turf/area": "^6.0.1", - "@turf/bbox": "^6.0.1", - "@turf/centroid": "^6.0.2", - "alpha-shape": "^1.0.0", - "canvas-fit": "^1.5.0", - "color-alpha": "1.0.4", - "color-normalize": "1.5.0", - "color-parse": "1.3.8", - "color-rgba": "2.1.1", - "convex-hull": "^1.0.3", - "country-regex": "^1.1.0", - "d3": "^3.5.17", - "d3-force": "^1.2.1", - "d3-hierarchy": "^1.1.9", - "d3-interpolate": "^1.4.0", - "d3-time-format": "^2.2.3", - "delaunay-triangulate": "^1.1.6", - "es6-promise": "^4.2.8", - "fast-isnumeric": "^1.1.4", - "gl-cone3d": "^1.5.2", - "gl-contour2d": "^1.1.7", - "gl-error3d": "^1.0.16", - "gl-heatmap2d": "^1.1.0", - "gl-line3d": "1.2.1", - "gl-mat4": "^1.2.0", - "gl-mesh3d": "^2.3.1", - "gl-plot2d": "^1.4.5", - "gl-plot3d": "^2.4.7", - "gl-pointcloud2d": "^1.0.3", - "gl-scatter3d": "^1.2.3", - "gl-select-box": "^1.0.4", - "gl-spikes2d": "^1.0.2", - "gl-streamtube3d": "^1.4.1", - "gl-surface3d": "^1.6.0", - "gl-text": "^1.1.8", - "glslify": "^7.1.1", - "has-hover": "^1.0.1", - "has-passive-events": "^1.0.0", - "image-size": "^0.7.5", - "is-mobile": "^2.2.2", - "mapbox-gl": "1.10.1", - "matrix-camera-controller": "^2.1.3", - "mouse-change": "^1.4.0", - "mouse-event-offset": "^3.0.2", - "mouse-wheel": "^1.2.0", - "ndarray": "^1.0.19", - "ndarray-linear-interpolate": "^1.0.0", - "parse-svg-path": "^0.1.2", - "polybooljs": "^1.2.0", - "regl": "^1.6.1", - "regl-error2d": "^2.0.11", - "regl-line2d": "^3.0.18", - "regl-scatter2d": "^3.2.1", - "regl-splom": "^1.0.12", - "right-now": "^1.0.0", - "robust-orientation": "^1.1.3", - "sane-topojson": "^4.0.0", - "strongly-connected-components": "^1.0.1", - "superscript-text": "^1.0.0", - "svg-path-sdf": "^1.1.3", - "tinycolor2": "^1.4.2", - "to-px": "1.0.1", - "topojson-client": "^3.1.0", - "webgl-context": "^2.2.0", - "world-calendars": "^1.0.3" - } - }, - "node_modules/plotly.js/node_modules/color-alpha": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.0.4.tgz", - "integrity": "sha512-lr8/t5NPozTSqli+duAN+x+no/2WaKTeWvxhHGN+aXT6AJ8vPlzLa7UriyjWak0pSC2jHol9JgjBYnnHsGha9A==", - "dependencies": { - "color-parse": "^1.3.8" - } - }, - "node_modules/plotly.js/node_modules/color-normalize": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/color-normalize/-/color-normalize-1.5.0.tgz", - "integrity": "sha512-rUT/HDXMr6RFffrR53oX3HGWkDOP9goSAQGBkUaAYKjOE2JxozccdGyufageWDlInRAjm/jYPrf/Y38oa+7obw==", - "dependencies": { - "clamp": "^1.0.1", - "color-rgba": "^2.1.1", - "dtype": "^2.0.0" - } - }, - "node_modules/plotly.js/node_modules/color-parse": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.3.8.tgz", - "integrity": "sha512-1Y79qFv0n1xair3lNMTNeoFvmc3nirMVBij24zbs1f13+7fPpQClMg5b4AuKXLt3szj7BRlHMCXHplkce6XlmA==", - "dependencies": { - "color-name": "^1.0.0", - "defined": "^1.0.0", - "is-plain-obj": "^1.1.0" - } - }, - "node_modules/plotly.js/node_modules/color-rgba": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-2.1.1.tgz", - "integrity": "sha512-VaX97wsqrMwLSOR6H7rU1Doa2zyVdmShabKrPEIFywLlHoibgD3QW9Dw6fSqM4+H/LfjprDNAUUW31qEQcGzNw==", - "dependencies": { - "clamp": "^1.0.1", - "color-parse": "^1.3.8", - "color-space": "^1.14.6" - } - }, - "node_modules/plotly.js/node_modules/to-px": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz", - "integrity": "sha1-W7rtXl1PdkRbzJA8KTojB90yRkY=", - "dependencies": { - "parse-unit": "^1.0.1" - } - }, - "node_modules/pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dev": true, - "dependencies": { - "ts-pnp": "^1.1.6" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/point-in-big-polygon": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/point-in-big-polygon/-/point-in-big-polygon-2.0.0.tgz", - "integrity": "sha1-ObYT6mzxfWtD4Yj3fzTETGszulU=", - "dependencies": { - "binary-search-bounds": "^1.0.0", - "interval-tree-1d": "^1.0.1", - "robust-orientation": "^1.1.3", - "slab-decomposition": "^1.0.1" - } - }, - "node_modules/polybooljs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/polybooljs/-/polybooljs-1.2.0.tgz", - "integrity": "sha1-tDkMLgedTCYtOyUExiiNlbp6R1g=" - }, - "node_modules/polytope-closest-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/polytope-closest-point/-/polytope-closest-point-1.0.0.tgz", - "integrity": "sha1-5uV/QIGrXox3i4Ee8G4sSK4zjD8=", - "dependencies": { - "numeric": "^1.2.6" - } - }, - "node_modules/portfinder": { - "version": "1.0.27", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.27.tgz", - "integrity": "sha512-bJ3U3MThKnyJ9Dx1Idtm5pQmxXqw08+XOHhi/Lie8OF1OlhVaBFhsntAIhkZYjfDcCzszSr0w1yCbccThhzgxQ==", - "dev": true, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "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.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", - "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.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", - "dev": true, - "dependencies": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - }, - "engines": { - "node": ">= 4" - } - }, - "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.2", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", - "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", - "dev": true, - "dependencies": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.16", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.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/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.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dev": true, - "dependencies": { - "is-svg": "^3.0.0", - "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.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - }, - "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/postcss/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/potpack": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.1.tgz", - "integrity": "sha512-15vItUAbViaYrmaB/Pbw7z6qX2xENbFSTA7Ii4tgbPtasxm5v6ryKhKtL91tpWovDJzTiZqdwzhcFBCwiMVdVw==" - }, - "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=", - "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": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "optional": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pretty": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", - "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", - "dev": true, - "dependencies": { - "condense-newlines": "^0.2.1", - "extend-shallow": "^2.0.1", - "js-beautify": "^1.6.12" - }, - "engines": { - "node": ">=0.10.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.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "dependencies": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "node_modules/pretty/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/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "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==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dependencies": { - "asap": "~2.0.3" - } - }, - "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/promise-worker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-worker/-/promise-worker-2.0.1.tgz", - "integrity": "sha512-jR7vHqMEwWJ15i9vA3qyCKwRHihyLJp1sAa3RyY5F35m3u5s2lQUfq0nzVjbA8Xc7+3mL3Y9+9MHBO9UFRpFxA==" - }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "node_modules/protocol-buffers-schema": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.4.0.tgz", - "integrity": "sha512-G/2kcamPF2S49W5yaMGdIpkG6+5wZF0fzBteLKgEHjbNzqjZQ85aAs1iJGto31EJaSTkNvHs5IXuHSaTLWBAiA==" - }, - "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dev": true, - "dependencies": { - "forwarded": "~0.1.2", - "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.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "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/pxls": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/pxls/-/pxls-2.3.2.tgz", - "integrity": "sha512-pQkwgbLqWPcuES5iEmGa10OlCf5xG0blkIF3dg7PpRZShbTYcvAdfFfGL03SMrkaSUaa/V0UpN9HWg40O2AIIw==", - "dependencies": { - "arr-flatten": "^1.1.0", - "compute-dims": "^1.1.0", - "flip-pixels": "^1.0.2", - "is-browser": "^2.1.0", - "is-buffer": "^2.0.3", - "to-uint8": "^1.4.1" - } - }, - "node_modules/pxls/node_modules/is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "engines": { - "node": ">=4" - } - }, - "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/qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true, - "engines": { - "node": ">=0.9" - } - }, - "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/quantize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/quantize/-/quantize-1.0.2.tgz", - "integrity": "sha1-0lrCAKd7bXD0ASfKFxoQ4zyFRt4=", - "engines": { - "node": ">=0.10.21" - } - }, - "node_modules/quat-slerp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/quat-slerp/-/quat-slerp-1.0.1.tgz", - "integrity": "sha1-K6oVzjprvcMkHZcusXKDE57Wnyk=", - "dependencies": { - "gl-quat": "^1.0.0" - } - }, - "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=", - "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.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", - "dev": true - }, - "node_modules/quickselect": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", - "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" - }, - "node_modules/raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dependencies": { - "performance-now": "^2.1.0" - } - }, - "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/rat-vec": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/rat-vec/-/rat-vec-1.1.1.tgz", - "integrity": "sha1-Dd4rZrezS7G80qI4BerIBth/0X8=", - "dependencies": { - "big-rat": "^1.0.3" - } - }, - "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dev": true, - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc-align": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-2.4.5.tgz", - "integrity": "sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==", - "dependencies": { - "babel-runtime": "^6.26.0", - "dom-align": "^1.7.0", - "prop-types": "^15.5.8", - "rc-util": "^4.0.4" - } - }, - "node_modules/rc-animate": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-2.11.1.tgz", - "integrity": "sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ==", - "dependencies": { - "babel-runtime": "6.x", - "classnames": "^2.2.6", - "css-animation": "^1.3.2", - "prop-types": "15.x", - "raf": "^3.4.0", - "rc-util": "^4.15.3", - "react-lifecycles-compat": "^3.0.4" - } - }, - "node_modules/rc-slider": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-8.7.1.tgz", - "integrity": "sha512-WMT5mRFUEcrLWwTxsyS8jYmlaMsTVCZIGENLikHsNv+tE8ThU2lCoPfi/xFNUfJFNFSBFP3MwPez9ZsJmNp13g==", - "dependencies": { - "babel-runtime": "6.x", - "classnames": "^2.2.5", - "prop-types": "^15.5.4", - "rc-tooltip": "^3.7.0", - "rc-util": "^4.0.4", - "react-lifecycles-compat": "^3.0.4", - "shallowequal": "^1.1.0", - "warning": "^4.0.3" - } - }, - "node_modules/rc-tooltip": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-3.7.3.tgz", - "integrity": "sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww==", - "dependencies": { - "babel-runtime": "6.x", - "prop-types": "^15.5.8", - "rc-trigger": "^2.2.2" - } - }, - "node_modules/rc-trigger": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.6.5.tgz", - "integrity": "sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw==", - "dependencies": { - "babel-runtime": "6.x", - "classnames": "^2.2.6", - "prop-types": "15.x", - "rc-align": "^2.4.0", - "rc-animate": "2.x", - "rc-util": "^4.4.0", - "react-lifecycles-compat": "^3.0.4" - } - }, - "node_modules/rc-util": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", - "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", - "dependencies": { - "add-dom-event-listener": "^1.1.0", - "prop-types": "^15.5.10", - "react-is": "^16.12.0", - "react-lifecycles-compat": "^3.0.4", - "shallowequal": "^1.1.0" - } - }, - "node_modules/react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-chart-editor": { - "version": "0.45.0", - "resolved": "https://registry.npmjs.org/react-chart-editor/-/react-chart-editor-0.45.0.tgz", - "integrity": "sha512-/SurlIFait/BbWhq7sd8gIPr5MbhjPgrNY+d4V3sH6R/BjUocN/5SqUhQGknOUkxH8Fu4V+qn/8GsjYRFvk5NA==", - "dependencies": { - "@plotly/draft-js-export-html": "1.2.0", - "classnames": "2.2.6", - "draft-js": "0.11.7", - "draft-js-import-html": "1.4.1", - "draft-js-utils": "1.4.0", - "fast-isnumeric": "1.1.4", - "immutability-helper": "3.1.1", - "plotly-icons": "1.3.15", - "plotly.js": "1.58.x", - "prop-types": "15.7.2", - "raf": "3.4.1", - "react-color": "2.19.3", - "react-colorscales": "0.7.3", - "react-day-picker": "7.4.8", - "react-dropzone": "10.2.2", - "react-plotly.js": "2.5.1", - "react-rangeslider": "2.2.0", - "react-resizable-rotatable-draggable": "0.2.0", - "react-select": "2.4.4", - "react-tabs": "3.2.1", - "styled-components": "5.2.1", - "tinycolor2": "1.4.2" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "react": ">15", - "react-dom": ">15" - } - }, - "node_modules/react-color": { - "version": "2.19.3", - "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz", - "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", - "dependencies": { - "@icons/material": "^0.2.4", - "lodash": "^4.17.15", - "lodash-es": "^4.17.15", - "material-colors": "^1.2.1", - "prop-types": "^15.5.10", - "reactcss": "^1.2.0", - "tinycolor2": "^1.4.1" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-colorscales": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/react-colorscales/-/react-colorscales-0.7.3.tgz", - "integrity": "sha512-cekeF6mgATIwG257lu4aan2uF3AaiLmI4XvC1Sf2x+KKfCM6J8Ogl4eoO8ii2Cy/ddb+bL1QNnjN9KSQmbGc2Q==", - "dependencies": { - "chroma-js": "^1.3.4", - "rc-slider": "^8.4.0", - "react-select": "^1.2.1" - } - }, - "node_modules/react-colorscales/node_modules/react-select": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-1.3.0.tgz", - "integrity": "sha512-g/QAU1HZrzSfxkwMAo/wzi6/ezdWye302RGZevsATec07hI/iSxcpB1hejFIp7V63DJ8mwuign6KmB3VjdlinQ==", - "dependencies": { - "classnames": "^2.2.4", - "prop-types": "^15.5.8", - "react-input-autosize": "^2.1.2" - } - }, - "node_modules/react-day-picker": { - "version": "7.4.8", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.4.8.tgz", - "integrity": "sha512-pp0hnxFVoRuBQcRdR1Hofw4CQtOCGVmzCNrscyvS0Q8NEc+UiYLEDqE5dk37bf0leSnBW4lheIt0CKKhuKzDVw==", - "dependencies": { - "prop-types": "^15.6.2" - } - }, - "node_modules/react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - }, - "node_modules/react-dropzone": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-10.2.2.tgz", - "integrity": "sha512-U5EKckXVt6IrEyhMMsgmHQiWTGLudhajPPG77KFSvgsMqNEHSyGpqWvOMc5+DhEah/vH4E1n+J5weBNLd5VtyA==", - "dependencies": { - "attr-accept": "^2.0.0", - "file-selector": "^0.1.12", - "prop-types": "^15.7.2" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/react-input-autosize": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.2.tgz", - "integrity": "sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==", - "dependencies": { - "prop-types": "^15.5.8" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "node_modules/react-plotly.js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/react-plotly.js/-/react-plotly.js-2.5.1.tgz", - "integrity": "sha512-Oya14whSHvPsYXdI0nHOGs1pZhMzV2edV7HAW1xFHD58Y73m/LbG2Encvyz1tztL0vfjph0JNhiwO8cGBJnlhg==", - "dependencies": { - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "plotly.js": ">1.34.0", - "react": ">0.13.0" - } - }, - "node_modules/react-rangeslider": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/react-rangeslider/-/react-rangeslider-2.2.0.tgz", - "integrity": "sha512-5K7Woa+cyqZ5wiW5+KhqGV+3+FiFxGKQ9rUxTMh52sObXVYEeBbfxFrp1eBvS8mRIxnUbHz9ppnFP0LhwOyNeg==", - "dependencies": { - "classnames": "^2.2.3", - "resize-observer-polyfill": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-resizable-rotatable-draggable": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/react-resizable-rotatable-draggable/-/react-resizable-rotatable-draggable-0.2.0.tgz", - "integrity": "sha512-F8TPx3z7/AcmRViySbYV3LpUWXFpHlGAmKmNcYMgPlS+h1eYFazRG3xYS8Z6e48hWY1EcCny/YNrwRNUrap8CQ==", - "engines": { - "node": ">=8", - "npm": ">=6" - } - }, - "node_modules/react-select": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.4.4.tgz", - "integrity": "sha512-C4QPLgy9h42J/KkdrpVxNmkY6p4lb49fsrbDk/hRcZpX7JvZPNb6mGj+c5SzyEtBv1DmQ9oPH4NmhAFvCrg8Jw==", - "dependencies": { - "classnames": "^2.2.5", - "emotion": "^9.1.2", - "memoize-one": "^5.0.0", - "prop-types": "^15.6.0", - "raf": "^3.4.0", - "react-input-autosize": "^2.2.1", - "react-transition-group": "^2.2.1" - } - }, - "node_modules/react-tabs": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-3.2.1.tgz", - "integrity": "sha512-M7ERQvJgBVLTyojFmC3G4tpaJuMmUtsnYenVQm2oA1NjDrGXq1UuzHgxhVTDwimkJcKEbzgWCybXFSHQ/+2bsA==", - "dependencies": { - "clsx": "^1.1.0", - "prop-types": "^15.5.0" - }, - "peerDependencies": { - "react": "^16.3.0 || ^17.0.0-0" - } - }, - "node_modules/react-transition-group": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", - "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", - "dependencies": { - "dom-helpers": "^3.4.0", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" - } - }, - "node_modules/reactcss": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", - "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", - "dependencies": { - "lodash": "^4.0.1" - } - }, - "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-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "dependencies": { - "pify": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/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/read-pkg-up/node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "dependencies": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/redent/node_modules/indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/redent/node_modules/strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "dependencies": { - "get-stdin": "^4.0.1" - }, - "bin": { - "strip-indent": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/reduce-simplicial-complex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/reduce-simplicial-complex/-/reduce-simplicial-complex-1.0.0.tgz", - "integrity": "sha1-dNaWovg196bc2SBl/YxRgfLt+Lw=", - "dependencies": { - "cell-orientation": "^1.0.1", - "compare-cell": "^1.0.0", - "compare-oriented-cell": "^1.0.1" - } - }, - "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": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "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/regex-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regex-regex/-/regex-regex-1.0.0.tgz", - "integrity": "sha1-kEih6uuHD01IDavHb8Qs3MC8OnI=" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "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.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", - "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/regl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/regl/-/regl-1.7.0.tgz", - "integrity": "sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==" - }, - "node_modules/regl-error2d": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/regl-error2d/-/regl-error2d-2.0.11.tgz", - "integrity": "sha512-Bv4DbLtDU69GXPSm+NvlVWzT82oQ8M2FK+SxzkyaYMlA9izZRdLmDADqBSyJTnPWiRT4a/2KA+MP+WI0N0yt7Q==", - "dependencies": { - "array-bounds": "^1.0.1", - "color-normalize": "^1.5.0", - "flatten-vertex-data": "^1.0.2", - "object-assign": "^4.1.1", - "pick-by-alias": "^1.2.0", - "to-float32": "^1.0.1", - "update-diff": "^1.1.0" - } - }, - "node_modules/regl-line2d": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/regl-line2d/-/regl-line2d-3.0.18.tgz", - "integrity": "sha512-yX1TlV0SHBdn8EkU+9K+K19qx7WSDOchrKx+h43rE2NCWuPlVj/MPDgrIXnzhnd42XhQtvvnkSc7aCSLjGAhZQ==", - "dependencies": { - "array-bounds": "^1.0.1", - "array-normalize": "^1.1.4", - "color-normalize": "^1.5.0", - "earcut": "^2.1.5", - "es6-weak-map": "^2.0.3", - "flatten-vertex-data": "^1.0.2", - "glslify": "^7.0.0", - "object-assign": "^4.1.1", - "parse-rect": "^1.2.0", - "pick-by-alias": "^1.2.0", - "to-float32": "^1.0.1" - } - }, - "node_modules/regl-scatter2d": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.1.tgz", - "integrity": "sha512-qxUCK5kXuoVZin2gPLXkgkBfRr3XLobVgEfn5N0fiprsb/ncTCtSNVBqP0EJgNb115R+FXte9LKA9YrFx7uBnA==", - "dependencies": { - "@plotly/point-cluster": "^3.1.9", - "array-range": "^1.0.1", - "array-rearrange": "^2.2.2", - "clamp": "^1.0.1", - "color-id": "^1.1.0", - "color-normalize": "^1.5.0", - "color-rgba": "^2.1.1", - "flatten-vertex-data": "^1.0.2", - "glslify": "^7.0.0", - "image-palette": "^2.1.0", - "is-iexplorer": "^1.0.0", - "object-assign": "^4.1.1", - "parse-rect": "^1.2.0", - "pick-by-alias": "^1.2.0", - "to-float32": "^1.0.1", - "update-diff": "^1.1.0" - } - }, - "node_modules/regl-splom": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/regl-splom/-/regl-splom-1.0.12.tgz", - "integrity": "sha512-LliMmAQ6wJFuPiLxZgYOFOzjhWcrIWPbS3Vf763Twl6R8eKpuUyRHZ54q+hxWGYwICHoPCBKMs7pVAJi8Iv7/w==", - "dependencies": { - "array-bounds": "^1.0.1", - "array-range": "^1.0.1", - "color-alpha": "^1.0.4", - "flatten-vertex-data": "^1.0.2", - "parse-rect": "^1.2.0", - "pick-by-alias": "^1.2.0", - "raf": "^3.4.1", - "regl-scatter2d": "^3.1.9" - } - }, - "node_modules/regl-splom/node_modules/glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "dependencies": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - }, - "bin": { - "glslify": "bin.js" - } - }, - "node_modules/regl-splom/node_modules/regl-scatter2d": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.1.tgz", - "integrity": "sha512-qxUCK5kXuoVZin2gPLXkgkBfRr3XLobVgEfn5N0fiprsb/ncTCtSNVBqP0EJgNb115R+FXte9LKA9YrFx7uBnA==", - "dependencies": { - "@plotly/point-cluster": "^3.1.9", - "array-range": "^1.0.1", - "array-rearrange": "^2.2.2", - "clamp": "^1.0.1", - "color-id": "^1.1.0", - "color-normalize": "^1.5.0", - "color-rgba": "^2.1.1", - "flatten-vertex-data": "^1.0.2", - "glslify": "^7.0.0", - "image-palette": "^2.1.0", - "is-iexplorer": "^1.0.0", - "object-assign": "^4.1.1", - "parse-rect": "^1.2.0", - "pick-by-alias": "^1.2.0", - "to-float32": "^1.0.1", - "update-diff": "^1.1.0" - } - }, - "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.3", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", - "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", - "dev": true, - "dependencies": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - } - }, - "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/css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "dependencies": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "node_modules/renderkid/node_modules/css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "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.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "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=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "dependencies": { - "is-finite": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "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/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.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dependencies": { - "path-parse": "^1.0.6" - } - }, - "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/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-protobuf-schema": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", - "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", - "dependencies": { - "protocol-buffers-schema": "^3.3.1" - } - }, - "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=", - "dev": true - }, - "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/resumer": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", - "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", - "dependencies": { - "through": "~2.3.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/rfdc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", - "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", - "dev": true - }, - "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/right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "peer": true, - "dependencies": { - "align-text": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/right-now": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz", - "integrity": "sha1-bolgne69fc2vja7Mmuo5z1haCRg=" - }, - "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/robust-compress": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-compress/-/robust-compress-1.0.0.tgz", - "integrity": "sha1-TPYsSzGNgwhRYBK7jBF1Lzkymxs=" - }, - "node_modules/robust-determinant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/robust-determinant/-/robust-determinant-1.1.0.tgz", - "integrity": "sha1-jsrnm3nKqz509t6+IjflORon6cc=", - "dependencies": { - "robust-compress": "^1.0.0", - "robust-scale": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.0" - } - }, - "node_modules/robust-dot-product": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-dot-product/-/robust-dot-product-1.0.0.tgz", - "integrity": "sha1-yboBeL0sMEv9cl9Y6Inx2UYARVM=", - "dependencies": { - "robust-sum": "^1.0.0", - "two-product": "^1.0.0" - } - }, - "node_modules/robust-in-sphere": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/robust-in-sphere/-/robust-in-sphere-1.1.3.tgz", - "integrity": "sha1-HFiD0WpOkjkpR27zSBmFe/Kpz3U=", - "dependencies": { - "robust-scale": "^1.0.0", - "robust-subtract": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.0" - } - }, - "node_modules/robust-linear-solve": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-linear-solve/-/robust-linear-solve-1.0.0.tgz", - "integrity": "sha1-DNasUEBpGm8qo81jEdcokFyjofE=", - "dependencies": { - "robust-determinant": "^1.1.0" - } - }, - "node_modules/robust-orientation": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/robust-orientation/-/robust-orientation-1.1.3.tgz", - "integrity": "sha1-2v9bANO+TmByLw6cAVbvln8cIEk=", - "dependencies": { - "robust-scale": "^1.0.2", - "robust-subtract": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.2" - } - }, - "node_modules/robust-product": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-product/-/robust-product-1.0.0.tgz", - "integrity": "sha1-aFJQAHzbunzx3nW/9tKScBEJir4=", - "dependencies": { - "robust-scale": "^1.0.0", - "robust-sum": "^1.0.0" - } - }, - "node_modules/robust-scale": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/robust-scale/-/robust-scale-1.0.2.tgz", - "integrity": "sha1-d1Ey7QlULQKOWLLMecBikLz3jDI=", - "dependencies": { - "two-product": "^1.0.2", - "two-sum": "^1.0.0" - } - }, - "node_modules/robust-segment-intersect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/robust-segment-intersect/-/robust-segment-intersect-1.0.1.tgz", - "integrity": "sha1-MlK2oPwboUreaRXMvgnLzpqrHBw=", - "dependencies": { - "robust-orientation": "^1.1.3" - } - }, - "node_modules/robust-subtract": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-subtract/-/robust-subtract-1.0.0.tgz", - "integrity": "sha1-4LFk4e2LpOOl3aRaEgODSNvtPpo=" - }, - "node_modules/robust-sum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-sum/-/robust-sum-1.0.0.tgz", - "integrity": "sha1-FmRuUlKStNJdgnV6KGlV4Lv6U9k=" - }, - "node_modules/rollup": { - "version": "2.46.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.46.0.tgz", - "integrity": "sha512-qPGoUBNl+Z8uNu0z7pD3WPTABWRbcOwIrO/5ccDJzmrtzn0LVf6Lj91+L5CcWhXl6iWf23FQ6m8Jkl2CmN1O7Q==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0" - } - }, - "node_modules/rollup-plugin-terser/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/rollup-plugin-terser/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/rollup-plugin-terser/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/rollup-plugin-terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/rollup-plugin-terser/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/rollup-plugin-terser/node_modules/terser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "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/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" - }, - "node_modules/rxjs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", - "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "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==", - "dev": true - }, - "node_modules/sane-topojson": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/sane-topojson/-/sane-topojson-4.0.0.tgz", - "integrity": "sha512-bJILrpBboQfabG3BNnHI2hZl52pbt80BE09u4WhnrmzuF2JbMKZdl62G5glXskJ46p+gxE2IzOwGj/awR4g8AA==" - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "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, - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - } - }, - "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.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", - "dev": true, - "dependencies": { - "node-forge": "0.9.0" - } - }, - "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/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "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.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "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/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", - "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.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "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/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "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/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallow-copy": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" - }, - "node_modules/shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "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.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "node_modules/shelljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "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==", - "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/sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/signum": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/signum/-/signum-0.0.0.tgz", - "integrity": "sha1-q1UbEAM1EHCnBHg/GgnF52kfnPY=" - }, - "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/simplicial-complex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-1.0.0.tgz", - "integrity": "sha1-bDOk7Wn81Nkbe8rdOzC2NoPq4kE=", - "dependencies": { - "bit-twiddle": "^1.0.0", - "union-find": "^1.0.0" - } - }, - "node_modules/simplicial-complex-boundary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simplicial-complex-boundary/-/simplicial-complex-boundary-1.0.1.tgz", - "integrity": "sha1-csn/HiTeqjdMm7L6DL8MCB6++BU=", - "dependencies": { - "boundary-cells": "^2.0.0", - "reduce-simplicial-complex": "^1.0.0" - } - }, - "node_modules/simplicial-complex-contour": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/simplicial-complex-contour/-/simplicial-complex-contour-1.0.2.tgz", - "integrity": "sha1-iQqsrChDZTQBEFRc8mKaJuBL+dE=", - "dependencies": { - "marching-simplex-table": "^1.0.0", - "ndarray": "^1.0.15", - "ndarray-sort": "^1.0.0", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/simplify-planar-graph": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/simplify-planar-graph/-/simplify-planar-graph-2.0.1.tgz", - "integrity": "sha1-vIWJNyXzLo+oriVoE5hEbSy892Y=", - "dependencies": { - "robust-orientation": "^1.0.1", - "simplicial-complex": "^0.3.3" - } - }, - "node_modules/simplify-planar-graph/node_modules/bit-twiddle": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-0.0.2.tgz", - "integrity": "sha1-wurruVKjuUrMFASX4c3NLxoz9Y4=" - }, - "node_modules/simplify-planar-graph/node_modules/simplicial-complex": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-0.3.3.tgz", - "integrity": "sha1-TDDK1X+eRXKd2PMGyHU1efRr6Z4=", - "dependencies": { - "bit-twiddle": "~0.0.1", - "union-find": "~0.0.3" - } - }, - "node_modules/simplify-planar-graph/node_modules/union-find": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/union-find/-/union-find-0.0.4.tgz", - "integrity": "sha1-uFSzMBYZva0USwAUx4+W6sDS8PY=" - }, - "node_modules/sinon": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.5.0.tgz", - "integrity": "sha512-AoD0oJWerp0/rY9czP/D6hDTTUYGpObhZjMpd7Cl/A6+j0xBE+ayL/ldfggkBXUs0IkvIiM1ljM8+WkOc5k78Q==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.4.0", - "@sinonjs/formatio": "^3.2.1", - "@sinonjs/samsam": "^3.3.3", - "diff": "^3.5.0", - "lolex": "^4.2.0", - "nise": "^1.5.2", - "supports-color": "^5.5.0" - } - }, - "node_modules/sinon-chai": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.5.0.tgz", - "integrity": "sha512-IifbusYiQBpUxxFJkR3wTU68xzBN0+bxCScEaKMjBvAQERg6FnTTc1F17rseLb1tjmkJ23730AXpFI0c47FgAg==", - "dev": true, - "peerDependencies": { - "chai": "^4.0.0", - "sinon": ">=4.0.0 <10.0.0" - } - }, - "node_modules/slab-decomposition": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/slab-decomposition/-/slab-decomposition-1.0.2.tgz", - "integrity": "sha1-He1WdU1AixBznxRRA9/GGAf2UTQ=", - "dependencies": { - "binary-search-bounds": "^1.0.0", - "functional-red-black-tree": "^1.0.0", - "robust-orientation": "^1.1.3" - } - }, - "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/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi/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/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-node/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/snapdragon-node/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/snapdragon-node/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/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/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", - "dev": true, - "dependencies": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", - "dev": true - }, - "node_modules/socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", - "dev": true, - "dependencies": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", - "to-array": "0.1.4" - } - }, - "node_modules/socket.io-client/node_modules/component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/socket.io-client/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/socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", - "dev": true, - "dependencies": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - } - }, - "node_modules/socket.io-parser/node_modules/component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "node_modules/socket.io-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/socket.io/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/socket.io/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.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", - "dev": true, - "dependencies": { - "faye-websocket": "^0.10.0", - "uuid": "^3.4.0", - "websocket-driver": "0.6.5" - } - }, - "node_modules/sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", - "dev": true, - "dependencies": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - } - }, - "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/sockjs-client/node_modules/faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "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/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-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.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "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.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "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.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "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-polygon": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/split-polygon/-/split-polygon-1.0.0.tgz", - "integrity": "sha1-DqzIoTanaxKj2VJW6n2kXbDC0kc=", - "dependencies": { - "robust-dot-product": "^1.0.0", - "robust-sum": "^1.0.0" - } - }, - "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=" - }, - "node_modules/sql.js": { - "resolved": "lib/sql-js", - "link": true - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "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": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "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-trace": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", - "engines": { - "node": "*" - } - }, - "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-eval": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", - "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", - "dependencies": { - "escodegen": "^1.11.1" - } - }, - "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/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==" - }, - "node_modules/streamroller": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", - "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", - "dev": true, - "dependencies": { - "date-format": "^1.2.0", - "debug": "^3.1.0", - "mkdirp": "^0.5.1", - "readable-stream": "^2.3.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/streamroller/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/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-split-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", - "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==", - "dependencies": { - "parenthesis": "^3.1.5" - } - }, - "node_modules/string-to-arraybuffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-to-arraybuffer/-/string-to-arraybuffer-1.0.2.tgz", - "integrity": "sha512-DaGZidzi93dwjQen5I2osxR9ERS/R7B1PFyufNMnzhj+fmlDQAc1DSDIJVJhgI8Oq221efIMbABUBdPHDRt43Q==", - "dependencies": { - "atob-lite": "^2.0.0", - "is-base64": "^0.1.0" - } - }, - "node_modules/string-to-arraybuffer/node_modules/atob-lite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", - "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=" - }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.2.tgz", - "integrity": "sha512-b5yrbl3BXIjHau9Prk7U0RRYcUYdN4wGSVaqoBQS50CCE3KBuYU0TYRNPFCP7aVoNMX87HKThdMRVIP3giclKg==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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==", - "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/stringify-object/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/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "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/strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", - "bin": { - "strip-json-comments": "cli.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/strongly-connected-components": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strongly-connected-components/-/strongly-connected-components-1.0.1.tgz", - "integrity": "sha1-CSDitN9nyOrulsa2I0/inoc9upk=" - }, - "node_modules/styled-components": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.2.1.tgz", - "integrity": "sha512-sBdgLWrCFTKtmZm/9x7jkIabjFNVzCUeKfoQsM6R3saImkUnjx0QYdLwJHBjY9ifEcmjDamJDVfknWm1yxZPxQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/traverse": "^7.4.5", - "@emotion/is-prop-valid": "^0.8.8", - "@emotion/stylis": "^0.8.4", - "@emotion/unitless": "^0.7.4", - "babel-plugin-styled-components": ">= 1", - "css-to-react-native": "^3.0.0", - "hoist-non-react-statics": "^3.0.0", - "shallowequal": "^1.1.0", - "supports-color": "^5.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/styled-components" - }, - "peerDependencies": { - "react": ">= 16.8.0", - "react-dom": ">= 16.8.0", - "react-is": ">= 16.8.0" - } - }, - "node_modules/styled-components/node_modules/@emotion/stylis": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", - "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" - }, - "node_modules/styled-components/node_modules/@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - }, - "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/stylis": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", - "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" - }, - "node_modules/stylis-rule-sheet": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", - "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" - }, - "node_modules/supercluster": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.0.tgz", - "integrity": "sha512-LDasImUAFMhTqhK+cUXfy9C2KTUqJ3gucLjmNLNFmKWOnDUBxLFLH9oKuXOTCLveecmxh8fbk8kgh6Q0gsfe2w==", - "dependencies": { - "kdbush": "^3.0.0" - } - }, - "node_modules/superscript-text": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/superscript-text/-/superscript-text-1.0.0.tgz", - "integrity": "sha1-58snUlZzYN9QvrBhDOjfPXHY39g=" - }, - "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/surface-nets": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/surface-nets/-/surface-nets-1.0.2.tgz", - "integrity": "sha1-5DPIy7qUpydMb0yZVStGG/H8eks=", - "dependencies": { - "ndarray-extract-contour": "^1.0.0", - "triangulate-hypercube": "^1.0.0", - "zero-crossings": "^1.0.0" - } - }, - "node_modules/svg-arc-to-cubic-bezier": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", - "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==" - }, - "node_modules/svg-path-bounds": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/svg-path-bounds/-/svg-path-bounds-1.0.1.tgz", - "integrity": "sha1-v0WLeDcmv1NDG0Yz8nkvYHSNn3Q=", - "dependencies": { - "abs-svg-path": "^0.1.1", - "is-svg-path": "^1.0.1", - "normalize-svg-path": "^1.0.0", - "parse-svg-path": "^0.1.2" - } - }, - "node_modules/svg-path-bounds/node_modules/normalize-svg-path": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", - "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", - "dependencies": { - "svg-arc-to-cubic-bezier": "^3.0.0" - } - }, - "node_modules/svg-path-sdf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/svg-path-sdf/-/svg-path-sdf-1.1.3.tgz", - "integrity": "sha512-vJJjVq/R5lSr2KLfVXVAStktfcfa1pNFjFOgyJnzZFXlO/fDZ5DmM8FpnSKKzLPfEYTVeXuVBTHF296TpxuJVg==", - "dependencies": { - "bitmap-sdf": "^1.0.0", - "draw-svg-path": "^1.0.0", - "is-svg-path": "^1.0.1", - "parse-svg-path": "^0.1.2", - "svg-path-bounds": "^1.0.1" - } - }, - "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==", - "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/synthetic-dom": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/synthetic-dom/-/synthetic-dom-1.4.0.tgz", - "integrity": "sha512-mHv51ZsmZ+ShT/4s5kg+MGUIhY7Ltq4v03xpN1c8T1Krb5pScsh/lzEjyhrVD0soVDbThbd2e+4dD9vnDG4rhg==" - }, - "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/table/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/table/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/table/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/table/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/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/tape": { - "version": "4.13.3", - "resolved": "https://registry.npmjs.org/tape/-/tape-4.13.3.tgz", - "integrity": "sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==", - "dependencies": { - "deep-equal": "~1.1.1", - "defined": "~1.0.0", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "function-bind": "~1.1.1", - "glob": "~7.1.6", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.0.5", - "minimist": "~1.2.5", - "object-inspect": "~1.7.0", - "resolve": "~1.17.0", - "resumer": "~0.0.0", - "string.prototype.trim": "~1.2.1", - "through": "~2.3.8" - }, - "bin": { - "tape": "bin/tape" - } - }, - "node_modules/tape/node_modules/is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dependencies": { - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/tape/node_modules/object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" - }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "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.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", - "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", - "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": "^3.1.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" - } - }, - "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/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/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/text-cache": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/text-cache/-/text-cache-4.2.2.tgz", - "integrity": "sha512-zky+UDYiX0a/aPw/YTBD+EzKMlCTu1chFuCMZeAkgoRiceySdROu1V2kJXhCbtEdBhiOviYnAdGiSYl58HW0ZQ==", - "dependencies": { - "vectorize-text": "^3.2.1" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "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" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "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.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dev": true, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "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/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/tinyqueue": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", - "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==" - }, - "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/to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "node_modules/to-array-buffer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/to-array-buffer/-/to-array-buffer-3.2.0.tgz", - "integrity": "sha512-zN33mwi0gpL+7xW1ITLfJ48CEj6ZQW0ZAP0MU+2W3kEY0PAIncyuxmD4OqkUVhPAbTP7amq9j/iwvZKYS+lzSQ==", - "dependencies": { - "flatten-vertex-data": "^1.0.2", - "is-blob": "^2.0.1", - "string-to-arraybuffer": "^1.0.0" - } - }, - "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-float32": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.0.1.tgz", - "integrity": "sha512-nOy2WSwae3xhZbc+05xiCuU3ZPPmH0L4Rg4Q1qiOGFSuNSCTB9nVJaGgGl3ZScxAclX/L8hJuDHJGDAzbfuKCQ==" - }, - "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-px": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.1.0.tgz", - "integrity": "sha512-bfg3GLYrGoEzrGoE05TAL/Uw+H/qrf2ptr9V3W7U0lkjjyYnIfgxmVLUfhQ1hZpIQwin81uxhDjvUkDYsC0xWw==", - "dependencies": { - "parse-unit": "^1.0.1" - } - }, - "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": "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/to-uint8": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/to-uint8/-/to-uint8-1.4.1.tgz", - "integrity": "sha512-o+ochsMlTZyucbww8It401FC2Rx+OP2RpDeYbA6h+y9HgedDl1UjdsJ9CmzKEG7AFP9es5PmJ4eDWeeeXihESg==", - "dependencies": { - "arr-flatten": "^1.1.0", - "clamp": "^1.0.1", - "is-base64": "^0.1.0", - "is-float-array": "^1.0.0", - "to-array-buffer": "^3.0.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/topojson-client": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", - "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", - "dependencies": { - "commander": "2" - }, - "bin": { - "topo2geo": "bin/topo2geo", - "topomerge": "bin/topomerge", - "topoquantize": "bin/topoquantize" - } - }, - "node_modules/touch": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/touch/-/touch-2.0.2.tgz", - "integrity": "sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A==", - "dependencies": { - "nopt": "~1.0.10" - }, - "bin": { - "nodetouch": "bin/nodetouch.js" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/touch/node_modules/nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "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/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/triangulate-hypercube": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/triangulate-hypercube/-/triangulate-hypercube-1.0.1.tgz", - "integrity": "sha1-2Acdsuv8/VHzCNC88qXEils20Tc=", - "dependencies": { - "gamma": "^0.1.0", - "permutation-parity": "^1.0.0", - "permutation-rank": "^1.0.0" - } - }, - "node_modules/triangulate-polyline": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/triangulate-polyline/-/triangulate-polyline-1.0.3.tgz", - "integrity": "sha1-v4uod6hQVBA/65+lphtOjXAXgU0=", - "dependencies": { - "cdt2d": "^1.0.0" - } - }, - "node_modules/trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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-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" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - }, - "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/turntable-camera-controller": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/turntable-camera-controller/-/turntable-camera-controller-3.0.1.tgz", - "integrity": "sha1-jb0/4AVQGRxlFky4iJcQSVeK/Zk=", - "dependencies": { - "filtered-vector": "^1.2.1", - "gl-mat4": "^1.0.2", - "gl-vec3": "^1.0.2" - } - }, - "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/two-product": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/two-product/-/two-product-1.0.2.tgz", - "integrity": "sha1-Z9ldSyV6kh4stL16+VEfkIhSLqo=" - }, - "node_modules/two-sum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/two-sum/-/two-sum-1.0.0.tgz", - "integrity": "sha1-MdPzIjnk9zHsqd+RVeKyl/AIq2Q=" - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "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.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/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-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", - "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=" - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/typedarray-pool": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", - "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", - "dependencies": { - "bit-twiddle": "^1.0.0", - "dup": "^1.0.0" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.22", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.22.tgz", - "integrity": "sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q==", - "engines": { - "node": "*" - } - }, - "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/uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, - "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==", - "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": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/union-find": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/union-find/-/union-find-1.0.2.tgz", - "integrity": "sha1-KSusQV5q06iVNdI3AQ20pTYoTlg=" - }, - "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/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "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/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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=" - }, - "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/update-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-diff/-/update-diff-1.1.0.tgz", - "integrity": "sha1-9RAYLYHugZ+4LDprIrYrve2ngI8=" - }, - "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.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "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=", - "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-join": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", - "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=", - "dev": true - }, - "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" - } - }, - "node_modules/url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "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/useragent": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", - "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", - "dev": true, - "dependencies": { - "lru-cache": "4.1.x", - "tmp": "0.0.x" - } - }, - "node_modules/useragent/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/useragent/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/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.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "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-copy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/utils-copy/-/utils-copy-1.1.1.tgz", - "integrity": "sha1-biuXmCqozXPhGCo+b4vsPA9AWKc=", - "dependencies": { - "const-pinf-float64": "^1.0.0", - "object-keys": "^1.0.9", - "type-name": "^2.0.0", - "utils-copy-error": "^1.0.0", - "utils-indexof": "^1.0.0", - "utils-regex-from-string": "^1.0.0", - "validate.io-array": "^1.0.3", - "validate.io-buffer": "^1.0.1", - "validate.io-nonnegative-integer": "^1.0.0" - } - }, - "node_modules/utils-copy-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-copy-error/-/utils-copy-error-1.0.1.tgz", - "integrity": "sha1-eR3jk8DwmJCv1Z88vqY18HmpT6U=", - "dependencies": { - "object-keys": "^1.0.9", - "utils-copy": "^1.1.0" - } - }, - "node_modules/utils-indexof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-indexof/-/utils-indexof-1.0.0.tgz", - "integrity": "sha1-IP6r8J7xAYtSNkPoOA57yD7GG1w=", - "dependencies": { - "validate.io-array-like": "^1.0.1", - "validate.io-integer-primitive": "^1.0.0" - } - }, - "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/utils-regex-from-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-regex-from-string/-/utils-regex-from-string-1.0.0.tgz", - "integrity": "sha1-/hopCfjeD/DVGCyA+8ZU1qaH0Yk=", - "dependencies": { - "regex-regex": "^1.0.0", - "validate.io-string-primitive": "^1.0.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==", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", - "dev": true - }, - "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/validate.io-array": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", - "integrity": "sha1-W1osr9j4uFq7L4hroVPy2Tond00=" - }, - "node_modules/validate.io-array-like": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/validate.io-array-like/-/validate.io-array-like-1.0.2.tgz", - "integrity": "sha1-evn363tRcVvrIhVmjsXM5U+t21o=", - "dependencies": { - "const-max-uint32": "^1.0.2", - "validate.io-integer-primitive": "^1.0.0" - } - }, - "node_modules/validate.io-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/validate.io-buffer/-/validate.io-buffer-1.0.2.tgz", - "integrity": "sha1-hS1nNAIZFNXROvwyUxdh43IO1E4=" - }, - "node_modules/validate.io-integer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", - "integrity": "sha1-FoSWSAuVviJH7EQ/IjPeT4mHgGg=", - "dependencies": { - "validate.io-number": "^1.0.3" - } - }, - "node_modules/validate.io-integer-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-integer-primitive/-/validate.io-integer-primitive-1.0.0.tgz", - "integrity": "sha1-qaoBA1X+hoHA/qbBp0rSQZyt3cY=", - "dependencies": { - "validate.io-number-primitive": "^1.0.0" - } - }, - "node_modules/validate.io-matrix-like": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/validate.io-matrix-like/-/validate.io-matrix-like-1.0.2.tgz", - "integrity": "sha1-XsMqddCInaxzbepovdYUWxVe38M=" - }, - "node_modules/validate.io-ndarray-like": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-ndarray-like/-/validate.io-ndarray-like-1.0.0.tgz", - "integrity": "sha1-2KOw7RZbvx0vwNAHMnDPpVIpWRk=" - }, - "node_modules/validate.io-nonnegative-integer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-nonnegative-integer/-/validate.io-nonnegative-integer-1.0.0.tgz", - "integrity": "sha1-gGkkOgjF+Y6VQTySnf17GPP28p8=", - "dependencies": { - "validate.io-integer": "^1.0.5" - } - }, - "node_modules/validate.io-number": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", - "integrity": "sha1-9j/+2iSL8opnqNSODjtGGhZluvg=" - }, - "node_modules/validate.io-number-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-number-primitive/-/validate.io-number-primitive-1.0.0.tgz", - "integrity": "sha1-0uAfICmJNp3PEVVElWQgOv5YTlU=" - }, - "node_modules/validate.io-positive-integer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-positive-integer/-/validate.io-positive-integer-1.0.0.tgz", - "integrity": "sha1-ftLQO0wnVYzGagCqsPDpIYFKZYI=", - "dependencies": { - "validate.io-integer": "^1.0.5" - } - }, - "node_modules/validate.io-string-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/validate.io-string-primitive/-/validate.io-string-primitive-1.0.1.tgz", - "integrity": "sha1-uBNbn7E3K94C/dU60dDM1t55j+4=" - }, - "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/vectorize-text": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/vectorize-text/-/vectorize-text-3.2.1.tgz", - "integrity": "sha512-rGojF+D9BB96iPZPUitfq5kaiS6eCJmfEel0NXOK/MzZSuXGiwhoop80PtaDas9/Hg/oaox1tI9g3h93qpuspg==", - "dependencies": { - "cdt2d": "^1.0.0", - "clean-pslg": "^1.1.0", - "ndarray": "^1.0.11", - "planar-graph-to-polyline": "^1.0.0", - "simplify-planar-graph": "^2.0.1", - "surface-nets": "^1.0.0", - "triangulate-polyline": "^1.0.0" - } - }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, - "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/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/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vt-pbf": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.1.tgz", - "integrity": "sha512-pHjWdrIoxurpmTcbfBWXaPwSmtPAHS105253P1qyEfSTV2HJddqjM+kIHquaT/L6lVJIk9ltTGc0IxR/G47hYA==", - "dependencies": { - "@mapbox/point-geometry": "0.1.0", - "@mapbox/vector-tile": "^1.3.1", - "pbf": "^3.0.5" - } - }, - "node_modules/vue": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz", - "integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==" - }, - "node_modules/vue-cli-plugin-ui-karma": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/vue-cli-plugin-ui-karma/-/vue-cli-plugin-ui-karma-0.2.5.tgz", - "integrity": "sha512-j8SrtpAi9j+N+I2c9XcRNNVpR9YdPYTj431Mkp4rkQkagDdnDymJXflBTja+goY4Uz7rPFcWjKd03KqHeVmz2g==", - "dev": true, - "dependencies": { - "@vue/test-utils": "^1.0.0-beta.29", - "babel-loader": "^8.0.4", - "chai": "^4.2.0", - "istanbul-instrumenter-loader": "^3.0.1", - "jasmine-core": "^3.3.0", - "karma": "^3.1.1", - "karma-chrome-launcher": "^2.2.0", - "karma-coverage": "^1.1.2", - "karma-coverage-istanbul-reporter": "^2.0.4", - "karma-jasmine": "^2.0.0", - "karma-junit-reporter": "^1.2.0", - "karma-mocha": "^1.3.0", - "karma-phantomjs-shim": "^1.5.0", - "karma-sinon-chai": "^2.0.2", - "karma-spec-reporter": "0.0.32", - "karma-structured-json-reporter": "^1.0.1", - "karma-webpack": "^3.0.5", - "mocha": "^5.2.0", - "phantomjs-shim": "^0.1.0", - "sinon": "^7.1.1", - "sinon-chai": "^3.2.0", - "url-loader": "^1.1.2", - "vue-loader": "^15.4.2", - "vue-style-loader": "^4.1.2" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/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, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "peer": true, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "peer": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/cliui/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "peer": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.7" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true, - "peer": true - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/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, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true, - "peer": true, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/karma-webpack": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-3.0.5.tgz", - "integrity": "sha512-nRudGJWstvVuA6Tbju9tyGUfXTtI1UXMXoRHVmM2/78D0q6s/Ye2IC157PKNDC15PWFGR0mVIRtWLAdcfsRJoA==", - "dev": true, - "dependencies": { - "async": "^2.0.0", - "babel-runtime": "^6.0.0", - "loader-utils": "^1.0.0", - "lodash": "^4.0.0", - "source-map": "^0.5.6", - "webpack-dev-middleware": "^2.0.6" - }, - "engines": { - "node": ">= 4" - }, - "peerDependencies": { - "webpack": "^2.0.0 || ^3.0.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true, - "peer": true - }, - "node_modules/vue-cli-plugin-ui-karma/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/vue-cli-plugin-ui-karma/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "peer": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "peer": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/vue-cli-plugin-ui-karma/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, - "peer": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/tapable": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", - "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "peer": true, - "dependencies": { - "source-map": "~0.5.1", - "yargs": "~3.10.0" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - }, - "optionalDependencies": { - "uglify-to-browserify": "~1.0.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/uglify-js/node_modules/camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/uglify-js/node_modules/cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "peer": true, - "dependencies": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/uglify-js/node_modules/yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "peer": true, - "dependencies": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "dev": true, - "hasInstallScript": true, - "peer": true, - "dependencies": { - "source-map": "^0.5.6", - "uglify-js": "^2.8.29", - "webpack-sources": "^1.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - }, - "peerDependencies": { - "webpack": "^1.9 || ^2 || ^2.1.0-beta || ^2.2.0-rc || ^3.0.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/url-loader": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", - "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", - "dev": true, - "dependencies": { - "loader-utils": "^1.1.0", - "mime": "^2.0.3", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^3.0.0 || ^4.0.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/webpack": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", - "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", - "dev": true, - "peer": true, - "dependencies": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "async": "^2.1.2", - "enhanced-resolve": "^3.4.0", - "escope": "^3.6.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^4.2.1", - "tapable": "^0.2.7", - "uglifyjs-webpack-plugin": "^0.4.6", - "watchpack": "^1.4.0", - "webpack-sources": "^1.0.1", - "yargs": "^8.0.2" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/webpack-dev-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz", - "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==", - "dev": true, - "dependencies": { - "loud-rejection": "^1.6.0", - "memory-fs": "~0.4.1", - "mime": "^2.1.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "url-join": "^2.0.2", - "webpack-log": "^1.0.1" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "webpack": "^2.2.0 || ^3.0.0 || ^4.0.0-alpha || ^4.0.0-beta || ^4.0.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/webpack-log": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", - "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", - "dev": true, - "dependencies": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "peer": true, - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "peer": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/wrap-ansi/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "peer": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true, - "peer": true - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "peer": true, - "dependencies": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" - } - }, - "node_modules/vue-cli-plugin-ui-karma/node_modules/yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "peer": true, - "dependencies": { - "camelcase": "^4.1.0" - } - }, - "node_modules/vue-codemirror": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/vue-codemirror/-/vue-codemirror-4.0.6.tgz", - "integrity": "sha512-ilU7Uf0mqBNSSV3KT7FNEeRIxH4s1fmpG4TfHlzvXn0QiQAbkXS9lLfwuZpaBVEnpP5CSE62iGJjoliTuA8poQ==", - "dependencies": { - "codemirror": "^5.41.0", - "diff-match-patch": "^1.0.0" - }, - "engines": { - "node": ">= 4.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/vue-eslint-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.1.0.tgz", - "integrity": "sha512-Kr21uPfthDc63nDl27AGQEhtt9VrZ9nkYk/NTftJ2ws9XiJwzJJCnCr3AITQ2jpRMA0XPGDECxYH8E027qMK9Q==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "eslint-scope": "^5.0.0", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.2.1", - "esquery": "^1.0.1", - "lodash": "^4.17.15" - }, - "engines": { - "node": ">=8.10" - } - }, - "node_modules/vue-eslint-parser/node_modules/eslint-scope": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", - "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "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-js-modal": { - "version": "2.0.0-rc.6", - "resolved": "https://registry.npmjs.org/vue-js-modal/-/vue-js-modal-2.0.0-rc.6.tgz", - "integrity": "sha512-bJOm7Yhrl0ur/QyXjoC3gMMmE7UxiVEcS2rl8v9iPXIe9QLvjiCSZElSOvvyps8LNuG1X0rPifZGxI/CWKCFaw==", - "dependencies": { - "resize-observer-polyfill": "^1.5.1" - } - }, - "node_modules/vue-loader": { - "version": "15.9.3", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.3.tgz", - "integrity": "sha512-Y67VnGGgVLH5Voostx8JBZgPQTlDQeOVBLOEsjc2cXbCYBKexSKEpOA56x0YZofoDOTszrLnIShyOX1p9uCEHA==", - "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" - } - }, - "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-multiselect": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-2.1.6.tgz", - "integrity": "sha512-s7jmZPlm9FeueJg1RwJtnE9KNPtME/7C8uRWSfp9/yEN4M8XcS/d+bddoyVwVnvFyRh9msFo0HWeW0vTL8Qv+w==", - "engines": { - "node": ">= 4.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/vue-router": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.3.4.tgz", - "integrity": "sha512-SdKRBeoXUjaZ9R/8AyxsdTqkOfMcI5tWxPZOUX5Ie1BTL5rPSZ0O++pbiZCeYeythiZIdLEfkDiQPKIaWk5hDg==" - }, - "node_modules/vue-style-loader": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", - "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==", - "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.11", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz", - "integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==", - "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/vue2-teleport": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vue2-teleport/-/vue2-teleport-1.0.1.tgz", - "integrity": "sha512-hbY/Q0x8qXGFxo6h4KU4YYesUcN+uUjliqqC0PoNSgpcbS2QRb3qXi+7XMTgLYs0a8i7o1H6Mu43UV4Vbgkhgw==" - }, - "node_modules/vuejs-paginate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/vuejs-paginate/-/vuejs-paginate-2.1.0.tgz", - "integrity": "sha512-gnwyXlmCiDOu9MLWxN5UJ4PGijKGNOMpHG8ujsrynCzTJljn/rp7Jq0WiDGDAMi5/u0AHuYIHhced+tUW4jblA==" - }, - "node_modules/vuera": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/vuera/-/vuera-0.2.7.tgz", - "integrity": "sha512-MZErNEK+xXjxBzIDFL9cdEtX3TDZk4pMJGB+WLrlFOVro9okS/FeOSpdPFkpdyZUImZN/or4CrmztA932ChGEQ==" - }, - "node_modules/vuex": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.5.1.tgz", - "integrity": "sha512-w7oJzmHQs0FM9LXodfskhw9wgKBiaB+totOdb8sNzbTB2KDCEEwEs29NzBZFh/lmEK1t5tDmM1vtsO7ubG1DFw==" - }, - "node_modules/warning": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/watchpack": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", - "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.0", - "watchpack-chokidar2": "^2.0.0" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "dev": true, - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - }, - "engines": { - "node": "<8.10.0" - } - }, - "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/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "dependencies": { - "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" - } - }, - "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==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/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, - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/watchpack-chokidar2/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, - "optional": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.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/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/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/weak-map": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz", - "integrity": "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=" - }, - "node_modules/weakmap-shim": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/weakmap-shim/-/weakmap-shim-1.1.1.tgz", - "integrity": "sha1-1lr9eEEJshZuAP9XHDMVDsKkC0k=" - }, - "node_modules/webgl-context": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webgl-context/-/webgl-context-2.2.0.tgz", - "integrity": "sha1-jzfXJXz23xzQpJ5qextyG5TMhqA=", - "dependencies": { - "get-canvas-context": "^1.0.1" - } - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/webpack": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", - "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.1.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.6.1", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz", - "integrity": "sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw==", - "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.15", - "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/acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/webpack-chain": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.0.tgz", - "integrity": "sha512-K4EHiEg4WlP4w1rKXKpYWvX9cfGBERHCGP06ETSNV62XUIfOUg1DDRQpxyBsFYxZLKc4YUAI3iiCIvWoliheGA==", - "dev": true, - "dependencies": { - "deepmerge": "^1.5.2", - "javascript-stringify": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", - "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" - } - }, - "node_modules/webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", - "dev": true, - "dependencies": { - "ansi-html": "0.0.7", - "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.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.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" - } - }, - "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/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "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/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/webpack-dev-server/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/webpack-dev-server/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/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/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/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/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/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.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/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.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", - "dev": true, - "dependencies": { - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.6.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-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "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==", - "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/window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "node_modules/workbox-background-sync": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.1.5.tgz", - "integrity": "sha512-VbUmPLsdz+sLzuNxHvMylzyRTiM4q+q7rwLBk3p2mtRL5NZozI8j/KgoGbno96vs84jx4b9zCZMEOIKEUTPf6w==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5" - } - }, - "node_modules/workbox-broadcast-update": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.1.5.tgz", - "integrity": "sha512-zGrTTs+n4wHpYtqYMqBg6kl/x5j1UrczGCQnODSHTxIDV8GXLb/GtA1BCZdysNxpMmdVSeLmTcgIYAAqWFamrA==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5" - } - }, - "node_modules/workbox-build": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.1.5.tgz", - "integrity": "sha512-P+fakR5QFVqJN9l9xHVXtmafga72gh9I+jM3A9HiB/6UNRmOAejXnDgD+RMegOHgQHPwnB44TalMToFaXKWIyA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@hapi/joi": "^16.1.8", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^1.4.1", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "source-map-url": "^0.4.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "^6.1.5", - "workbox-broadcast-update": "^6.1.5", - "workbox-cacheable-response": "^6.1.5", - "workbox-core": "^6.1.5", - "workbox-expiration": "^6.1.5", - "workbox-google-analytics": "^6.1.5", - "workbox-navigation-preload": "^6.1.5", - "workbox-precaching": "^6.1.5", - "workbox-range-requests": "^6.1.5", - "workbox-recipes": "^6.1.5", - "workbox-routing": "^6.1.5", - "workbox-strategies": "^6.1.5", - "workbox-streams": "^6.1.5", - "workbox-sw": "^6.1.5", - "workbox-window": "^6.1.5" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/workbox-build/node_modules/@hapi/joi": { - "version": "16.1.8", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", - "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", - "deprecated": "Switch to 'npm install joi'", - "dev": true, - "dependencies": { - "@hapi/address": "^2.1.2", - "@hapi/formula": "^1.2.0", - "@hapi/hoek": "^8.2.4", - "@hapi/pinpoint": "^1.0.2", - "@hapi/topo": "^3.1.3" - } - }, - "node_modules/workbox-build/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, - "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/workbox-build/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, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/workbox-build/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dev": true, - "dependencies": { - "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/workbox-build/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/workbox-cacheable-response": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.1.5.tgz", - "integrity": "sha512-x8DC71lO/JCgiaJ194l9le8wc8lFPLgUpDkLhp2si7mXV6S/wZO+8Osvw1LLgYa8YYTWGbhbFhFTXIkEMknIIA==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5" - } - }, - "node_modules/workbox-core": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.1.5.tgz", - "integrity": "sha512-9SOEle7YcJzg3njC0xMSmrPIiFjfsFm9WjwGd5enXmI8Lwk8wLdy63B0nzu5LXoibEmS9k+aWF8EzaKtOWjNSA==", - "dev": true - }, - "node_modules/workbox-expiration": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.1.5.tgz", - "integrity": "sha512-6cN+FVbh8fNq56LFKPMchGNKCJeyboHsDuGBqmhDUPvD4uDjsegQpDQzn52VaE0cpywbSIsDF/BSq9E9Yjh5oQ==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5" - } - }, - "node_modules/workbox-google-analytics": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.1.5.tgz", - "integrity": "sha512-LYsJ/VxTkYVLxM1uJKXZLz4cJdemidY7kPyAYtKVZ6EiDG89noASqis75/5lhqM1m3HwQfp2DtoPrelKSpSDBA==", - "dev": true, - "dependencies": { - "workbox-background-sync": "^6.1.5", - "workbox-core": "^6.1.5", - "workbox-routing": "^6.1.5", - "workbox-strategies": "^6.1.5" - } - }, - "node_modules/workbox-navigation-preload": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.1.5.tgz", - "integrity": "sha512-hDbNcWlffv0uvS21jCAC/mYk7NzaGRSWOQXv1p7bj2aONAX5l699D2ZK4D27G8TO0BaLHUmW/1A5CZcsvweQdg==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5" - } - }, - "node_modules/workbox-precaching": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.1.5.tgz", - "integrity": "sha512-yhm1kb6wgi141JeM5X7z42XJxCry53tbMLB3NgrxktrZbwbrJF8JILzYy+RFKC9tHC6u2bPmL789GPLT2NCDzw==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5", - "workbox-routing": "^6.1.5", - "workbox-strategies": "^6.1.5" - } - }, - "node_modules/workbox-range-requests": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.1.5.tgz", - "integrity": "sha512-iACChSapzB0yuIum3ascP/+cfBNuZi5DRrE+u4u5mCHigPlwfSWtlaY+y8p+a8EwcDTVTZVtnrGrRnF31SiLqQ==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5" - } - }, - "node_modules/workbox-recipes": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.1.5.tgz", - "integrity": "sha512-MD1yabHca6O/oj1hrRdfj9cRwhKA5zqIE53rWOAg/dKMMzWQsf9nyRbXRgzK3a13iQvYKuQzURU4Cx58tdnR+Q==", - "dev": true, - "dependencies": { - "workbox-cacheable-response": "^6.1.5", - "workbox-core": "^6.1.5", - "workbox-expiration": "^6.1.5", - "workbox-precaching": "^6.1.5", - "workbox-routing": "^6.1.5", - "workbox-strategies": "^6.1.5" - } - }, - "node_modules/workbox-routing": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.1.5.tgz", - "integrity": "sha512-uC/Ctz+4GXGL42h1WxUNKxqKRik/38uS0NZ6VY/EHqL2F1ObLFqMHUZ4ZYvyQsKdyI82cxusvhJZHOrY0a2fIQ==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5" - } - }, - "node_modules/workbox-strategies": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.1.5.tgz", - "integrity": "sha512-QhiOn9KT9YGBdbfWOmJT6pXZOIAxaVrs6J6AMYzRpkUegBTEcv36+ZhE/cfHoT0u2fxVtthHnskOQ/snEzaXQw==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5" - } - }, - "node_modules/workbox-streams": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.1.5.tgz", - "integrity": "sha512-OI1kLvRHGFXV+soDvs6aEwfBwdAkvPB0mRryqdh3/K17qUj/1gRXc8QtpgU+83xqx/I/ar2bTCIj0KPzI/ChCQ==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5", - "workbox-routing": "^6.1.5" - } - }, - "node_modules/workbox-sw": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.1.5.tgz", - "integrity": "sha512-IMDiqxYbKzPorZLGMUMacLB6r76iVQbdTzYthIZoPfy+uFURJFUtqiWQJKg1L+RMyuYXwKXTahCIGkgFs4jBeg==", - "dev": true - }, - "node_modules/workbox-webpack-plugin": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.1.5.tgz", - "integrity": "sha512-tsgeNAYiFP4STNPDxBVT58eiU8nGUmcv7Lq9FFJkQf5MMu6tPw1OLp+KpszhbCWP+R/nEdu85Gjexs6fY647Kg==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "source-map-url": "^0.4.0", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "^6.1.5" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.9.0" - } - }, - "node_modules/workbox-window": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.1.5.tgz", - "integrity": "sha512-akL0X6mAegai2yypnq78RgfazeqvKbsllRtEI4dnbhPcRINEY1NmecFmsQk8SD+zWLK1gw5OdwAOX+zHSRVmeA==", - "dev": true, - "dependencies": { - "workbox-core": "^6.1.5" - } - }, - "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-loader": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-3.0.8.tgz", - "integrity": "sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/worker-loader/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/worker-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/world-calendars": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/world-calendars/-/world-calendars-1.0.3.tgz", - "integrity": "sha1-slxQMrokEo/8QdCfr0pewbnBQzU=", - "dependencies": { - "object-assign": "^4.1.0" - } - }, - "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/wrap-ansi/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/wrap-ansi/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/wrap-ansi/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/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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "node_modules/xmlbuilder": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", - "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "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.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "engines": { - "node": ">= 6" - } - }, - "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/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/yargs/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/yargs/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/yargs/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/yargs/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/yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - }, - "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, - "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/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/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 - }, - "node_modules/zero-crossings": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/zero-crossings/-/zero-crossings-1.0.1.tgz", - "integrity": "sha1-xWK9MRNkPzRDokXRJAa4i2m5qf8=", - "dependencies": { - "cwise-compiler": "^1.0.0" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/compat-data": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz", - "integrity": "sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==", - "dev": true - }, - "@babel/core": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.16.tgz", - "integrity": "sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.16", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.13.14", - "@babel/helpers": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16", - "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==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.16.tgz", - "integrity": "sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg==", - "requires": { - "@babel/types": "^7.13.16", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.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==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", - "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-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", - "dev": true, - "requires": { - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", - "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", - "dev": true, - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-module-transforms": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz", - "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.13", - "@babel/types": "^7.13.14" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", - "dev": true, - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" - }, - "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/helpers": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.17.tgz", - "integrity": "sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg==", - "dev": true, - "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.17", - "@babel/types": "^7.13.17" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.16.tgz", - "integrity": "sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw==" - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz", - "integrity": "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.5.tgz", - "integrity": "sha512-Sc5TAQSZuLzgY0664mMDn24Vw2P8g/VhyLyGPaWiHahhgLqeZvcGeyBZOrJW0oSKIK2mvQ22a1ENXBIQLhrEiQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.10.4" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.4.tgz", - "integrity": "sha512-2NaoC6fAk2VMdhY1eerkfHV+lVYC1u8b+jmRJISqANCJlTxYy19HGdIkkQtix2UtkcPuPu+IlDgrVseZnU03bw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", - "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz", - "integrity": "sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", - "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.5.tgz", - "integrity": "sha512-tV4V/FjElJ9lQtyjr5xD2IFFbgY46r7EeVu5a8CpEKT5laheHKSlFeHjpkPppW3PqzGLAuv5k2qZX5LgVZIX5w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "resolve": "^1.8.1", - "semver": "^5.5.1" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.13.0" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/preset-env": { - "version": "7.13.15", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.15.tgz", - "integrity": "sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-compilation-targets": "^7.13.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.15", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@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-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.13.15", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.14", - "babel-plugin-polyfill-corejs2": "^0.2.0", - "babel-plugin-polyfill-corejs3": "^0.2.0", - "babel-plugin-polyfill-regenerator": "^0.2.0", - "core-js-compat": "^3.9.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/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.17.tgz", - "integrity": "sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.17.tgz", - "integrity": "sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.16", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.16", - "@babel/types": "^7.13.17", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.17.tgz", - "integrity": "sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA==", - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "to-fast-properties": "^2.0.0" - } - }, - "@choojs/findup": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", - "integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==", - "requires": { - "commander": "^2.15.1" - } - }, - "@emotion/babel-utils": { - "version": "0.6.10", - "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.10.tgz", - "integrity": "sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow==", - "requires": { - "@emotion/hash": "^0.6.6", - "@emotion/memoize": "^0.6.6", - "@emotion/serialize": "^0.9.1", - "convert-source-map": "^1.5.1", - "find-root": "^1.1.0", - "source-map": "^0.7.2" - }, - "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==" - } - } - }, - "@emotion/hash": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.6.tgz", - "integrity": "sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ==" - }, - "@emotion/is-prop-valid": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", - "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", - "requires": { - "@emotion/memoize": "0.7.4" - }, - "dependencies": { - "@emotion/memoize": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", - "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" - } - } - }, - "@emotion/memoize": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz", - "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==" - }, - "@emotion/serialize": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.1.tgz", - "integrity": "sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ==", - "requires": { - "@emotion/hash": "^0.6.6", - "@emotion/memoize": "^0.6.6", - "@emotion/unitless": "^0.6.7", - "@emotion/utils": "^0.8.2" - } - }, - "@emotion/stylis": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.7.1.tgz", - "integrity": "sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ==" - }, - "@emotion/unitless": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.7.tgz", - "integrity": "sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg==" - }, - "@emotion/utils": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.2.tgz", - "integrity": "sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw==" - }, - "@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/formula": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz", - "integrity": "sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==", - "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/pinpoint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz", - "integrity": "sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==", - "dev": true - }, - "@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" - } - }, - "@icons/material": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz", - "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==", - "requires": {} - }, - "@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" - } - }, - "@mapbox/geojson-rewind": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.0.tgz", - "integrity": "sha512-73l/qJQgj/T/zO1JXVfuVvvKDgikD/7D/rHAD28S9BG1OTstgmftrmqfCx4U+zQAmtsB6HcDA3a7ymdnJZAQgg==", - "requires": { - "concat-stream": "~2.0.0", - "minimist": "^1.2.5" - }, - "dependencies": { - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "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" - } - } - } - }, - "@mapbox/geojson-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz", - "integrity": "sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==" - }, - "@mapbox/jsonlint-lines-primitives": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", - "integrity": "sha1-zlblOfg1UrWNENZy6k1vya3HsjQ=" - }, - "@mapbox/mapbox-gl-supported": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz", - "integrity": "sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==" - }, - "@mapbox/point-geometry": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", - "integrity": "sha1-ioP5M1x4YO/6Lu7KJUMyqgru2PI=" - }, - "@mapbox/tiny-sdf": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.1.1.tgz", - "integrity": "sha512-Ihn1nZcGIswJ5XGbgFAvVumOgWpvIjBX9jiRlIl46uQG9vJOF51ViBYHF95rEZupuyQbEmhLaDPLQlU7fUTsBg==" - }, - "@mapbox/unitbezier": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", - "integrity": "sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4=" - }, - "@mapbox/vector-tile": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", - "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", - "requires": { - "@mapbox/point-geometry": "~0.1.0" - } - }, - "@mapbox/whoots-js": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", - "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==" - }, - "@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 - }, - "@plotly/d3-sankey": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@plotly/d3-sankey/-/d3-sankey-0.7.2.tgz", - "integrity": "sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==", - "requires": { - "d3-array": "1", - "d3-collection": "1", - "d3-shape": "^1.2.0" - } - }, - "@plotly/d3-sankey-circular": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@plotly/d3-sankey-circular/-/d3-sankey-circular-0.33.1.tgz", - "integrity": "sha512-FgBV1HEvCr3DV7RHhDsPXyryknucxtfnLwPtCKKxdolKyTFYoLX/ibEfX39iFYIL7DYbVeRtP43dbFcrHNE+KQ==", - "requires": { - "d3-array": "^1.2.1", - "d3-collection": "^1.0.4", - "d3-shape": "^1.2.0", - "elementary-circuits-directed-graph": "^1.0.4" - } - }, - "@plotly/draft-js-export-html": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@plotly/draft-js-export-html/-/draft-js-export-html-1.2.0.tgz", - "integrity": "sha512-zbHQAh1qxZPUPVHEiBRL6YTf54jNBsJPERJuOAwZOSoWSpzYxHviXyA4d0H3Dm4ttadWz4CuB2WC9OAQqD0XyA==", - "requires": { - "draft-js-utils": "^1.2.0" - } - }, - "@plotly/point-cluster": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@plotly/point-cluster/-/point-cluster-3.1.9.tgz", - "integrity": "sha512-MwaI6g9scKf68Orpr1pHZ597pYx9uP8UEFXLPbsCmuw3a84obwz6pnMXGc90VhgDNeNiLEdlmuK7CPo+5PIxXw==", - "requires": { - "array-bounds": "^1.0.1", - "binary-search-bounds": "^2.0.4", - "clamp": "^1.0.1", - "defined": "^1.0.0", - "dtype": "^2.0.0", - "flatten-vertex-data": "^1.0.2", - "is-obj": "^1.0.1", - "math-log2": "^1.0.1", - "parse-rect": "^1.2.0", - "pick-by-alias": "^1.2.0" - }, - "dependencies": { - "binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - } - } - }, - "@rollup/plugin-babel": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", - "integrity": "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "dependencies": { - "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 - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - } - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - } - }, - "@sinonjs/commons": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", - "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/formatio": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz", - "integrity": "sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1", - "@sinonjs/samsam": "^3.1.0" - } - }, - "@sinonjs/samsam": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz", - "integrity": "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.3.0", - "array-from": "^2.1.1", - "lodash": "^4.17.15" - } - }, - "@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", - "dev": true - }, - "@soda/friendly-errors-webpack-plugin": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz", - "integrity": "sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "error-stack-parser": "^2.0.0", - "string-width": "^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 - }, - "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" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.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": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "@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 - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz", - "integrity": "sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==", - "dev": true, - "requires": { - "ejs": "^2.6.1", - "magic-string": "^0.25.0" - } - }, - "@turf/area": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.0.1.tgz", - "integrity": "sha512-Zv+3N1ep9P5JvR0YOYagLANyapGWQBh8atdeR3bKpWcigVXFsEKNUw03U/5xnh+cKzm7yozHD6MFJkqQv55y0g==", - "requires": { - "@turf/helpers": "6.x", - "@turf/meta": "6.x" - } - }, - "@turf/bbox": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.0.1.tgz", - "integrity": "sha512-EGgaRLettBG25Iyx7VyUINsPpVj1x3nFQFiGS3ER8KCI1MximzNLsam3eXRabqQDjyAKyAE1bJ4EZEpGvspQxw==", - "requires": { - "@turf/helpers": "6.x", - "@turf/meta": "6.x" - } - }, - "@turf/centroid": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-6.0.2.tgz", - "integrity": "sha512-auyDauOtC4eddH7GC3CHFTDu2PKhpSeKCRhwhHhXtJqn2dWCJQNIoCeJRmfXRIbzCWhWvgvQafvvhq8HNvmvWw==", - "requires": { - "@turf/helpers": "6.x", - "@turf/meta": "6.x" - } - }, - "@turf/helpers": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.1.4.tgz", - "integrity": "sha512-vJvrdOZy1ngC7r3MDA7zIGSoIgyrkWcGnNIEaqn/APmw+bVLF2gAW7HIsdTxd12s5wQMqEpqIQrmrbRRZ0xC7g==" - }, - "@turf/meta": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.0.2.tgz", - "integrity": "sha512-VA7HJkx7qF1l3+GNGkDVn2oXy4+QoLP6LktXAaZKjuT1JI0YESat7quUkbCMy4zP9lAUuvS4YMslLyTtr919FA==", - "requires": { - "@turf/helpers": "6.x" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "14.0.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.24.tgz", - "integrity": "sha512-btt/oNOiDWcSuI721MdL8VQGnjsKjlTMdrKyTcLCKeQp/n4AAMFJ961wMbp+09y8WuGPClDEv07RIItdXKIXAA==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "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==" - }, - "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", - "dev": true - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@vue/babel-helper-vue-jsx-merge-props": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz", - "integrity": "sha512-6tyf5Cqm4m6v7buITuwS+jHzPlIPxbFzEhXR5JGZpbrvOcp1hiQKckd305/3C7C36wFekNTQSxAtgeM0j0yoUw==", - "dev": true - }, - "@vue/babel-plugin-transform-vue-jsx": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.1.2.tgz", - "integrity": "sha512-YfdaoSMvD1nj7+DsrwfTvTnhDXI7bsuh+Y5qWwvQXlD24uLgnsoww3qbiZvWf/EoviZMrvqkqN4CBw0W3BWUTQ==", - "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.0.0", - "html-tags": "^2.0.0", - "lodash.kebabcase": "^4.1.1", - "svg-tags": "^1.0.0" - } - }, - "@vue/babel-preset-app": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.4.6.tgz", - "integrity": "sha512-urIa6Qk3lKacLvscrzxMNyYlTqKFcPAUo5MohOjv1ISZ9PssHw693WTOrqSC0XksdMLtp/rnLvc6l5G8Muk0lw==", - "dev": true, - "requires": { - "@babel/core": "^7.9.6", - "@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.9.6", - "@babel/preset-env": "^7.9.6", - "@babel/runtime": "^7.9.6", - "@vue/babel-preset-jsx": "^1.1.2", - "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.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.1.2.tgz", - "integrity": "sha512-zDpVnFpeC9YXmvGIDSsKNdL7qCG2rA3gjywLYHPCKDT10erjxF4U+6ay9X6TW5fl4GsDlJp9bVfAVQAAVzxxvQ==", - "dev": true, - "requires": { - "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", - "@vue/babel-sugar-functional-vue": "^1.1.2", - "@vue/babel-sugar-inject-h": "^1.1.2", - "@vue/babel-sugar-v-model": "^1.1.2", - "@vue/babel-sugar-v-on": "^1.1.2" - } - }, - "@vue/babel-sugar-functional-vue": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.1.2.tgz", - "integrity": "sha512-YhmdJQSVEFF5ETJXzrMpj0nkCXEa39TvVxJTuVjzvP2rgKhdMmQzlJuMv/HpadhZaRVMCCF3AEjjJcK5q/cYzQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-inject-h": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.1.2.tgz", - "integrity": "sha512-VRSENdTvD5htpnVp7i7DNuChR5rVMcORdXjvv5HVvpdKHzDZAYiLSD+GhnhxLm3/dMuk8pSzV+k28ECkiN5m8w==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-v-model": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.1.2.tgz", - "integrity": "sha512-vLXPvNq8vDtt0u9LqFdpGM9W9IWDmCmCyJXuozlq4F4UYVleXJ2Fa+3JsnTZNJcG+pLjjfnEGHci2339Kj5sGg==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", - "camelcase": "^5.0.0", - "html-tags": "^2.0.0", - "svg-tags": "^1.0.0" - } - }, - "@vue/babel-sugar-v-on": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.1.2.tgz", - "integrity": "sha512-T8ZCwC8Jp2uRtcZ88YwZtZXe7eQrJcfRq0uTFy6ShbwYJyz5qWskRFoVsdTi9o0WEhmQXxhQUewodOSCUPVmsQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", - "camelcase": "^5.0.0" - } - }, - "@vue/cli-overlay": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.4.6.tgz", - "integrity": "sha512-fzjg2gWQt+jw5fyLsD9HZNxGNQgZjLDI2s9bLWJwRucdfmncSi9neqA0TZyszGrgcJA4Qu4V5KgV0qwVSBYCaw==", - "dev": true - }, - "@vue/cli-plugin-babel": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.4.6.tgz", - "integrity": "sha512-9cX9mN+4DIbcqw3rV6UBOA0t5zikIkrBLQloUzsOBOu5Xb7/UoD7inInFj7bnyHUflr5LqbdWJ+etCQcWAIIXA==", - "dev": true, - "requires": { - "@babel/core": "^7.9.6", - "@vue/babel-preset-app": "^4.4.6", - "@vue/cli-shared-utils": "^4.4.6", - "babel-loader": "^8.1.0", - "cache-loader": "^4.1.0", - "thread-loader": "^2.1.3", - "webpack": "^4.0.0" - } - }, - "@vue/cli-plugin-eslint": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.4.6.tgz", - "integrity": "sha512-3a9rVpOKPQsDgAlRkhmBMHboGobivG/47BbQGE66Z8YJxrgF/AWikP3Jy67SmxtszRkyiWfw4aJFRV9r3MzffQ==", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^4.4.6", - "eslint-loader": "^2.2.1", - "globby": "^9.2.0", - "inquirer": "^7.1.0", - "webpack": "^4.0.0", - "yorkie": "^2.0.0" - } - }, - "@vue/cli-plugin-router": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.4.6.tgz", - "integrity": "sha512-TkLdn0ZYo3zgn78Rk8doPlR+4UkGjGW2R1eGEaZEkue/mw2VhUWtTk9cKLZaYrw0eY8Ro/j+OV6mD+scyrairg==", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^4.4.6" - } - }, - "@vue/cli-plugin-vuex": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.4.6.tgz", - "integrity": "sha512-Ho0YzUivn8BLPqFoFypntR8CMTEXYYHVr0GdnZW99XL+DbGw75f+tJfnrV9UFHDTfvZt7uewKiXDMlrzQ0l3Ug==", - "dev": true - }, - "@vue/cli-service": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.4.6.tgz", - "integrity": "sha512-k5OFGh2NnvRymCyq9DfBiNJvECUuun3pl5KMm3557IZyA5E5csv+RHoSW3dX8HHe0zXq18g52VswP1llvR9POw==", - "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", - "@vue/cli-overlay": "^4.4.6", - "@vue/cli-plugin-router": "^4.4.6", - "@vue/cli-plugin-vuex": "^4.4.6", - "@vue/cli-shared-utils": "^4.4.6", - "@vue/component-compiler-utils": "^3.1.2", - "@vue/preload-webpack-plugin": "^1.1.0", - "@vue/web-component-wrapper": "^1.2.0", - "acorn": "^7.2.0", - "acorn-walk": "^7.1.1", - "address": "^1.1.2", - "autoprefixer": "^9.8.0", - "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": "^7.1.0", - "terser-webpack-plugin": "^2.3.6", - "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" - }, - "dependencies": { - "acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", - "dev": true, - "requires": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", - "unique-filename": "^1.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" - } - }, - "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 - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^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" - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "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 - }, - "ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "minipass": "^3.1.1" - } - }, - "terser-webpack-plugin": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.7.tgz", - "integrity": "sha512-xzYyaHUNhzgaAdBsXxk2Yvo/x1NJdslUaussK3fdpBbvttm1iIwU+c26dj9UxJcwk2c5UWt5F55MUTIA8BE7Dg==", - "dev": true, - "requires": { - "cacache": "^13.0.1", - "find-cache-dir": "^3.3.1", - "jest-worker": "^25.4.0", - "p-limit": "^2.3.0", - "schema-utils": "^2.6.6", - "serialize-javascript": "^3.1.0", - "source-map": "^0.6.1", - "terser": "^4.6.12", - "webpack-sources": "^1.4.3" - } - }, - "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" - } - } - } - }, - "@vue/cli-shared-utils": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.4.6.tgz", - "integrity": "sha512-ba+FZZCjiTSu2otnLjY4qXqASe7ZIQ/QBljk5oRPgqrR0p1NUkDPUcZhqa041aOaSW1yAfSfhOD7Q84nMnWhzQ==", - "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.2.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", - "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", - "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.14", - "postcss-selector-parser": "^6.0.2", - "prettier": "^1.18.2", - "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/eslint-config-standard": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-standard/-/eslint-config-standard-5.1.2.tgz", - "integrity": "sha512-FTz0k77dIrj9r3xskt9jsZyL/YprrLiPRf4m3k7G6dZ5PKuD6OPqYrHR9eduUmHDFpTlRgFpTVQrq+1el9k3QQ==", - "dev": true, - "requires": { - "eslint-config-standard": "^14.1.0", - "eslint-import-resolver-node": "^0.3.3", - "eslint-import-resolver-webpack": "^0.12.1" - } - }, - "@vue/preload-webpack-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.1.tgz", - "integrity": "sha512-8VCoJeeH8tCkzhkpfOkt+abALQkS11OIHhte5MBzYaKMTqK0A3ZAKEUVAffsOklhEv7t0yrQt696Opnu9oAx+w==", - "dev": true - }, - "@vue/test-utils": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.1.2.tgz", - "integrity": "sha512-utbIL7zn9c+SjhybPwh48lpWCiluFCbP1yyRNAy1fQsw/6hiNFioaWy05FoVAFIZXC5WwBf+5r4ypfM1j/nI4A==", - "dev": true, - "requires": { - "dom-event-types": "^1.0.0", - "lodash": "^4.17.15", - "pretty": "^2.0.0" - } - }, - "@vue/web-component-wrapper": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz", - "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw==", - "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 - }, - "3d-view": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/3d-view/-/3d-view-2.0.0.tgz", - "integrity": "sha1-gxrpQtdQjFCAHj4G+v4ejFdOF74=", - "requires": { - "matrix-camera-controller": "^2.1.1", - "orbit-camera-controller": "^4.0.0", - "turntable-camera-controller": "^3.0.0" - } - }, - "a-big-triangle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/a-big-triangle/-/a-big-triangle-1.0.3.tgz", - "integrity": "sha1-7v0wsCqPUl6LH3K7a7GwwWdRx5Q=", - "requires": { - "gl-buffer": "^2.1.1", - "gl-vao": "^1.2.0", - "weak-map": "^1.0.5" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "abs-svg-path": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", - "integrity": "sha1-32Acjo0roQ1KdtYl4japo5wnI78=" - }, - "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": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "dev": true, - "peer": true, - "requires": { - "acorn": "^4.0.3" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true, - "peer": true - } - } - }, - "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true - }, - "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 - }, - "add-dom-event-listener": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", - "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", - "requires": { - "object-assign": "4.x" - } - }, - "add-line-numbers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/add-line-numbers/-/add-line-numbers-1.0.1.tgz", - "integrity": "sha1-SNu96kfb0jTer+rGyTzqb3C0t+M=", - "requires": { - "pad-left": "^1.0.2" - } - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "dev": true - }, - "affine-hull": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/affine-hull/-/affine-hull-1.0.0.tgz", - "integrity": "sha1-dj/x040GPOt+Jy8X7k17vK+QXF0=", - "requires": { - "robust-orientation": "^1.1.3" - } - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, - "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "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 - }, - "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": {} - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "peer": true, - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.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, - "peer": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "almost-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", - "integrity": "sha1-+FHGMROHV5lCdqou++jfowZszN0=" - }, - "alpha-complex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/alpha-complex/-/alpha-complex-1.0.0.tgz", - "integrity": "sha1-kIZYcNawVCrnPAwTHU75iWabctI=", - "requires": { - "circumradius": "^1.0.0", - "delaunay-triangulate": "^1.1.6" - } - }, - "alpha-shape": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/alpha-shape/-/alpha-shape-1.0.0.tgz", - "integrity": "sha1-yDEJkj7P2mZ9IWP+Tyb+JHJvZKk=", - "requires": { - "alpha-complex": "^1.0.0", - "simplicial-complex-boundary": "^1.0.0" - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "optional": true - }, - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "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 - }, - "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-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, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" - } - }, - "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.1.2", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz", - "integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==", - "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==" - }, - "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-bounds": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz", - "integrity": "sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==" - }, - "array-find": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", - "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "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-from": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", - "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", - "dev": true - }, - "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - } - }, - "array-normalize": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array-normalize/-/array-normalize-1.1.4.tgz", - "integrity": "sha512-fCp0wKFLjvSPmCn4F5Tiw4M3lpMZoHlCjfcs7nNzuj3vqQQ1/a8cgB9DXcpDSn18c+coLnaW7rqfcYCvKbyJXg==", - "requires": { - "array-bounds": "^1.0.0" - } - }, - "array-range": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-range/-/array-range-1.0.1.tgz", - "integrity": "sha1-9W5GWRhDYRxqVvd+8C7afFAIm/w=" - }, - "array-rearrange": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/array-rearrange/-/array-rearrange-2.2.2.tgz", - "integrity": "sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==" - }, - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "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 - }, - "array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "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 - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "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 - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "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 - }, - "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 - }, - "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 - }, - "atob-lite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-1.0.0.tgz", - "integrity": "sha1-uI3KYAaSK5YglPdVaCa6sxxKKWs=" - }, - "attr-accept": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", - "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==" - }, - "autoprefixer": { - "version": "9.8.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.5.tgz", - "integrity": "sha512-C2p5KkumJlsTHoNv9w31NrBRgXhf6eCMteJuHZi2xhkgC+5Vm40MEtCKPhc0qdgAOhox0YPy1SQHTAky05UoKg==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001097", - "colorette": "^1.2.0", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "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.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", - "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-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - } - } - }, - "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "dev": true, - "requires": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.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-emotion": { - "version": "9.2.11", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz", - "integrity": "sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@emotion/babel-utils": "^0.6.4", - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "babel-plugin-macros": "^2.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "convert-source-map": "^1.5.0", - "find-root": "^1.1.0", - "mkdirp": "^0.5.1", - "source-map": "^0.5.7", - "touch": "^2.0.1" - } - }, - "babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "requires": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "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" - } - }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "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==" - } - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.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.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.0", - "core-js-compat": "^3.9.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.0" - } - }, - "babel-plugin-styled-components": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.12.0.tgz", - "integrity": "sha512-FEiD7l5ZABdJPpLssKXjBUJMYqzbcNzBowfXDCdJhOpbhWiewapUaY+LZGT8R4Jg2TwOjGjG4RKeyrO5p9sBkA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-module-imports": "^7.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "lodash": "^4.17.11" - } - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" - }, - "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.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "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" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "barycentric": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/barycentric/-/barycentric-1.0.1.tgz", - "integrity": "sha1-8VYruJGyb0/sRjqC7to2V4AOxog=", - "requires": { - "robust-linear-solve": "^1.0.0" - } - }, - "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" - } - }, - "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-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-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" - } - } - } - }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true - }, - "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" - } - }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } - }, - "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-rat": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/big-rat/-/big-rat-1.0.4.tgz", - "integrity": "sha1-do0JO7V5MN0Y7Vdcf8on3FORreo=", - "requires": { - "bit-twiddle": "^1.0.2", - "bn.js": "^4.11.6", - "double-bits": "^1.1.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "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.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true, - "optional": true - }, - "binary-search-bounds": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz", - "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=" - }, - "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" - } - }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, - "bitmap-sdf": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bitmap-sdf/-/bitmap-sdf-1.0.3.tgz", - "integrity": "sha512-ojYySSvWTx21cbgntR942zgEgqj38wHctN64vr4vYRFf3GKVmI23YlA94meWGkFslidwLwGCsMy2laJ3g/94Sg==", - "requires": { - "clamp": "^1.0.1" - } - }, - "bl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", - "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "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.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "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 - }, - "boundary-cells": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/boundary-cells/-/boundary-cells-2.0.1.tgz", - "integrity": "sha1-6QWo0UGc9Hyza+Pb9SXbXiTeAEI=", - "requires": { - "tape": "^4.0.0" - } - }, - "box-intersect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/box-intersect/-/box-intersect-1.0.2.tgz", - "integrity": "sha512-yJeMwlmFPG1gIa7Rs/cGXeI6iOj6Qz5MG5PE61xLKpElUGzmJ4abm+qsLpzxKJFpsSDq742BQEocr8dI2t8Nxw==", - "requires": { - "bit-twiddle": "^1.0.2", - "typedarray-pool": "^1.1.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "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" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "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.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", - "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.2", - "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.16.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", - "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001214", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.719", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "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" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "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": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "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.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "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" - }, - "dependencies": { - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^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" - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "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" - } - }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "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": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - } - } - }, - "camelize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", - "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" - }, - "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-db": { - "version": "1.0.30001166", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001166.tgz", - "integrity": "sha512-3yJignk7BxmxGbxmvjNvADpkmaY/zHjKdpMbO97YKAaD9hTQ52+8hoTqWAJI43oVYzz7rMhxZUkF2OVmujpxZg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001219", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001219.tgz", - "integrity": "sha512-c0yixVG4v9KBc/tQ2rlbB3A/bgBFRvl8h8M4IeUbqCca4gsiCfvtaheUssbnux/Mb66Vjz7x8yYjDgYcNQOhyQ==", - "dev": true - }, - "canvas-fit": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/canvas-fit/-/canvas-fit-1.5.0.tgz", - "integrity": "sha1-rhO+Zq3kL1vg5IfjRfzjCl5bXl8=", - "requires": { - "element-size": "^1.1.1" - } - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", - "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "cdt2d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cdt2d/-/cdt2d-1.0.0.tgz", - "integrity": "sha1-TyEkNLzWe9s9aLj+9KzcLFRBUUE=", - "requires": { - "binary-search-bounds": "^2.0.3", - "robust-in-sphere": "^1.1.3", - "robust-orientation": "^1.1.3" - }, - "dependencies": { - "binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - } - } - }, - "cell-orientation": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cell-orientation/-/cell-orientation-1.0.1.tgz", - "integrity": "sha1-tQStlqZq0obZ7dmFoiU9A7gNKFA=" - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "peer": true, - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, - "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - } - }, - "chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", - "dev": true, - "requires": { - "check-error": "^1.0.2" - } - }, - "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" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "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, - "optional": 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": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chroma-js": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-1.4.1.tgz", - "integrity": "sha512-jTwQiT859RTFN/vIf7s+Vl/Z2LcMrvMv3WUFmd/4u76AdlFC0NTNgqEEFPcRiHmAswPsMiQEDZLM8vX8qXpZNQ==" - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "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 - }, - "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" - } - }, - "circular-json": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", - "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==", - "dev": true - }, - "circumcenter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/circumcenter/-/circumcenter-1.0.0.tgz", - "integrity": "sha1-INeqE7F/usUvUtpPVMasi5Bu5Sk=", - "requires": { - "dup": "^1.0.0", - "robust-linear-solve": "^1.0.0" - } - }, - "circumradius": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/circumradius/-/circumradius-1.0.0.tgz", - "integrity": "sha1-cGxEfj5VzR7T0RvRM+N8JSzDBbU=", - "requires": { - "circumcenter": "^1.0.0" - } - }, - "clamp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", - "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" - }, - "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" - } - } - } - }, - "classlist-polyfill": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", - "integrity": "sha1-k1vC39lFiodrJ5YXUUY4vKqWSi4=", - "dev": true - }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "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 - } - } - }, - "clean-pslg": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/clean-pslg/-/clean-pslg-1.1.2.tgz", - "integrity": "sha1-vTXHRgt+irWp92Gl7VF5aqPIbBE=", - "requires": { - "big-rat": "^1.0.3", - "box-intersect": "^1.0.1", - "nextafter": "^1.0.0", - "rat-vec": "^1.1.1", - "robust-segment-intersect": "^1.0.1", - "union-find": "^1.0.2", - "uniq": "^1.0.1" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", - "requires": { - "exit": "0.1.2", - "glob": "^7.1.1" - } - }, - "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.4", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.4.tgz", - "integrity": "sha512-s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "highlight.js": "^9.6.0", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^5.1.1", - "yargs": "^15.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "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" - } - }, - "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 - }, - "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 - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "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" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.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": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "cli-spinners": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.4.0.tgz", - "integrity": "sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA==", - "dev": true - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "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": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" - }, - "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" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "peer": true - }, - "codemirror": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.57.0.tgz", - "integrity": "sha512-WGc6UL7Hqt+8a6ZAsj/f1ApQl3NPvHY/UQSzG6fB6l4BjExgVdhFaxd7mRTw1UCiYe/6q86zHP+kfvBQcZGvUg==" - }, - "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.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", - "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "color-alpha": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.1.2.tgz", - "integrity": "sha512-FOu95n/SjuQyG9lFqzl18S2cfQ4od1QVrvz3PEJxWnRKjAPWBj7FILNnGSUfIXNgmMx58vaXp24URXeqF5obZQ==", - "requires": { - "color-parse": "^1.4.1" - } - }, - "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-id": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/color-id/-/color-id-1.1.0.tgz", - "integrity": "sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==", - "requires": { - "clamp": "^1.0.1" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-normalize": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/color-normalize/-/color-normalize-1.5.2.tgz", - "integrity": "sha512-yYMIoyFJmUoKbCK6sBShljBWfkt8DXVfaZJn9/zvRJkF9eQJDbZhcYC6LdOVy40p4tfVwYYb9cXl8oqpu7pzBw==", - "requires": { - "color-rgba": "^2.2.0", - "dtype": "^2.0.0" - } - }, - "color-parse": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.4.2.tgz", - "integrity": "sha512-RI7s49/8yqDj3fECFZjUI1Yi0z/Gq1py43oNJivAIIDSyJiOZLfYCRQEgn8HEVAj++PcRe8AnL2XF0fRJ3BTnA==", - "requires": { - "color-name": "^1.0.0" - } - }, - "color-rgba": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-2.2.3.tgz", - "integrity": "sha512-C20bgnIy09NoXDzhu3RB/SHVlk0y+2zcnkumpVvGOWCrz3rF2xJLS53Fc2ai2Jebs3X7ILZFswN7vVLD2HLr2g==", - "requires": { - "color-parse": "^1.4.1", - "color-space": "^1.14.6" - } - }, - "color-space": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/color-space/-/color-space-1.16.0.tgz", - "integrity": "sha512-A6WMiFzunQ8KEPFmj02OnnoUnqhmSaHaZ/0LVFcPTdlvm8+3aMJ5x1HRHy3bDHPkovkf4sS0f4wsVvwk71fKkg==", - "requires": { - "hsluv": "^0.0.3", - "mumath": "^3.3.4" - } - }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "colormap": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/colormap/-/colormap-2.3.1.tgz", - "integrity": "sha512-TEzNlo/qYp6pBoR2SK9JiV+DG1cmUcVO/+DEJqVPSHIKNlWh5L5L4FYog7b/h0bAnhKhpOAvx/c1dFp2QE9sFw==", - "requires": { - "lerp": "^1.0.3" - } - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "combine-lists": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", - "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", - "dev": true, - "requires": { - "lodash": "^4.5.0" - } - }, - "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.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "compare-angle": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/compare-angle/-/compare-angle-1.0.1.tgz", - "integrity": "sha1-pOtjQW6jx0f8a9bItjZotN5PoSk=", - "requires": { - "robust-orientation": "^1.0.2", - "robust-product": "^1.0.0", - "robust-sum": "^1.0.0", - "signum": "^0.0.0", - "two-sum": "^1.0.0" - } - }, - "compare-cell": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/compare-cell/-/compare-cell-1.0.0.tgz", - "integrity": "sha1-qetwj24OQa73qlZrEw8ZaNyeGqo=" - }, - "compare-oriented-cell": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/compare-oriented-cell/-/compare-oriented-cell-1.0.1.tgz", - "integrity": "sha1-ahSf7vnfxPj8YjWOUd1C7/u9w54=", - "requires": { - "cell-orientation": "^1.0.1", - "compare-cell": "^1.0.0" - } - }, - "compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "component-classes": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz", - "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=", - "requires": { - "component-indexof": "0.0.3" - } - }, - "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 - }, - "component-indexof": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", - "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=" - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "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 - } - } - }, - "compute-dims": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/compute-dims/-/compute-dims-1.1.0.tgz", - "integrity": "sha512-YHMiIKjH/8Eom8zATk3g8/lH3HxGCZcVQyEfEoVrfWI7od/WRpTgRGShnei3jArYSx77mQqPxZNokjGHCdLfxg==", - "requires": { - "utils-copy": "^1.0.0", - "validate.io-array": "^1.0.6", - "validate.io-matrix-like": "^1.0.2", - "validate.io-ndarray-like": "^1.0.0", - "validate.io-positive-integer": "^1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "condense-newlines": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", - "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-whitespace": "^0.3.0", - "kind-of": "^3.0.2" - }, - "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" - } - }, - "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" - } - } - } - }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "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" - } - }, - "const-max-uint32": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/const-max-uint32/-/const-max-uint32-1.0.2.tgz", - "integrity": "sha1-8Am7YjDmeO2HTdLWqc2ePL+rtnY=" - }, - "const-pinf-float64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/const-pinf-float64/-/const-pinf-float64-1.0.0.tgz", - "integrity": "sha1-9u+w15+cCYbT558pI6v5twtj1yY=" - }, - "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 - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "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==", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "convex-hull": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/convex-hull/-/convex-hull-1.0.3.tgz", - "integrity": "sha1-IKOqbOh/St6i/30XlxyfwcZ+H/8=", - "requires": { - "affine-hull": "^1.0.0", - "incremental-convex-hull": "^1.0.1", - "monotone-convex-hull-2d": "^1.0.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "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.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", - "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": "^2.1.2", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "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" - } - } - } - }, - "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" - } - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "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" - } - }, - "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "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.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" - }, - "core-js-compat": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.1.tgz", - "integrity": "sha512-aZ0e4tmlG/aOBHj92/TuOuZwp6jFvn1WNabU5VOVixzhu5t5Ao+JZkQOPlgNXu6ynwLrwJxklT4Gw1G1VGEh+g==", - "dev": true, - "requires": { - "browserslist": "^4.16.5", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "country-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/country-regex/-/country-regex-1.1.0.tgz", - "integrity": "sha1-UcMz3N8Sknt+XuucEKyBEqYSCJY=" - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "create-emotion": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.12.tgz", - "integrity": "sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA==", - "requires": { - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "@emotion/unitless": "^0.6.2", - "csstype": "^2.5.2", - "stylis": "^3.5.0", - "stylis-rule-sheet": "^0.0.10" - } - }, - "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-fetch": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", - "integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==", - "requires": { - "node-fetch": "2.6.1" - } - }, - "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" - } - }, - "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-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true - }, - "css-animation": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/css-animation/-/css-animation-1.6.1.tgz", - "integrity": "sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog==", - "requires": { - "babel-runtime": "6.x", - "component-classes": "^1.2.5" - } - }, - "css-color-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" - }, - "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-font": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-font/-/css-font-1.2.0.tgz", - "integrity": "sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==", - "requires": { - "css-font-size-keywords": "^1.0.0", - "css-font-stretch-keywords": "^1.0.1", - "css-font-style-keywords": "^1.0.1", - "css-font-weight-keywords": "^1.0.0", - "css-global-keywords": "^1.0.1", - "css-system-font-keywords": "^1.0.0", - "pick-by-alias": "^1.2.0", - "string-split-by": "^1.0.0", - "unquote": "^1.1.0" - } - }, - "css-font-size-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", - "integrity": "sha1-hUh1rOmspqjS7g00WkSq6btttss=" - }, - "css-font-stretch-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", - "integrity": "sha1-UM7puboDH7XJUtRyMTnx4Qe1SxA=" - }, - "css-font-style-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", - "integrity": "sha1-XDUygT9jtKHelU0TzqhqtDM0CeQ=" - }, - "css-font-weight-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", - "integrity": "sha1-m8BGcayFvHJLV07106yWsNYE/Zc=" - }, - "css-global-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz", - "integrity": "sha1-cqmupyeW0Bmx0qMlLeTlqqN+Smk=" - }, - "css-line-break": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-1.1.1.tgz", - "integrity": "sha512-1feNVaM4Fyzdj4mKPIQNL2n70MmuYzAXZ1aytlROFX1JsOo070OsugwGjj7nl6jnDJWHDM8zRZswkmeYVWZJQA==", - "requires": { - "base64-arraybuffer": "^0.2.0" - }, - "dependencies": { - "base64-arraybuffer": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz", - "integrity": "sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ==" - } - } - }, - "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": { - "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": "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-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-system-font-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", - "integrity": "sha1-hcbwhquk6zLFcaMIav/ENLhII+0=" - }, - "css-to-react-native": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.0.0.tgz", - "integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==", - "requires": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" - } - }, - "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": "3.3.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", - "dev": true - }, - "csscolorparser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", - "integrity": "sha1-s085HupNqPPpgjHizNjfnAQfFxs=" - }, - "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.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "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.2", - "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.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", - "dev": true, - "requires": { - "css-tree": "1.0.0-alpha.39" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", - "dev": true, - "requires": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", - "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 - } - } - }, - "csstype": { - "version": "2.6.13", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.13.tgz", - "integrity": "sha512-ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A==" - }, - "cubic-hermite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cubic-hermite/-/cubic-hermite-1.0.0.tgz", - "integrity": "sha1-hOOy8nKzFFToOTuZu2rtRRaMFOU=" - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "cwise-compiler": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz", - "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=", - "requires": { - "uniq": "^1.0.0" - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "d3": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", - "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=" - }, - "d3-array": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", - "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" - }, - "d3-collection": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", - "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" - }, - "d3-color": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", - "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" - }, - "d3-dispatch": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", - "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" - }, - "d3-force": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", - "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", - "requires": { - "d3-collection": "1", - "d3-dispatch": "1", - "d3-quadtree": "1", - "d3-timer": "1" - } - }, - "d3-hierarchy": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", - "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==" - }, - "d3-interpolate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", - "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", - "requires": { - "d3-color": "1" - } - }, - "d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" - }, - "d3-quadtree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", - "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==" - }, - "d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", - "requires": { - "d3-path": "1" - } - }, - "d3-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", - "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" - }, - "d3-time-format": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", - "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", - "requires": { - "d3-time": "1" - } - }, - "d3-timer": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", - "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" - }, - "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" - } - }, - "dataurl-to-blob": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/dataurl-to-blob/-/dataurl-to-blob-0.0.1.tgz", - "integrity": "sha1-B75KpV2G1MtWIk5Y4xgR9diFxMs=", - "requires": { - "jshint": "^2.9.2" - } - }, - "date-format": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", - "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=", - "dev": true - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, - "dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.3.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.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "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 - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "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==", - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true - }, - "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.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "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.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "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" - } - } - } - }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "requires": { - "strip-bom": "^3.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==", - "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" - }, - "dependencies": { - "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-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-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" - } - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" - }, - "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 - } - } - }, - "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 - } - } - }, - "delaunay-triangulate": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/delaunay-triangulate/-/delaunay-triangulate-1.1.6.tgz", - "integrity": "sha1-W7yiGweBmNS8PHV5ajXLuYwllUw=", - "requires": { - "incremental-convex-hull": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "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-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "detect-kerning": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-kerning/-/detect-kerning-2.1.2.tgz", - "integrity": "sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==" - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diff-match-patch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", - "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==" - }, - "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.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "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.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "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" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-align": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.0.tgz", - "integrity": "sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA==" - }, - "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-event-types": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.0.0.tgz", - "integrity": "sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ==", - "dev": true - }, - "dom-helpers": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", - "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", - "requires": { - "@babel/runtime": "^7.1.2" - } - }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, - "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" - } - } - }, - "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": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "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" - } - }, - "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", - "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 - }, - "dotignore": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", - "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "double-bits": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/double-bits/-/double-bits-1.1.1.tgz", - "integrity": "sha1-WKu6RUlNpND6Nrc60RoobJGEscY=" - }, - "draft-js": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.11.7.tgz", - "integrity": "sha512-ne7yFfN4sEL82QPQEn80xnADR8/Q6ALVworbC5UOSzOvjffmYfFsr3xSZtxbIirti14R7Y33EZC5rivpLgIbsg==", - "requires": { - "fbjs": "^2.0.0", - "immutable": "~3.7.4", - "object-assign": "^4.1.1" - } - }, - "draft-js-import-element": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/draft-js-import-element/-/draft-js-import-element-1.4.0.tgz", - "integrity": "sha512-WmYT5PrCm47lGL5FkH6sRO3TTAcn7qNHsD3igiPqLG/RXrqyKrqN4+wBgbcT2lhna/yfWTRtgzAbQsSJoS1Meg==", - "requires": { - "draft-js-utils": "^1.4.0", - "synthetic-dom": "^1.4.0" - } - }, - "draft-js-import-html": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/draft-js-import-html/-/draft-js-import-html-1.4.1.tgz", - "integrity": "sha512-KOZmtgxZriCDgg5Smr3Y09TjubvXe7rHPy/2fuLSsL+aSzwUDwH/aHDA/k47U+WfpmL4qgyg4oZhqx9TYJV0tg==", - "requires": { - "draft-js-import-element": "^1.4.0" - } - }, - "draft-js-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/draft-js-utils/-/draft-js-utils-1.4.0.tgz", - "integrity": "sha512-8s9FFuKC+lOWGwJ0b3om2PF+uXrqQPaEQlPJI7UxdzxTYGMeKouMPA9+YlPn52zcAVElIZtd2tXj6eQmvlKelw==" - }, - "draw-svg-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz", - "integrity": "sha1-bxFtli3TFLmepTTW9Y3WbNvWk3k=", - "requires": { - "abs-svg-path": "~0.1.1", - "normalize-svg-path": "~0.1.0" - } - }, - "dtype": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dtype/-/dtype-2.0.0.tgz", - "integrity": "sha1-zQUjI84GFETs0uj1dI9popvihDQ=" - }, - "dup": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", - "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=" - }, - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "earcut": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.2.tgz", - "integrity": "sha512-eZoZPPJcUHnfRZ0PjLvx2qBordSiO8ofC3vt+qACLM95u+4DovnbYNpQtJh0DNsWj8RnxrQytD4WA8gj5cRIaQ==" - }, - "easy-stack": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz", - "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g=", - "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" - } - }, - "edges-to-adjacency-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/edges-to-adjacency-list/-/edges-to-adjacency-list-1.0.0.tgz", - "integrity": "sha1-wUbS4ISt37p0pRKTxuAZmkn3V/E=", - "requires": { - "uniq": "^1.0.0" - } - }, - "editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", - "dev": true, - "requires": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" - }, - "dependencies": { - "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" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "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.3.723", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz", - "integrity": "sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg==", - "dev": true - }, - "element-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/element-size/-/element-size-1.1.1.tgz", - "integrity": "sha1-ZOXxWdlxIWMYRby67K8nnDm1404=" - }, - "elementary-circuits-directed-graph": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/elementary-circuits-directed-graph/-/elementary-circuits-directed-graph-1.2.0.tgz", - "integrity": "sha512-eOQofnrNqebPtC29PvyNMGUBdMrIw5i8nOoC/2VOlSF84tf5+ZXnRkIk7TgdT22jFXK68CC7aA881KRmNYf/Pg==", - "requires": { - "strongly-connected-components": "^1.0.1" - } - }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "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 - }, - "emotion": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.12.tgz", - "integrity": "sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ==", - "requires": { - "babel-plugin-emotion": "^9.2.11", - "create-emotion": "^9.2.12" - } - }, - "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==", - "requires": { - "once": "^1.4.0" - } - }, - "engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" - }, - "dependencies": { - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "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 - } - } - }, - "engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "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 - } - } - }, - "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, - "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "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==", - "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==", - "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==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es5-shim": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.14.tgz", - "integrity": "sha512-7SwlpL+2JpymWTt8sNLuC2zdhhc+wrfe5cMPI2j0o6WsPdfAiPwmFy2f0AocPB4RQVBOZ9kNTgi5YF7TdhkvEg==", - "dev": true - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "peer": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "peer": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" - }, - "dependencies": { - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "peer": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - } - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "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": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.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==", - "optional": true - } - } - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "peer": true, - "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", - "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "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 - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "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-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "eslint-config-standard": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz", - "integrity": "sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg==", - "dev": true - }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-import-resolver-webpack": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.12.2.tgz", - "integrity": "sha512-7Jnm4YAoNNkvqPaZkKdIHsKGmv8/uNnYC5QsXkiSodvX4XEEfH2AKOna98FK52fCDXm3q4HzuX+7pRMKkJ64EQ==", - "dev": true, - "requires": { - "array-find": "^1.0.0", - "debug": "^2.6.9", - "enhanced-resolve": "^0.9.1", - "find-root": "^1.1.0", - "has": "^1.0.3", - "interpret": "^1.2.0", - "lodash": "^4.17.15", - "node-libs-browser": "^1.0.0 || ^2.0.0", - "resolve": "^1.13.1", - "semver": "^5.7.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" - } - }, - "enhanced-resolve": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", - "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.2.0", - "tapable": "^0.1.8" - } - }, - "memory-fs": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "tapable": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", - "dev": true - } - } - }, - "eslint-loader": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", - "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", - "dev": true, - "requires": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" - } - }, - "eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.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" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - } - } - }, - "eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "requires": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true - } - } - }, - "eslint-plugin-import": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", - "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", - "dev": true, - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.3", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.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" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "requires": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "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 - } - } - }, - "eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", - "dev": true - }, - "eslint-plugin-standard": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz", - "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==", - "dev": true - }, - "eslint-plugin-vue": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz", - "integrity": "sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==", - "dev": true, - "requires": { - "natural-compare": "^1.4.0", - "semver": "^5.6.0", - "vue-eslint-parser": "^7.0.0" - } - }, - "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" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", - "dev": 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==" - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", - "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "peer": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "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.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "dev": true - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "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" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" - }, - "expand-braces": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", - "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", - "dev": true, - "requires": { - "array-slice": "^0.2.3", - "array-unique": "^0.2.1", - "braces": "^0.1.2" - }, - "dependencies": { - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", - "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", - "dev": true, - "requires": { - "expand-range": "^0.1.0" - } - } - } - }, - "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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "expand-range": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", - "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", - "dev": true, - "requires": { - "is-number": "^0.1.1", - "repeat-string": "^0.2.2" - }, - "dependencies": { - "is-number": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", - "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", - "dev": true - }, - "repeat-string": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", - "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", - "dev": true - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "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.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "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.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", - "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==" - } - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "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-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-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-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" - } - } - } - }, - "extract-frustum-planes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/extract-frustum-planes/-/extract-frustum-planes-1.0.0.tgz", - "integrity": "sha1-l9VwP/BWTIw8aDjKxF+ee8UsnvU=" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "falafel": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", - "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", - "requires": { - "acorn": "^7.1.1", - "foreach": "^2.0.5", - "isarray": "^2.0.1", - "object-keys": "^1.0.6" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - } - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - } - } - }, - "fast-isnumeric": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/fast-isnumeric/-/fast-isnumeric-1.1.4.tgz", - "integrity": "sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==", - "requires": { - "is-string-blank": "^1.0.1" - } - }, - "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=" - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fbjs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-2.0.0.tgz", - "integrity": "sha512-8XA8ny9ifxrAWlyhAbexXcs3rRMtxWcs3M0lctLfB49jRDHiaxj+Mo0XxbwE7nKZYzgCFoq64FS+WFd4IycPPQ==", - "requires": { - "core-js": "^3.6.4", - "cross-fetch": "^3.0.4", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - } - }, - "fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, - "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 - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "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-selector": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.1.13.tgz", - "integrity": "sha512-T2efCBY6Ps+jLIWdNQsmzt/UnAjKOEAlsZVdnQztg/BtAZGNL4uX1Jet9cMM8gify/x4CSudreji2HssGBNVIQ==", - "requires": { - "tslib": "^2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "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 - }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" - } - }, - "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": "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" - } - } - } - }, - "filtered-vector": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/filtered-vector/-/filtered-vector-1.2.4.tgz", - "integrity": "sha1-VkU8A030MC0pPKjs3qw/kKvGeNM=", - "requires": { - "binary-search-bounds": "^1.0.0", - "cubic-hermite": "^1.0.0" - } - }, - "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": "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-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "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" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "flatten-vertex-data": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz", - "integrity": "sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==", - "requires": { - "dtype": "^2.0.0" - } - }, - "flip-pixels": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flip-pixels/-/flip-pixels-1.0.2.tgz", - "integrity": "sha512-oXbJGbjDnfJRWPC7Va38EFhd+A8JWE5/hCiKcK8qjCdbLj9DTpsq6MEudwpRTH+V4qq+Jw7d3pUgQdSr3x3mTA==" - }, - "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.12.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.12.1.tgz", - "integrity": "sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg==", - "dev": true - }, - "font-atlas": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/font-atlas/-/font-atlas-2.1.0.tgz", - "integrity": "sha512-kP3AmvX+HJpW4w3d+PiPR2X6E1yvsBXt2yhuCw+yReO9F1WYhvZwx3c95DGZGwg9xYzDGrgJYa885xmVA+28Cg==", - "requires": { - "css-font": "^1.0.0" - } - }, - "font-measure": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/font-measure/-/font-measure-1.2.2.tgz", - "integrity": "sha512-mRLEpdrWzKe9hbfaF3Qpr06TAjquuBVP5cHy4b3hyeNdjc9i0PO6HniGsX5vjL5OWv7+Bd++NiooNpT/s8BvIA==", - "requires": { - "css-font": "^1.2.0" - } - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "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" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "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=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-access": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", - "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", - "dev": true, - "requires": { - "null-check": "^1.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-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "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==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "gamma": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/gamma/-/gamma-0.1.0.tgz", - "integrity": "sha1-MxVkNAO/J5BsqAqzfDbs6UQO8zA=" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "geojson-vt": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", - "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==" - }, - "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-canvas-context": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-canvas-context/-/get-canvas-context-1.0.2.tgz", - "integrity": "sha1-1ue1C8TkyGNXzTnyJkeoS3NgHpM=" - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "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==", - "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-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "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==", - "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" - } - }, - "gl-axes3d": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/gl-axes3d/-/gl-axes3d-1.5.3.tgz", - "integrity": "sha512-KRYbguKQcDQ6PcB9g1pgqB8Ly4TY1DQODpPKiDTasyWJ8PxQk0t2Q7XoQQijNqvsguITCpVVCzNb5GVtIWiVlQ==", - "requires": { - "bit-twiddle": "^1.0.2", - "dup": "^1.0.0", - "extract-frustum-planes": "^1.0.0", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-state": "^1.0.0", - "gl-vao": "^1.3.0", - "gl-vec4": "^1.0.1", - "glslify": "^7.0.0", - "robust-orientation": "^1.1.3", - "split-polygon": "^1.0.0", - "vectorize-text": "^3.2.1" - }, - "dependencies": { - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/gl-buffer/-/gl-buffer-2.1.2.tgz", - "integrity": "sha1-LbjZwaVSf7oM25EonCBuiCuInNs=", - "requires": { - "ndarray": "^1.0.15", - "ndarray-ops": "^1.1.0", - "typedarray-pool": "^1.0.0" - } - }, - "gl-cone3d": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/gl-cone3d/-/gl-cone3d-1.5.2.tgz", - "integrity": "sha512-1JNeHH4sUtUmDA4ZK7Om8/kShwb8IZVAsnxaaB7IPRJsNGciLj1sTpODrJGeMl41RNkex5kXD2SQFrzyEAR2Rw==", - "requires": { - "colormap": "^2.3.1", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "gl-vec3": "^1.1.3", - "glsl-inverse": "^1.0.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-cook-torrance": "^2.0.1", - "glslify": "^7.0.0", - "ndarray": "^1.0.18" - }, - "dependencies": { - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gl-constants/-/gl-constants-1.0.0.tgz", - "integrity": "sha1-WXpQTjZHUP9QJTqjX43qevSl0jM=" - }, - "gl-contour2d": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/gl-contour2d/-/gl-contour2d-1.1.7.tgz", - "integrity": "sha512-GdebvJ9DtT3pJDpoE+eU2q+Wo9S3MijPpPz5arZbhK85w2bARmpFpVfPaDlZqWkB644W3BlH8TVyvAo1KE4Bhw==", - "requires": { - "binary-search-bounds": "^2.0.4", - "cdt2d": "^1.0.0", - "clean-pslg": "^1.1.2", - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0", - "iota-array": "^1.0.0", - "ndarray": "^1.0.18", - "surface-nets": "^1.0.2" - }, - "dependencies": { - "binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-error3d": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/gl-error3d/-/gl-error3d-1.0.16.tgz", - "integrity": "sha512-TGJewnKSp7ZnqGgG3XCF9ldrDbxZrO+OWlx6oIet4OdOM//n8xJ5isArnIV/sdPJnFbhfoLxWrW9f5fxHFRQ1A==", - "requires": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glslify": "^7.0.0" - }, - "dependencies": { - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-fbo": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.5.tgz", - "integrity": "sha1-D6daSXz3h2lVMGkcjwSrtvtV+iI=", - "requires": { - "gl-texture2d": "^2.0.0" - } - }, - "gl-format-compiler-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/gl-format-compiler-error/-/gl-format-compiler-error-1.0.3.tgz", - "integrity": "sha1-DHmxdRiZzpcy6GJA8JCqQemEcag=", - "requires": { - "add-line-numbers": "^1.0.1", - "gl-constants": "^1.0.0", - "glsl-shader-name": "^1.0.0", - "sprintf-js": "^1.0.3" - } - }, - "gl-heatmap2d": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/gl-heatmap2d/-/gl-heatmap2d-1.1.0.tgz", - "integrity": "sha512-0FLXyxv6UBCzzhi4Q2u+9fUs6BX1+r5ZztFe27VikE9FUVw7hZiuSHmgDng92EpydogcSYHXCIK8+58RagODug==", - "requires": { - "binary-search-bounds": "^2.0.4", - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0", - "iota-array": "^1.0.0", - "typedarray-pool": "^1.2.0" - }, - "dependencies": { - "binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-line3d": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/gl-line3d/-/gl-line3d-1.2.1.tgz", - "integrity": "sha512-eeb0+RI2ZBRqMYJK85SgsRiJK7c4aiOjcnirxv0830A3jmOc99snY3AbPcV8KvKmW0Yaf3KA4e+qNCbHiTOTnA==", - "requires": { - "binary-search-bounds": "^2.0.4", - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glslify": "^7.0.0", - "ndarray": "^1.0.18" - }, - "dependencies": { - "binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-mat3": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gl-mat3/-/gl-mat3-1.0.0.tgz", - "integrity": "sha1-iWMyGcpCk3mha5GF2V1BcTRTuRI=" - }, - "gl-mat4": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz", - "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==" - }, - "gl-matrix": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.3.0.tgz", - "integrity": "sha512-COb7LDz+SXaHtl/h4LeaFcNdJdAQSDeVqjiIihSXNrkWObZLhDI4hIkZC11Aeqp7bcE72clzB0BnDXr2SmslRA==" - }, - "gl-mesh3d": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.3.1.tgz", - "integrity": "sha512-pXECamyGgu4/9HeAQSE5OEUuLBGS1aq9V4BCsTcxsND4fNLaajEkYKUz/WY2QSYElqKdsMBVsldGiKRKwlybqA==", - "requires": { - "barycentric": "^1.0.1", - "colormap": "^2.3.1", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-cook-torrance": "^2.0.1", - "glslify": "^7.0.0", - "ndarray": "^1.0.18", - "normals": "^1.1.0", - "polytope-closest-point": "^1.0.0", - "simplicial-complex-contour": "^1.0.2", - "typedarray-pool": "^1.1.0" - } - }, - "gl-plot2d": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/gl-plot2d/-/gl-plot2d-1.4.5.tgz", - "integrity": "sha512-6GmCN10SWtV+qHFQ1gjdnVubeHFVsm6P4zmo0HrPIl9TcdePCUHDlBKWAuE6XtFhiMKMj7R8rApOX8O8uXUYog==", - "requires": { - "binary-search-bounds": "^2.0.4", - "gl-buffer": "^2.1.2", - "gl-select-static": "^2.0.7", - "gl-shader": "^4.2.1", - "glsl-inverse": "^1.0.0", - "glslify": "^7.0.0", - "text-cache": "^4.2.2" - }, - "dependencies": { - "binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-plot3d": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/gl-plot3d/-/gl-plot3d-2.4.7.tgz", - "integrity": "sha512-mLDVWrl4Dj0O0druWyHUK5l7cBQrRIJRn2oROEgrRuOgbbrLAzsREKefwMO0bA0YqkiZMFMnV5VvPA9j57X5Xg==", - "requires": { - "3d-view": "^2.0.0", - "a-big-triangle": "^1.0.3", - "gl-axes3d": "^1.5.3", - "gl-fbo": "^2.0.5", - "gl-mat4": "^1.2.0", - "gl-select-static": "^2.0.7", - "gl-shader": "^4.2.1", - "gl-spikes3d": "^1.0.10", - "glslify": "^7.0.0", - "has-passive-events": "^1.0.0", - "is-mobile": "^2.2.1", - "mouse-change": "^1.4.0", - "mouse-event-offset": "^3.0.2", - "mouse-wheel": "^1.2.0", - "ndarray": "^1.0.19", - "right-now": "^1.0.0" - } - }, - "gl-pointcloud2d": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/gl-pointcloud2d/-/gl-pointcloud2d-1.0.3.tgz", - "integrity": "sha512-OS2e1irvJXVRpg/GziXj10xrFJm9kkRfFoB6BLUvkjCQV7ZRNNcs2CD+YSK1r0gvMwTg2T3lfLM3UPwNtz+4Xw==", - "requires": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0", - "typedarray-pool": "^1.1.0" - }, - "dependencies": { - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-quat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gl-quat/-/gl-quat-1.0.0.tgz", - "integrity": "sha1-CUXskjOG9FMpvl3DV7HIwtR1hsU=", - "requires": { - "gl-mat3": "^1.0.0", - "gl-vec3": "^1.0.3", - "gl-vec4": "^1.0.0" - } - }, - "gl-scatter3d": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/gl-scatter3d/-/gl-scatter3d-1.2.3.tgz", - "integrity": "sha512-nXqPlT1w5Qt51dTksj+DUqrZqwWAEWg0PocsKcoDnVNv0X8sGA+LBZ0Y+zrA+KNXUL0PPCX9WR9cF2uJAZl1Sw==", - "requires": { - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glslify": "^7.0.0", - "is-string-blank": "^1.0.1", - "typedarray-pool": "^1.1.0", - "vectorize-text": "^3.2.1" - }, - "dependencies": { - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-select-box": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/gl-select-box/-/gl-select-box-1.0.4.tgz", - "integrity": "sha512-mKsCnglraSKyBbQiGq0Ila0WF+m6Tr+EWT2yfaMn/Sh9aMHq5Wt0F/l6Cf/Ed3CdERq5jHWAY5yxLviZteYu2w==", - "requires": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0" - }, - "dependencies": { - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-select-static": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/gl-select-static/-/gl-select-static-2.0.7.tgz", - "integrity": "sha512-OvpYprd+ngl3liEatBTdXhSyNBjwvjMSvV2rN0KHpTU+BTi4viEETXNZXFgGXY37qARs0L28ybk3UQEW6C5Nnw==", - "requires": { - "bit-twiddle": "^1.0.2", - "gl-fbo": "^2.0.5", - "ndarray": "^1.0.18", - "typedarray-pool": "^1.1.0" - } - }, - "gl-shader": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/gl-shader/-/gl-shader-4.2.1.tgz", - "integrity": "sha1-vJuAjpKTxRtmjojeYVsMETcI3C8=", - "requires": { - "gl-format-compiler-error": "^1.0.2", - "weakmap-shim": "^1.1.0" - } - }, - "gl-spikes2d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/gl-spikes2d/-/gl-spikes2d-1.0.2.tgz", - "integrity": "sha512-QVeOZsi9nQuJJl7NB3132CCv5KA10BWxAY2QgJNsKqbLsG53B/TrGJpjIAohnJftdZ4fT6b3ZojWgeaXk8bOOA==" - }, - "gl-spikes3d": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/gl-spikes3d/-/gl-spikes3d-1.0.10.tgz", - "integrity": "sha512-lT3xroowOFxMvlhT5Mof76B2TE02l5zt/NIWljhczV2FFHgIVhA4jMrd5dIv1so1RXMBDJIKu0uJI3QKliDVLg==", - "requires": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "gl-vao": "^1.3.0", - "glslify": "^7.0.0" - }, - "dependencies": { - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-state": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gl-state/-/gl-state-1.0.0.tgz", - "integrity": "sha1-Ji+qdYNbC5xTLBLzitxCXR0wzRc=", - "requires": { - "uniq": "^1.0.0" - } - }, - "gl-streamtube3d": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/gl-streamtube3d/-/gl-streamtube3d-1.4.1.tgz", - "integrity": "sha512-rH02v00kgwgdpkXVo7KsSoPp38bIAYR9TE1iONjcQ4cQAlDhrGRauqT/P5sUaOIzs17A2DxWGcXM+EpNQs9pUA==", - "requires": { - "gl-cone3d": "^1.5.2", - "gl-vec3": "^1.1.3", - "gl-vec4": "^1.0.1", - "glsl-inverse": "^1.0.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-cook-torrance": "^2.0.1", - "glslify": "^7.0.0" - }, - "dependencies": { - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-surface3d": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/gl-surface3d/-/gl-surface3d-1.6.0.tgz", - "integrity": "sha512-x15+u4712ysnB85G55RLJEml6mOB4VaDn0VTlXCc9JcjRl5Es10Tk7lhGGyiPtkCfHwvhnkxzYA1/rHHYN7Y0A==", - "requires": { - "binary-search-bounds": "^2.0.4", - "bit-twiddle": "^1.0.2", - "colormap": "^2.3.1", - "dup": "^1.0.0", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-beckmann": "^1.1.2", - "glslify": "^7.0.0", - "ndarray": "^1.0.18", - "ndarray-gradient": "^1.0.0", - "ndarray-ops": "^1.2.2", - "ndarray-pack": "^1.2.1", - "ndarray-scratch": "^1.2.0", - "surface-nets": "^1.0.2", - "typedarray-pool": "^1.1.0" - }, - "dependencies": { - "binary-search-bounds": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.4.tgz", - "integrity": "sha512-2hg5kgdKql5ClF2ErBcSx0U5bnl5hgS4v7wMnLFodyR47yMtj2w+UAZB+0CiqyHct2q543i7Bi4/aMIegorCCg==" - }, - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - } - } - }, - "gl-text": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.1.8.tgz", - "integrity": "sha512-whnq9DEFYbW92C4ONwk2eT0YkzmVPHoADnEtuzMOmit87XhgAhBrNs3lK9EgGjU/MoWYvlF6RkI8Kl7Yuo1hUw==", - "requires": { - "bit-twiddle": "^1.0.2", - "color-normalize": "^1.5.0", - "css-font": "^1.2.0", - "detect-kerning": "^2.1.2", - "es6-weak-map": "^2.0.3", - "flatten-vertex-data": "^1.0.2", - "font-atlas": "^2.1.0", - "font-measure": "^1.2.2", - "gl-util": "^3.1.2", - "is-plain-obj": "^1.1.0", - "object-assign": "^4.1.1", - "parse-rect": "^1.2.0", - "parse-unit": "^1.0.1", - "pick-by-alias": "^1.2.0", - "regl": "^1.3.11", - "to-px": "^1.0.1", - "typedarray-pool": "^1.1.0" - } - }, - "gl-texture2d": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/gl-texture2d/-/gl-texture2d-2.1.0.tgz", - "integrity": "sha1-/2gk5+fDGoum/c2+nlxpXX4hh8c=", - "requires": { - "ndarray": "^1.0.15", - "ndarray-ops": "^1.2.2", - "typedarray-pool": "^1.1.0" - } - }, - "gl-util": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/gl-util/-/gl-util-3.1.3.tgz", - "integrity": "sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==", - "requires": { - "is-browser": "^2.0.1", - "is-firefox": "^1.0.3", - "is-plain-obj": "^1.1.0", - "number-is-integer": "^1.0.1", - "object-assign": "^4.1.0", - "pick-by-alias": "^1.2.0", - "weak-map": "^1.0.5" - } - }, - "gl-vao": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/gl-vao/-/gl-vao-1.3.0.tgz", - "integrity": "sha1-6ekqqVWIyrnVwvBLaTRAw99pGSM=" - }, - "gl-vec3": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gl-vec3/-/gl-vec3-1.1.3.tgz", - "integrity": "sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==" - }, - "gl-vec4": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gl-vec4/-/gl-vec4-1.0.1.tgz", - "integrity": "sha1-l9loeCgbFLUyy84QF4Xf0cs0CWQ=" - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.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" - } - }, - "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 - }, - "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" - } - }, - "glsl-inject-defines": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz", - "integrity": "sha1-3RqswsF/yyvT/DJBHGYz0Ne2D9Q=", - "requires": { - "glsl-token-inject-block": "^1.0.0", - "glsl-token-string": "^1.0.1", - "glsl-tokenizer": "^2.0.2" - } - }, - "glsl-inverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glsl-inverse/-/glsl-inverse-1.0.0.tgz", - "integrity": "sha1-EsCx0GX1WERNHm/q95td34qRiuY=" - }, - "glsl-out-of-range": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/glsl-out-of-range/-/glsl-out-of-range-1.0.4.tgz", - "integrity": "sha512-fCcDu2LCQ39VBvfe1FbhuazXEf0CqMZI9OYXrYlL6uUARG48CTAbL04+tZBtVM0zo1Ljx4OLu2AxNquq++lxWQ==" - }, - "glsl-resolve": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz", - "integrity": "sha1-iUvvc5ENeSyBtRQxgANdCnivdtM=", - "requires": { - "resolve": "^0.6.1", - "xtend": "^2.1.2" - }, - "dependencies": { - "resolve": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", - "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=" - }, - "xtend": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz", - "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=" - } - } - }, - "glsl-shader-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glsl-shader-name/-/glsl-shader-name-1.0.0.tgz", - "integrity": "sha1-osMLO6c0mb77DMcYTXx3M91LSH0=", - "requires": { - "atob-lite": "^1.0.0", - "glsl-tokenizer": "^2.0.2" - } - }, - "glsl-specular-beckmann": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/glsl-specular-beckmann/-/glsl-specular-beckmann-1.1.2.tgz", - "integrity": "sha1-/OkFaTPs3yRWJ4N2pU0IKJPndfE=" - }, - "glsl-specular-cook-torrance": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/glsl-specular-cook-torrance/-/glsl-specular-cook-torrance-2.0.1.tgz", - "integrity": "sha1-qJHMBsjHtPRyhwK0gk/ay7ln148=", - "requires": { - "glsl-specular-beckmann": "^1.1.1" - } - }, - "glsl-token-assignments": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz", - "integrity": "sha1-pdgqt4SZwuimuDy2lJXm5mXOAZ8=" - }, - "glsl-token-defines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz", - "integrity": "sha1-y4kqqVmTYjFyhHDU90AySJaX+p0=", - "requires": { - "glsl-tokenizer": "^2.0.0" - } - }, - "glsl-token-depth": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz", - "integrity": "sha1-I8XjDuK9JViEtKKLyFC495HpXYQ=" - }, - "glsl-token-descope": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz", - "integrity": "sha1-D8kKsyYYa4L1l7LnfcniHvzTIHY=", - "requires": { - "glsl-token-assignments": "^2.0.0", - "glsl-token-depth": "^1.1.0", - "glsl-token-properties": "^1.0.0", - "glsl-token-scope": "^1.1.0" - } - }, - "glsl-token-inject-block": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz", - "integrity": "sha1-4QFfWYDBCRgkraomJfHf3ovQADQ=" - }, - "glsl-token-properties": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz", - "integrity": "sha1-SD3D2Dnw1LXGFx0VkfJJvlPCip4=" - }, - "glsl-token-scope": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz", - "integrity": "sha1-oXKOeN8kRE+cuT/RjvD3VQOmQ7E=" - }, - "glsl-token-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz", - "integrity": "sha1-WUQdL4V958NEnJRWZgIezjWOSOw=" - }, - "glsl-token-whitespace-trim": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz", - "integrity": "sha1-RtHf6Yx1vX1QTAXX0RsbPpzJOxA=" - }, - "glsl-tokenizer": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", - "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", - "requires": { - "through2": "^0.6.3" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - } - } - }, - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - }, - "glslify-bundle": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glslify-bundle/-/glslify-bundle-5.1.1.tgz", - "integrity": "sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==", - "requires": { - "glsl-inject-defines": "^1.0.1", - "glsl-token-defines": "^1.0.0", - "glsl-token-depth": "^1.1.1", - "glsl-token-descope": "^1.0.2", - "glsl-token-scope": "^1.1.1", - "glsl-token-string": "^1.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glsl-tokenizer": "^2.0.2", - "murmurhash-js": "^1.0.0", - "shallow-copy": "0.0.1" - } - }, - "glslify-deps": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/glslify-deps/-/glslify-deps-1.3.1.tgz", - "integrity": "sha512-Ogm179MCazwIRyEqs3g3EOY4Y3XIAa0yl8J5RE9rJC6QH1w8weVOp2RZu0mvnYy/2xIas1w166YR2eZdDkWQxg==", - "requires": { - "@choojs/findup": "^0.2.0", - "events": "^1.0.2", - "glsl-resolve": "0.0.1", - "glsl-tokenizer": "^2.0.0", - "graceful-fs": "^4.1.2", - "inherits": "^2.0.1", - "map-limit": "0.0.1", - "resolve": "^1.0.0" - }, - "dependencies": { - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - } - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "grid-index": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", - "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "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 - }, - "handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.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 - } - } - }, - "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.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "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==", - "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==" - }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "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-hover": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-hover/-/has-hover-1.0.1.tgz", - "integrity": "sha1-PZdDeusZnGK4rAisvcU9O8UsF/c=", - "requires": { - "is-browser": "^2.0.1" - } - }, - "has-passive-events": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-passive-events/-/has-passive-events-1.0.0.tgz", - "integrity": "sha512-2vSj6IeIsgvsRMyeQ0JaCX5Q3lX4zMn5HpoVc7MEhQ6pv8Iq9rsXjsp+E5ZwaT7T0xhMT0KmU8gtt1EFVdbJiw==", - "requires": { - "is-browser": "^2.0.1" - } - }, - "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==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "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": "9.18.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", - "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==", - "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" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "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.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "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 - }, - "hsluv": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/hsluv/-/hsluv-0.0.3.tgz", - "integrity": "sha1-gpEH2vtKn4tSoYCe0C4JHq3mdUw=" - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", - "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" - }, - "dependencies": { - "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 - } - } - }, - "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "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" - } - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "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" - } - } - } - }, - "html2canvas": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.1.4.tgz", - "integrity": "sha512-uHgQDwrXsRmFdnlOVFvHin9R7mdjjZvoBoXxicPR+NnucngkaLa5zIDW9fzMkiip0jSffyTyWedE8iVogYOeWg==", - "requires": { - "css-line-break": "1.1.1" - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "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" - } - } - } - }, - "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.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "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-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" - } - }, - "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 - }, - "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.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" - } - }, - "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.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "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-palette": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/image-palette/-/image-palette-2.1.0.tgz", - "integrity": "sha512-3ImSEWD26+xuQFdP0RWR4WSXadZwvgrFhjGNpMEapTG1tf2XrBFS2dlKK5hNgH4UIaSQlSUFRn1NeA+zULIWbQ==", - "requires": { - "color-id": "^1.1.0", - "pxls": "^2.0.0", - "quantize": "^1.0.2" - } - }, - "image-size": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", - "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==" - }, - "immutability-helper": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-3.1.1.tgz", - "integrity": "sha512-Q0QaXjPjwIju/28TsugCHNEASwoCcJSyJV3uO1sOIQGI0jKgm9f41Lvz0DZj3n46cNCyAZTsEYoY4C2bVRUzyQ==" - }, - "immutable": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", - "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=" - }, - "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": "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" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "incremental-convex-hull": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/incremental-convex-hull/-/incremental-convex-hull-1.0.1.tgz", - "integrity": "sha1-UUKMFMudmmFEv+abKFH7N3M0vh4=", - "requires": { - "robust-orientation": "^1.1.2", - "simplicial-complex": "^1.0.0" - } - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "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=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "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 - }, - "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 - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "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==", - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "interval-tree-1d": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/interval-tree-1d/-/interval-tree-1d-1.0.3.tgz", - "integrity": "sha1-j9veArayx9verWNry+2OCHENhcE=", - "requires": { - "binary-search-bounds": "^1.0.0" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true, - "peer": true - }, - "invert-permutation": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-permutation/-/invert-permutation-1.0.0.tgz", - "integrity": "sha1-oKeAQurbNrwXVR54fv0UOa3VSTM=" - }, - "iota-array": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", - "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=" - }, - "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": "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-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-base64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-base64/-/is-base64-0.1.0.tgz", - "integrity": "sha512-WRRyllsGXJM7ZN7gPTCCQ/6wNPTRDwiWdPK66l5sJzcU/oOzcIcRRf0Rux8bkpox/1yjt0F6VJRsQOIG2qz5sg==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "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, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-blob": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-blob/-/is-blob-2.1.0.tgz", - "integrity": "sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==" - }, - "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==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz", - "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==" - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "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==" - }, - "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" - } - }, - "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.3.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", - "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "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-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - }, - "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 - } - } - }, - "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.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "dev": true - }, - "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-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-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" - }, - "is-firefox": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-firefox/-/is-firefox-1.0.3.tgz", - "integrity": "sha1-KioVZ3g6QX9uFYMjEI84YbCRhWI=" - }, - "is-float-array": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-float-array/-/is-float-array-1.0.0.tgz", - "integrity": "sha512-4ew1Sx6B6kEAl3T3NOM0yB94J3NZnBdNt4paw0e8nY73yHHTeTEhyQ3Lj7EQEnv5LD+GxNTaT4L46jcKjjpLiQ==" - }, - "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-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-iexplorer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-iexplorer/-/is-iexplorer-1.0.0.tgz", - "integrity": "sha1-HXK8ZtP+Iur2Fw3ajPEJQySM/HY=" - }, - "is-mobile": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.2.tgz", - "integrity": "sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg==" - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "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==" - }, - "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==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-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": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "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-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "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==" - }, - "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==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-string-blank": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-string-blank/-/is-string-blank-1.0.1.tgz", - "integrity": "sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==" - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-svg-path": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-svg-path/-/is-svg-path-1.0.2.tgz", - "integrity": "sha1-d6tZDBKz0gNI5cehPQBAyHeE3aA=" - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "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==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-whitespace": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", - "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", - "dev": true - }, - "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": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "dev": true, - "requires": { - "buffer-alloc": "^1.2.0" - } - }, - "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": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", - "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", - "dev": true, - "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "requires": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.2.0" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": ">=0.0.4" - } - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "istanbul-api": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.7.tgz", - "integrity": "sha512-LYTOa2UrYFyJ/aSczZi/6lBykVMjCCvUmT64gOe+jPZFy4w6FYfPGqFT2IiQ2BxVHHDOvCD7qrIXb0EOh4uGWw==", - "dev": true, - "requires": { - "async": "^2.6.2", - "compare-versions": "^3.4.0", - "fileset": "^2.0.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.5", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "minimatch": "^3.0.4", - "once": "^1.4.0" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-instrumenter-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz", - "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", - "dev": true, - "requires": { - "convert-source-map": "^1.5.0", - "istanbul-lib-instrument": "^1.7.3", - "loader-utils": "^1.1.0", - "schema-utils": "^0.3.0" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "schema-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "dev": true, - "requires": { - "ajv": "^5.0.0" - } - } - } - }, - "istanbul-lib-coverage": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", - "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "dev": true, - "requires": { - "append-transform": "^1.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", - "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", - "dev": true, - "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.1", - "semver": "^5.3.0" - } - }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "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" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "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 - } - } - }, - "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0" - } - }, - "jasmine-core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz", - "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", - "dev": true - }, - "javascript-stringify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.0.1.tgz", - "integrity": "sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==", - "dev": true - }, - "jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "requires": { - "merge-stream": "^2.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.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" - }, - "js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true - }, - "js-beautify": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.11.0.tgz", - "integrity": "sha512-a26B+Cx7USQGSWnz9YxgJNMmML/QG2nqIaL7VVYPCXbqiKz8PN0waSNvroMtvAK6tY7g/wPdNWGEP+JTNIBr6A==", - "dev": true, - "requires": { - "config-chain": "^1.1.12", - "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "mkdirp": "~1.0.3", - "nopt": "^4.0.3" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, - "js-message": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz", - "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=", - "dev": true - }, - "js-queue": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz", - "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=", - "dev": true, - "requires": { - "easy-stack": "^1.0.0" - } - }, - "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.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "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 - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "jshint": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.13.1.tgz", - "integrity": "sha512-vymzfR3OysF5P774x6zYv0bD4EpH6NWRxpq54wO9mA9RuY49yb1teKSICkLx2Ryx+mfzlVVNNbTBtsRtg78t7g==", - "requires": { - "cli": "~1.0.0", - "console-browserify": "1.1.x", - "exit": "0.1.x", - "htmlparser2": "3.8.x", - "lodash": "~4.17.21", - "minimatch": "~3.0.2", - "shelljs": "0.3.x", - "strip-json-comments": "1.0.x" - }, - "dependencies": { - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "requires": { - "date-now": "^0.1.4" - } - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", - "dev": true, - "peer": true - }, - "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==" - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "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.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "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" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "just-extend": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.1.1.tgz", - "integrity": "sha512-aWgeGFW67BP3e5181Ep1Fv2v8z//iBJfrvyTnq8wG86vEESwmonn1zPBJ0VfmT9CJq2FIT0VsETtrNFm2a+SHA==", - "dev": true - }, - "karma": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.4.tgz", - "integrity": "sha512-31Vo8Qr5glN+dZEVIpnPCxEGleqE0EY6CtC2X9TagRV3rRQ3SNrvfhddICkJgUK3AgqpeKSZau03QumTGhGoSw==", - "dev": true, - "requires": { - "bluebird": "^3.3.0", - "body-parser": "^1.16.1", - "chokidar": "^2.0.3", - "colors": "^1.1.0", - "combine-lists": "^1.0.0", - "connect": "^3.6.0", - "core-js": "^2.2.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.0", - "expand-braces": "^0.1.1", - "flatted": "^2.0.0", - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "http-proxy": "^1.13.0", - "isbinaryfile": "^3.0.0", - "lodash": "^4.17.5", - "log4js": "^3.0.0", - "mime": "^2.3.1", - "minimatch": "^3.0.2", - "optimist": "^0.6.1", - "qjobs": "^1.1.4", - "range-parser": "^1.2.0", - "rimraf": "^2.6.0", - "safe-buffer": "^5.0.1", - "socket.io": "2.1.1", - "source-map": "^0.6.1", - "tmp": "0.0.33", - "useragent": "2.3.0" - }, - "dependencies": { - "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 - }, - "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" - } - }, - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "dev": true - }, - "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" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "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" - } - }, - "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 - } - } - }, - "karma-chrome-launcher": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz", - "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", - "dev": true, - "requires": { - "fs-access": "^1.0.0", - "which": "^1.2.1" - } - }, - "karma-coverage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.2.tgz", - "integrity": "sha512-eQawj4Cl3z/CjxslYy9ariU4uDh7cCNFZHNWXWRpl0pNeblY/4wHR7M7boTYXWrn9bY0z2pZmr11eKje/S/hIw==", - "dev": true, - "requires": { - "dateformat": "^1.0.6", - "istanbul": "^0.4.0", - "lodash": "^4.17.0", - "minimatch": "^3.0.0", - "source-map": "^0.5.1" - } - }, - "karma-coverage-istanbul-reporter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.1.tgz", - "integrity": "sha512-CH8lTi8+kKXGvrhy94+EkEMldLCiUA0xMOiL31vvli9qK0T+qcXJAwWBRVJWnVWxYkTmyWar8lPz63dxX6/z1A==", - "dev": true, - "requires": { - "istanbul-api": "^2.1.6", - "minimatch": "^3.0.4" - } - }, - "karma-firefox-launcher": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.0.tgz", - "integrity": "sha512-dkiyqN2R6fCWt78rciOXJLFDWcQ7QEQi++HgebPJlw1y0ycDjGNDHuSrhdh48QG02fzZKK20WHFWVyBZ6CPngg==", - "dev": true, - "requires": { - "is-wsl": "^2.2.0", - "which": "^2.0.1" - }, - "dependencies": { - "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" - } - }, - "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" - } - } - } - }, - "karma-jasmine": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz", - "integrity": "sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==", - "dev": true, - "requires": { - "jasmine-core": "^3.3" - } - }, - "karma-junit-reporter": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-1.2.0.tgz", - "integrity": "sha1-T5xAzt+xo5X4rvh2q/lhiZF8Y5Y=", - "dev": true, - "requires": { - "path-is-absolute": "^1.0.0", - "xmlbuilder": "8.2.2" - } - }, - "karma-mocha": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz", - "integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=", - "dev": true, - "requires": { - "minimist": "1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "karma-phantomjs-shim": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/karma-phantomjs-shim/-/karma-phantomjs-shim-1.5.0.tgz", - "integrity": "sha512-t0h1x7btXROaGElv36TLpuoWqTnVZ/f+GJHH/qVerjbX6AENoM5brQoB9ISO3hQ6zO1k9rDSRLrY5ZZb83ANdg==", - "dev": true - }, - "karma-sinon-chai": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/karma-sinon-chai/-/karma-sinon-chai-2.0.2.tgz", - "integrity": "sha512-SDgh6V0CUd+7ruL1d3yG6lFzmJNGRNQuEuCYXLaorruNP9nwQfA7hpsp4clx4CbOo5Gsajh3qUOT7CrVStUKMw==", - "dev": true, - "requires": {} - }, - "karma-spec-reporter": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz", - "integrity": "sha1-LpxyB+pyZ3EmAln4K+y1QyCeRAo=", - "dev": true, - "requires": { - "colors": "^1.1.2" - } - }, - "karma-structured-json-reporter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/karma-structured-json-reporter/-/karma-structured-json-reporter-1.0.1.tgz", - "integrity": "sha1-HWQJ6mXAFos0XK9309K9n0ztFdU=", - "dev": true - }, - "karma-webpack": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz", - "integrity": "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.1", - "schema-utils": "^1.0.0", - "source-map": "^0.7.3", - "webpack-dev-middleware": "^3.7.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" - } - }, - "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 - } - } - }, - "kdbush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", - "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==" - }, - "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 - }, - "launch-editor": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", - "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "shell-quote": "^1.6.1" - } - }, - "launch-editor-middleware": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", - "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", - "dev": true, - "requires": { - "launch-editor": "^2.2.1" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "peer": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "peer": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "lerp": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/lerp/-/lerp-1.0.3.tgz", - "integrity": "sha1-oYyJaPkXiW3hXM/MKNVaa3Med24=" - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "loader-fs-cache": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", - "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", - "dev": true, - "requires": { - "find-cache-dir": "^0.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "^1.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": "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" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "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.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "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" - } - }, - "log4js": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz", - "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==", - "dev": true, - "requires": { - "circular-json": "^0.5.5", - "date-format": "^1.2.0", - "debug": "^3.1.0", - "rfdc": "^1.1.2", - "streamroller": "0.7.0" - }, - "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" - } - } - } - }, - "loglevel": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", - "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", - "dev": true - }, - "loglevelnext": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", - "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", - "dev": true, - "requires": { - "es6-symbol": "^3.1.1", - "object.assign": "^4.1.0" - } - }, - "lolex": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz", - "integrity": "sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true, - "peer": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "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" - } - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "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" - } - }, - "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-limit": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", - "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", - "requires": { - "once": "~1.3.0" - }, - "dependencies": { - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "requires": { - "wrappy": "1" - } - } - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "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" - } - }, - "mapbox-gl": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.10.1.tgz", - "integrity": "sha512-0aHt+lFUpYfvh0kMIqXqNXqoYMuhuAsMlw87TbhWrw78Tx2zfuPI0Lx31/YPUgJ+Ire0tzQ4JnuBL7acDNXmMg==", - "requires": { - "@mapbox/geojson-rewind": "^0.5.0", - "@mapbox/geojson-types": "^1.0.2", - "@mapbox/jsonlint-lines-primitives": "^2.0.2", - "@mapbox/mapbox-gl-supported": "^1.5.0", - "@mapbox/point-geometry": "^0.1.0", - "@mapbox/tiny-sdf": "^1.1.1", - "@mapbox/unitbezier": "^0.0.0", - "@mapbox/vector-tile": "^1.3.1", - "@mapbox/whoots-js": "^3.1.0", - "csscolorparser": "~1.0.3", - "earcut": "^2.2.2", - "geojson-vt": "^3.2.1", - "gl-matrix": "^3.2.1", - "grid-index": "^1.1.0", - "minimist": "^1.2.5", - "murmurhash-js": "^1.0.0", - "pbf": "^3.2.1", - "potpack": "^1.0.1", - "quickselect": "^2.0.0", - "rw": "^1.3.3", - "supercluster": "^7.0.0", - "tinyqueue": "^2.0.3", - "vt-pbf": "^3.1.1" - } - }, - "marching-simplex-table": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/marching-simplex-table/-/marching-simplex-table-1.0.0.tgz", - "integrity": "sha1-vBYlbg+Pm1WKqbKHL4gy2UM/Uuo=", - "requires": { - "convex-hull": "^1.0.3" - } - }, - "mat4-decompose": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mat4-decompose/-/mat4-decompose-1.0.4.tgz", - "integrity": "sha1-ZetP451wh496RE60Yk1S9+frL68=", - "requires": { - "gl-mat4": "^1.0.1", - "gl-vec3": "^1.0.2" - } - }, - "mat4-interpolate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mat4-interpolate/-/mat4-interpolate-1.0.4.tgz", - "integrity": "sha1-Vf/p6zw1KV4sDVqfdyXZBoqJ/3Q=", - "requires": { - "gl-mat4": "^1.0.1", - "gl-vec3": "^1.0.2", - "mat4-decompose": "^1.0.3", - "mat4-recompose": "^1.0.3", - "quat-slerp": "^1.0.0" - } - }, - "mat4-recompose": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mat4-recompose/-/mat4-recompose-1.0.4.tgz", - "integrity": "sha1-OVPCMP8kc9x3LuAUpSySXPgbDk0=", - "requires": { - "gl-mat4": "^1.0.1" - } - }, - "material-colors": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", - "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" - }, - "math-log2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz", - "integrity": "sha1-+4lBvl9evol55xjmJzsXjlhpRWU=" - }, - "matrix-camera-controller": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/matrix-camera-controller/-/matrix-camera-controller-2.1.3.tgz", - "integrity": "sha1-NeUmDMHNVQliunmfLY1OlLGjk3A=", - "requires": { - "binary-search-bounds": "^1.0.0", - "gl-mat4": "^1.1.2", - "gl-vec3": "^1.0.3", - "mat4-interpolate": "^1.0.3" - } - }, - "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" - } - }, - "mdi-react": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mdi-react/-/mdi-react-5.2.0.tgz", - "integrity": "sha512-q0zeUZbissoRVouq9JYSTrr/+2qk2P0dJI9N2m/TvZDX5RMcwHsVxffiqisjlo2m6cbXiCzAQaGaGmjoPfC4Pg==", - "requires": {} - }, - "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": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "peer": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "memoize-one": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz", - "integrity": "sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==" - }, - "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" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "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 - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "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" - } - }, - "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.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, - "requires": { - "mime-db": "1.44.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 - }, - "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": { - "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" - } - }, - "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==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "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 - } - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", - "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "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" - } - }, - "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", - "dev": true, - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - }, - "dependencies": { - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "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" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "monotone-convex-hull-2d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/monotone-convex-hull-2d/-/monotone-convex-hull-2d-1.0.1.tgz", - "integrity": "sha1-R/Xa6t88Sv03dkuqGqh4ekDu4Iw=", - "requires": { - "robust-orientation": "^1.1.3" - } - }, - "mouse-change": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mouse-change/-/mouse-change-1.4.0.tgz", - "integrity": "sha1-wrd+W/o0pDzhRFyBV6Tk3JiVwU8=", - "requires": { - "mouse-event": "^1.0.0" - } - }, - "mouse-event": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/mouse-event/-/mouse-event-1.0.5.tgz", - "integrity": "sha1-s3ie23EJmX1aky0dAdqhVDpQFzI=" - }, - "mouse-event-offset": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz", - "integrity": "sha1-39hqbiSMa6jK1TuQXVA3ogY+mYQ=" - }, - "mouse-wheel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz", - "integrity": "sha1-bSkDseqPtI5h8bU7kDZ3PwQs21w=", - "requires": { - "right-now": "^1.0.0", - "signum": "^1.0.0", - "to-px": "^1.0.1" - }, - "dependencies": { - "signum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz", - "integrity": "sha1-dKfSvyogtA66FqkrFSEk8dVZ+nc=" - } - } - }, - "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 - }, - "mumath": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/mumath/-/mumath-3.3.4.tgz", - "integrity": "sha1-SNSg8P2MrU57Mglu6JsWGmPTC78=", - "requires": { - "almost-equal": "^1.1.0" - } - }, - "murmurhash-js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", - "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E=" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "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.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, - "optional": true - }, - "nanoid": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", - "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==" - }, - "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 - }, - "ndarray": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", - "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==", - "requires": { - "iota-array": "^1.0.0", - "is-buffer": "^1.0.2" - } - }, - "ndarray-extract-contour": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ndarray-extract-contour/-/ndarray-extract-contour-1.0.1.tgz", - "integrity": "sha1-Cu4ROjozsia5DEiIz4d79HUTBeQ=", - "requires": { - "typedarray-pool": "^1.0.0" - } - }, - "ndarray-gradient": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ndarray-gradient/-/ndarray-gradient-1.0.0.tgz", - "integrity": "sha1-t0kaUVxqZJ8ZpiMk//byf8jCU5M=", - "requires": { - "cwise-compiler": "^1.0.0", - "dup": "^1.0.0" - } - }, - "ndarray-linear-interpolate": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ndarray-linear-interpolate/-/ndarray-linear-interpolate-1.0.0.tgz", - "integrity": "sha1-eLySuFuavBW25n7mWCj54hN65ys=" - }, - "ndarray-ops": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz", - "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=", - "requires": { - "cwise-compiler": "^1.0.0" - } - }, - "ndarray-pack": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz", - "integrity": "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=", - "requires": { - "cwise-compiler": "^1.1.2", - "ndarray": "^1.0.13" - } - }, - "ndarray-scratch": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz", - "integrity": "sha1-YwRjbWLrqT20cnrBPGkzQdulDgE=", - "requires": { - "ndarray": "^1.0.14", - "ndarray-ops": "^1.2.1", - "typedarray-pool": "^1.0.2" - } - }, - "ndarray-sort": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ndarray-sort/-/ndarray-sort-1.0.1.tgz", - "integrity": "sha1-/qBbTLg0x/TgIWo1TzynUTAN/Wo=", - "requires": { - "typedarray-pool": "^1.0.0" - } - }, - "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 - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - }, - "nextafter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nextafter/-/nextafter-1.0.0.tgz", - "integrity": "sha1-t9d7U1MQ4+CX5gJauwqQNHfsGjo=", - "requires": { - "double-bits": "^1.1.0" - } - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "nise": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.3.tgz", - "integrity": "sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ==", - "dev": true, - "requires": { - "@sinonjs/formatio": "^3.2.1", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "lolex": "^5.0.1", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "lolex": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", - "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - } - } - }, - "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-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "dev": true - }, - "node-ipc": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.1.tgz", - "integrity": "sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==", - "dev": true, - "requires": { - "event-pubsub": "4.3.0", - "js-message": "1.0.5", - "js-queue": "2.0.0" - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", - "dev": true - }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "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" - } - }, - "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-svg-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-0.1.0.tgz", - "integrity": "sha1-RWNg5g7Odfvve11+FgSA5//Rb+U=" - }, - "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 - }, - "normals": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/normals/-/normals-1.1.0.tgz", - "integrity": "sha1-MltZXtNK/kZ6bFWhT9kIV4f/WcA=" - }, - "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": "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" - } - }, - "null-check": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", - "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", - "dev": true - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-integer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-integer/-/number-is-integer-1.0.1.tgz", - "integrity": "sha1-5ZvKFy/+0nMY55x862y3LAlbIVI=", - "requires": { - "is-finite": "^1.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "peer": true - }, - "numeric": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/numeric/-/numeric-1.2.6.tgz", - "integrity": "sha1-dlsCvvl5iPz4gNTrPza4D6MTNao=" - }, - "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=" - }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "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" - } - }, - "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-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", - "dev": true - }, - "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==" - }, - "object-is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", - "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "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==", - "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.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.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.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "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=", - "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" - } - }, - "opener": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", - "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", - "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" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "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": { - "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" - } - } - } - }, - "orbit-camera-controller": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/orbit-camera-controller/-/orbit-camera-controller-4.0.0.tgz", - "integrity": "sha1-bis28OeHhmPDMPUNqbfOaGwncAU=", - "requires": { - "filtered-vector": "^1.2.1", - "gl-mat4": "^1.0.3" - } - }, - "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-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "peer": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - }, - "dependencies": { - "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, - "peer": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "peer": 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, - "peer": 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, - "peer": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true, - "peer": 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 - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "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 - }, - "pad-left": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pad-left/-/pad-left-1.0.2.tgz", - "integrity": "sha1-GeVzXqmDlaJs7carkm6tEPMQDUw=", - "requires": { - "repeat-string": "^1.3.0" - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "papaparse": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.1.tgz", - "integrity": "sha512-Dbt2yjLJrCwH2sRqKFFJaN5XgIASO9YOFeFP8rIBRG2Ain8mqk5r1M6DkfvqEVozVcz3r3HaUGw253hA1nLIcA==" - }, - "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==", - "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==" - } - } - }, - "parenthesis": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.7.tgz", - "integrity": "sha512-iMtu+HCbLXVrpf6Ys/4YKhcFxbux3xK4ZVB9r+a2kMSqeeQWQoDNYlXIsOjwlT2ldYXZ3k5PVeBnYn7fbAo/Bg==" - }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - } - }, - "parse-rect": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parse-rect/-/parse-rect-1.2.0.tgz", - "integrity": "sha512-4QZ6KYbnE6RTwg9E0HpLchUM9EZt6DnDxajFZZDSV4p/12ZJEvPO702DZpGvRYEPo00yKDys7jASi+/w7aO8LA==", - "requires": { - "pick-by-alias": "^1.2.0" - } - }, - "parse-svg-path": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", - "integrity": "sha1-en7A0esG+lMlx9PgCbhZoJtdSes=" - }, - "parse-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-unit/-/parse-unit-1.0.1.tgz", - "integrity": "sha1-fhu21b7zh0wo45JSaiVBFwKR7s8=" - }, - "parse5-htmlparser2-tree-adapter": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz", - "integrity": "sha512-CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw==", - "dev": true, - "requires": { - "parse5": "^5.1.1" - }, - "dependencies": { - "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 - } - } - }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "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 - }, - "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": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-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.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "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 - } - } - }, - "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true - }, - "pbf": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", - "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", - "requires": { - "ieee754": "^1.1.12", - "resolve-protobuf-schema": "^2.1.0" - } - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "permutation-parity": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/permutation-parity/-/permutation-parity-1.0.0.tgz", - "integrity": "sha1-AXTVH8pwSxG5pLFSsj1Tf9xrXvQ=", - "requires": { - "typedarray-pool": "^1.0.0" - } - }, - "permutation-rank": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/permutation-rank/-/permutation-rank-1.0.0.tgz", - "integrity": "sha1-n9mLvOzwj79ZlLXq3JSmLmeUg7U=", - "requires": { - "invert-permutation": "^1.0.0", - "typedarray-pool": "^1.0.0" - } - }, - "phantomjs-shim": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/phantomjs-shim/-/phantomjs-shim-0.1.0.tgz", - "integrity": "sha1-vUsEeLQKznctd5C2mgXm9PWafOc=", - "dev": true, - "requires": { - "autoprefixer": "^6.5.1", - "classlist-polyfill": "^1.0.3", - "es5-shim": "^4.5.9" - }, - "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 - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" - } - }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - }, - "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" - }, - "dependencies": { - "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 - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "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 - }, - "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": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "pick-by-alias": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pick-by-alias/-/pick-by-alias-1.2.0.tgz", - "integrity": "sha1-X3yysfIabh6ISgyHhVqko3NhEHs=" - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "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" - } - }, - "pivottable": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/pivottable/-/pivottable-2.23.0.tgz", - "integrity": "sha512-6WRaiiI0mU5JxzNMWbtf3vfrBvBhBPIUbwu2Q7Nv7fVCxIvlmFqXSldMwmHAsiEFwdZdUrpQHqIu+N3jZUezyg==", - "requires": { - "jquery": ">=1.9.0" - } - }, - "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" - } - }, - "planar-dual": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/planar-dual/-/planar-dual-1.0.2.tgz", - "integrity": "sha1-tqQjVSOxsMt55fkm+OozXdmC1WM=", - "requires": { - "compare-angle": "^1.0.0", - "dup": "^1.0.0" - } - }, - "planar-graph-to-polyline": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/planar-graph-to-polyline/-/planar-graph-to-polyline-1.0.5.tgz", - "integrity": "sha1-iCuGBRmbqIv9RkyVUzA1VsUrmIo=", - "requires": { - "edges-to-adjacency-list": "^1.0.0", - "planar-dual": "^1.0.0", - "point-in-big-polygon": "^2.0.0", - "robust-orientation": "^1.0.1", - "robust-sum": "^1.0.0", - "two-product": "^1.0.0", - "uniq": "^1.0.0" - } - }, - "plotly-icons": { - "version": "1.3.15", - "resolved": "https://registry.npmjs.org/plotly-icons/-/plotly-icons-1.3.15.tgz", - "integrity": "sha512-0k9zlvlFtXHzMvSSOhqt42d6jy13N5ueF8VLaL7S43SHE/+DTaO8W8jeFXQj5V1lRd7vkaYp9ACxNtMfByH04Q==", - "requires": { - "mdi-react": "5.2.0", - "prop-types": "^15.7.2" - } - }, - "plotly.js": { - "version": "1.58.4", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-1.58.4.tgz", - "integrity": "sha512-hdt/aEvkPjS1HJ7tJKcPqsqi9ErEZPhUFs4d2ANTLeBim+AmVcHzS1rtwr7ZrVCINgliW/+92u81omJoy+lbUw==", - "requires": { - "@plotly/d3-sankey": "0.7.2", - "@plotly/d3-sankey-circular": "0.33.1", - "@plotly/point-cluster": "^3.1.9", - "@turf/area": "^6.0.1", - "@turf/bbox": "^6.0.1", - "@turf/centroid": "^6.0.2", - "alpha-shape": "^1.0.0", - "canvas-fit": "^1.5.0", - "color-alpha": "1.0.4", - "color-normalize": "1.5.0", - "color-parse": "1.3.8", - "color-rgba": "2.1.1", - "convex-hull": "^1.0.3", - "country-regex": "^1.1.0", - "d3": "^3.5.17", - "d3-force": "^1.2.1", - "d3-hierarchy": "^1.1.9", - "d3-interpolate": "^1.4.0", - "d3-time-format": "^2.2.3", - "delaunay-triangulate": "^1.1.6", - "es6-promise": "^4.2.8", - "fast-isnumeric": "^1.1.4", - "gl-cone3d": "^1.5.2", - "gl-contour2d": "^1.1.7", - "gl-error3d": "^1.0.16", - "gl-heatmap2d": "^1.1.0", - "gl-line3d": "1.2.1", - "gl-mat4": "^1.2.0", - "gl-mesh3d": "^2.3.1", - "gl-plot2d": "^1.4.5", - "gl-plot3d": "^2.4.7", - "gl-pointcloud2d": "^1.0.3", - "gl-scatter3d": "^1.2.3", - "gl-select-box": "^1.0.4", - "gl-spikes2d": "^1.0.2", - "gl-streamtube3d": "^1.4.1", - "gl-surface3d": "^1.6.0", - "gl-text": "^1.1.8", - "glslify": "^7.1.1", - "has-hover": "^1.0.1", - "has-passive-events": "^1.0.0", - "image-size": "^0.7.5", - "is-mobile": "^2.2.2", - "mapbox-gl": "1.10.1", - "matrix-camera-controller": "^2.1.3", - "mouse-change": "^1.4.0", - "mouse-event-offset": "^3.0.2", - "mouse-wheel": "^1.2.0", - "ndarray": "^1.0.19", - "ndarray-linear-interpolate": "^1.0.0", - "parse-svg-path": "^0.1.2", - "polybooljs": "^1.2.0", - "regl": "^1.6.1", - "regl-error2d": "^2.0.11", - "regl-line2d": "^3.0.18", - "regl-scatter2d": "^3.2.1", - "regl-splom": "^1.0.12", - "right-now": "^1.0.0", - "robust-orientation": "^1.1.3", - "sane-topojson": "^4.0.0", - "strongly-connected-components": "^1.0.1", - "superscript-text": "^1.0.0", - "svg-path-sdf": "^1.1.3", - "tinycolor2": "^1.4.2", - "to-px": "1.0.1", - "topojson-client": "^3.1.0", - "webgl-context": "^2.2.0", - "world-calendars": "^1.0.3" - }, - "dependencies": { - "color-alpha": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.0.4.tgz", - "integrity": "sha512-lr8/t5NPozTSqli+duAN+x+no/2WaKTeWvxhHGN+aXT6AJ8vPlzLa7UriyjWak0pSC2jHol9JgjBYnnHsGha9A==", - "requires": { - "color-parse": "^1.3.8" - } - }, - "color-normalize": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/color-normalize/-/color-normalize-1.5.0.tgz", - "integrity": "sha512-rUT/HDXMr6RFffrR53oX3HGWkDOP9goSAQGBkUaAYKjOE2JxozccdGyufageWDlInRAjm/jYPrf/Y38oa+7obw==", - "requires": { - "clamp": "^1.0.1", - "color-rgba": "^2.1.1", - "dtype": "^2.0.0" - } - }, - "color-parse": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.3.8.tgz", - "integrity": "sha512-1Y79qFv0n1xair3lNMTNeoFvmc3nirMVBij24zbs1f13+7fPpQClMg5b4AuKXLt3szj7BRlHMCXHplkce6XlmA==", - "requires": { - "color-name": "^1.0.0", - "defined": "^1.0.0", - "is-plain-obj": "^1.1.0" - } - }, - "color-rgba": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-2.1.1.tgz", - "integrity": "sha512-VaX97wsqrMwLSOR6H7rU1Doa2zyVdmShabKrPEIFywLlHoibgD3QW9Dw6fSqM4+H/LfjprDNAUUW31qEQcGzNw==", - "requires": { - "clamp": "^1.0.1", - "color-parse": "^1.3.8", - "color-space": "^1.14.6" - } - }, - "to-px": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz", - "integrity": "sha1-W7rtXl1PdkRbzJA8KTojB90yRkY=", - "requires": { - "parse-unit": "^1.0.1" - } - } - } - }, - "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dev": true, - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "point-in-big-polygon": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/point-in-big-polygon/-/point-in-big-polygon-2.0.0.tgz", - "integrity": "sha1-ObYT6mzxfWtD4Yj3fzTETGszulU=", - "requires": { - "binary-search-bounds": "^1.0.0", - "interval-tree-1d": "^1.0.1", - "robust-orientation": "^1.1.3", - "slab-decomposition": "^1.0.1" - } - }, - "polybooljs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/polybooljs/-/polybooljs-1.2.0.tgz", - "integrity": "sha1-tDkMLgedTCYtOyUExiiNlbp6R1g=" - }, - "polytope-closest-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/polytope-closest-point/-/polytope-closest-point-1.0.0.tgz", - "integrity": "sha1-5uV/QIGrXox3i4Ee8G4sSK4zjD8=", - "requires": { - "numeric": "^1.2.6" - } - }, - "portfinder": { - "version": "1.0.27", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.27.tgz", - "integrity": "sha512-bJ3U3MThKnyJ9Dx1Idtm5pQmxXqw08+XOHhi/Lie8OF1OlhVaBFhsntAIhkZYjfDcCzszSr0w1yCbccThhzgxQ==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "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.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.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 - }, - "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" - } - } - } - }, - "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", - "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.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", - "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.2", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", - "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", - "dev": true, - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.16", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.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": { - "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.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dev": true, - "requires": { - "is-svg": "^3.0.0", - "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.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - }, - "potpack": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.1.tgz", - "integrity": "sha512-15vItUAbViaYrmaB/Pbw7z6qX2xENbFSTA7Ii4tgbPtasxm5v6ryKhKtL91tpWovDJzTiZqdwzhcFBCwiMVdVw==" - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "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": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "optional": true - }, - "pretty": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", - "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", - "dev": true, - "requires": { - "condense-newlines": "^0.2.1", - "extend-shallow": "^2.0.1", - "js-beautify": "^1.6.12" - }, - "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" - } - } - } - }, - "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.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "~2.0.3" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "promise-worker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-worker/-/promise-worker-2.0.1.tgz", - "integrity": "sha512-jR7vHqMEwWJ15i9vA3qyCKwRHihyLJp1sAa3RyY5F35m3u5s2lQUfq0nzVjbA8Xc7+3mL3Y9+9MHBO9UFRpFxA==" - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "protocol-buffers-schema": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.4.0.tgz", - "integrity": "sha512-G/2kcamPF2S49W5yaMGdIpkG6+5wZF0fzBteLKgEHjbNzqjZQ85aAs1iJGto31EJaSTkNvHs5IXuHSaTLWBAiA==" - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dev": true, - "requires": { - "forwarded": "~0.1.2", - "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.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "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 - }, - "pxls": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/pxls/-/pxls-2.3.2.tgz", - "integrity": "sha512-pQkwgbLqWPcuES5iEmGa10OlCf5xG0blkIF3dg7PpRZShbTYcvAdfFfGL03SMrkaSUaa/V0UpN9HWg40O2AIIw==", - "requires": { - "arr-flatten": "^1.1.0", - "compute-dims": "^1.1.0", - "flip-pixels": "^1.0.2", - "is-browser": "^2.1.0", - "is-buffer": "^2.0.3", - "to-uint8": "^1.4.1" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" - } - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "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 - }, - "quantize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/quantize/-/quantize-1.0.2.tgz", - "integrity": "sha1-0lrCAKd7bXD0ASfKFxoQ4zyFRt4=" - }, - "quat-slerp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/quat-slerp/-/quat-slerp-1.0.1.tgz", - "integrity": "sha1-K6oVzjprvcMkHZcusXKDE57Wnyk=", - "requires": { - "gl-quat": "^1.0.0" - } - }, - "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.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", - "dev": true - }, - "quickselect": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", - "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } - }, - "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 - }, - "rat-vec": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/rat-vec/-/rat-vec-1.1.1.tgz", - "integrity": "sha1-Dd4rZrezS7G80qI4BerIBth/0X8=", - "requires": { - "big-rat": "^1.0.3" - } - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "rc-align": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-2.4.5.tgz", - "integrity": "sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==", - "requires": { - "babel-runtime": "^6.26.0", - "dom-align": "^1.7.0", - "prop-types": "^15.5.8", - "rc-util": "^4.0.4" - } - }, - "rc-animate": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-2.11.1.tgz", - "integrity": "sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ==", - "requires": { - "babel-runtime": "6.x", - "classnames": "^2.2.6", - "css-animation": "^1.3.2", - "prop-types": "15.x", - "raf": "^3.4.0", - "rc-util": "^4.15.3", - "react-lifecycles-compat": "^3.0.4" - } - }, - "rc-slider": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-8.7.1.tgz", - "integrity": "sha512-WMT5mRFUEcrLWwTxsyS8jYmlaMsTVCZIGENLikHsNv+tE8ThU2lCoPfi/xFNUfJFNFSBFP3MwPez9ZsJmNp13g==", - "requires": { - "babel-runtime": "6.x", - "classnames": "^2.2.5", - "prop-types": "^15.5.4", - "rc-tooltip": "^3.7.0", - "rc-util": "^4.0.4", - "react-lifecycles-compat": "^3.0.4", - "shallowequal": "^1.1.0", - "warning": "^4.0.3" - } - }, - "rc-tooltip": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-3.7.3.tgz", - "integrity": "sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww==", - "requires": { - "babel-runtime": "6.x", - "prop-types": "^15.5.8", - "rc-trigger": "^2.2.2" - } - }, - "rc-trigger": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.6.5.tgz", - "integrity": "sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw==", - "requires": { - "babel-runtime": "6.x", - "classnames": "^2.2.6", - "prop-types": "15.x", - "rc-align": "^2.4.0", - "rc-animate": "2.x", - "rc-util": "^4.4.0", - "react-lifecycles-compat": "^3.0.4" - } - }, - "rc-util": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", - "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", - "requires": { - "add-dom-event-listener": "^1.1.0", - "prop-types": "^15.5.10", - "react-is": "^16.12.0", - "react-lifecycles-compat": "^3.0.4", - "shallowequal": "^1.1.0" - } - }, - "react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-chart-editor": { - "version": "0.45.0", - "resolved": "https://registry.npmjs.org/react-chart-editor/-/react-chart-editor-0.45.0.tgz", - "integrity": "sha512-/SurlIFait/BbWhq7sd8gIPr5MbhjPgrNY+d4V3sH6R/BjUocN/5SqUhQGknOUkxH8Fu4V+qn/8GsjYRFvk5NA==", - "requires": { - "@plotly/draft-js-export-html": "1.2.0", - "classnames": "2.2.6", - "draft-js": "0.11.7", - "draft-js-import-html": "1.4.1", - "draft-js-utils": "1.4.0", - "fast-isnumeric": "1.1.4", - "immutability-helper": "3.1.1", - "plotly-icons": "1.3.15", - "plotly.js": "1.58.x", - "prop-types": "15.7.2", - "raf": "3.4.1", - "react-color": "2.19.3", - "react-colorscales": "0.7.3", - "react-day-picker": "7.4.8", - "react-dropzone": "10.2.2", - "react-plotly.js": "2.5.1", - "react-rangeslider": "2.2.0", - "react-resizable-rotatable-draggable": "0.2.0", - "react-select": "2.4.4", - "react-tabs": "3.2.1", - "styled-components": "5.2.1", - "tinycolor2": "1.4.2" - } - }, - "react-color": { - "version": "2.19.3", - "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz", - "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", - "requires": { - "@icons/material": "^0.2.4", - "lodash": "^4.17.15", - "lodash-es": "^4.17.15", - "material-colors": "^1.2.1", - "prop-types": "^15.5.10", - "reactcss": "^1.2.0", - "tinycolor2": "^1.4.1" - } - }, - "react-colorscales": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/react-colorscales/-/react-colorscales-0.7.3.tgz", - "integrity": "sha512-cekeF6mgATIwG257lu4aan2uF3AaiLmI4XvC1Sf2x+KKfCM6J8Ogl4eoO8ii2Cy/ddb+bL1QNnjN9KSQmbGc2Q==", - "requires": { - "chroma-js": "^1.3.4", - "rc-slider": "^8.4.0", - "react-select": "^1.2.1" - }, - "dependencies": { - "react-select": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-1.3.0.tgz", - "integrity": "sha512-g/QAU1HZrzSfxkwMAo/wzi6/ezdWye302RGZevsATec07hI/iSxcpB1hejFIp7V63DJ8mwuign6KmB3VjdlinQ==", - "requires": { - "classnames": "^2.2.4", - "prop-types": "^15.5.8", - "react-input-autosize": "^2.1.2" - } - } - } - }, - "react-day-picker": { - "version": "7.4.8", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.4.8.tgz", - "integrity": "sha512-pp0hnxFVoRuBQcRdR1Hofw4CQtOCGVmzCNrscyvS0Q8NEc+UiYLEDqE5dk37bf0leSnBW4lheIt0CKKhuKzDVw==", - "requires": { - "prop-types": "^15.6.2" - } - }, - "react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - }, - "react-dropzone": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-10.2.2.tgz", - "integrity": "sha512-U5EKckXVt6IrEyhMMsgmHQiWTGLudhajPPG77KFSvgsMqNEHSyGpqWvOMc5+DhEah/vH4E1n+J5weBNLd5VtyA==", - "requires": { - "attr-accept": "^2.0.0", - "file-selector": "^0.1.12", - "prop-types": "^15.7.2" - } - }, - "react-input-autosize": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.2.tgz", - "integrity": "sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==", - "requires": { - "prop-types": "^15.5.8" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "react-plotly.js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/react-plotly.js/-/react-plotly.js-2.5.1.tgz", - "integrity": "sha512-Oya14whSHvPsYXdI0nHOGs1pZhMzV2edV7HAW1xFHD58Y73m/LbG2Encvyz1tztL0vfjph0JNhiwO8cGBJnlhg==", - "requires": { - "prop-types": "^15.7.2" - } - }, - "react-rangeslider": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/react-rangeslider/-/react-rangeslider-2.2.0.tgz", - "integrity": "sha512-5K7Woa+cyqZ5wiW5+KhqGV+3+FiFxGKQ9rUxTMh52sObXVYEeBbfxFrp1eBvS8mRIxnUbHz9ppnFP0LhwOyNeg==", - "requires": { - "classnames": "^2.2.3", - "resize-observer-polyfill": "^1.4.2" - } - }, - "react-resizable-rotatable-draggable": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/react-resizable-rotatable-draggable/-/react-resizable-rotatable-draggable-0.2.0.tgz", - "integrity": "sha512-F8TPx3z7/AcmRViySbYV3LpUWXFpHlGAmKmNcYMgPlS+h1eYFazRG3xYS8Z6e48hWY1EcCny/YNrwRNUrap8CQ==" - }, - "react-select": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.4.4.tgz", - "integrity": "sha512-C4QPLgy9h42J/KkdrpVxNmkY6p4lb49fsrbDk/hRcZpX7JvZPNb6mGj+c5SzyEtBv1DmQ9oPH4NmhAFvCrg8Jw==", - "requires": { - "classnames": "^2.2.5", - "emotion": "^9.1.2", - "memoize-one": "^5.0.0", - "prop-types": "^15.6.0", - "raf": "^3.4.0", - "react-input-autosize": "^2.2.1", - "react-transition-group": "^2.2.1" - } - }, - "react-tabs": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-3.2.1.tgz", - "integrity": "sha512-M7ERQvJgBVLTyojFmC3G4tpaJuMmUtsnYenVQm2oA1NjDrGXq1UuzHgxhVTDwimkJcKEbzgWCybXFSHQ/+2bsA==", - "requires": { - "clsx": "^1.1.0", - "prop-types": "^15.5.0" - } - }, - "react-transition-group": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", - "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", - "requires": { - "dom-helpers": "^3.4.0", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" - } - }, - "reactcss": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", - "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", - "requires": { - "lodash": "^4.0.1" - } - }, - "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" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - } - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - }, - "dependencies": { - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - } - } - }, - "reduce-simplicial-complex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/reduce-simplicial-complex/-/reduce-simplicial-complex-1.0.0.tgz", - "integrity": "sha1-dNaWovg196bc2SBl/YxRgfLt+Lw=", - "requires": { - "cell-orientation": "^1.0.1", - "compare-cell": "^1.0.0", - "compare-oriented-cell": "^1.0.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": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "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" - } - }, - "regex-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regex-regex/-/regex-regex-1.0.0.tgz", - "integrity": "sha1-kEih6uuHD01IDavHb8Qs3MC8OnI=" - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "regl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/regl/-/regl-1.7.0.tgz", - "integrity": "sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==" - }, - "regl-error2d": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/regl-error2d/-/regl-error2d-2.0.11.tgz", - "integrity": "sha512-Bv4DbLtDU69GXPSm+NvlVWzT82oQ8M2FK+SxzkyaYMlA9izZRdLmDADqBSyJTnPWiRT4a/2KA+MP+WI0N0yt7Q==", - "requires": { - "array-bounds": "^1.0.1", - "color-normalize": "^1.5.0", - "flatten-vertex-data": "^1.0.2", - "object-assign": "^4.1.1", - "pick-by-alias": "^1.2.0", - "to-float32": "^1.0.1", - "update-diff": "^1.1.0" - } - }, - "regl-line2d": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/regl-line2d/-/regl-line2d-3.0.18.tgz", - "integrity": "sha512-yX1TlV0SHBdn8EkU+9K+K19qx7WSDOchrKx+h43rE2NCWuPlVj/MPDgrIXnzhnd42XhQtvvnkSc7aCSLjGAhZQ==", - "requires": { - "array-bounds": "^1.0.1", - "array-normalize": "^1.1.4", - "color-normalize": "^1.5.0", - "earcut": "^2.1.5", - "es6-weak-map": "^2.0.3", - "flatten-vertex-data": "^1.0.2", - "glslify": "^7.0.0", - "object-assign": "^4.1.1", - "parse-rect": "^1.2.0", - "pick-by-alias": "^1.2.0", - "to-float32": "^1.0.1" - } - }, - "regl-scatter2d": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.1.tgz", - "integrity": "sha512-qxUCK5kXuoVZin2gPLXkgkBfRr3XLobVgEfn5N0fiprsb/ncTCtSNVBqP0EJgNb115R+FXte9LKA9YrFx7uBnA==", - "requires": { - "@plotly/point-cluster": "^3.1.9", - "array-range": "^1.0.1", - "array-rearrange": "^2.2.2", - "clamp": "^1.0.1", - "color-id": "^1.1.0", - "color-normalize": "^1.5.0", - "color-rgba": "^2.1.1", - "flatten-vertex-data": "^1.0.2", - "glslify": "^7.0.0", - "image-palette": "^2.1.0", - "is-iexplorer": "^1.0.0", - "object-assign": "^4.1.1", - "parse-rect": "^1.2.0", - "pick-by-alias": "^1.2.0", - "to-float32": "^1.0.1", - "update-diff": "^1.1.0" - } - }, - "regl-splom": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/regl-splom/-/regl-splom-1.0.12.tgz", - "integrity": "sha512-LliMmAQ6wJFuPiLxZgYOFOzjhWcrIWPbS3Vf763Twl6R8eKpuUyRHZ54q+hxWGYwICHoPCBKMs7pVAJi8Iv7/w==", - "requires": { - "array-bounds": "^1.0.1", - "array-range": "^1.0.1", - "color-alpha": "^1.0.4", - "flatten-vertex-data": "^1.0.2", - "parse-rect": "^1.2.0", - "pick-by-alias": "^1.2.0", - "raf": "^3.4.1", - "regl-scatter2d": "^3.1.9" - }, - "dependencies": { - "glslify": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", - "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", - "requires": { - "bl": "^2.2.1", - "concat-stream": "^1.5.2", - "duplexify": "^3.4.5", - "falafel": "^2.1.0", - "from2": "^2.3.0", - "glsl-resolve": "0.0.1", - "glsl-token-whitespace-trim": "^1.0.0", - "glslify-bundle": "^5.0.0", - "glslify-deps": "^1.2.5", - "minimist": "^1.2.5", - "resolve": "^1.1.5", - "stack-trace": "0.0.9", - "static-eval": "^2.0.5", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - }, - "regl-scatter2d": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.1.tgz", - "integrity": "sha512-qxUCK5kXuoVZin2gPLXkgkBfRr3XLobVgEfn5N0fiprsb/ncTCtSNVBqP0EJgNb115R+FXte9LKA9YrFx7uBnA==", - "requires": { - "@plotly/point-cluster": "^3.1.9", - "array-range": "^1.0.1", - "array-rearrange": "^2.2.2", - "clamp": "^1.0.1", - "color-id": "^1.1.0", - "color-normalize": "^1.5.0", - "color-rgba": "^2.1.1", - "flatten-vertex-data": "^1.0.2", - "glslify": "^7.0.0", - "image-palette": "^2.1.0", - "is-iexplorer": "^1.0.0", - "object-assign": "^4.1.1", - "parse-rect": "^1.2.0", - "pick-by-alias": "^1.2.0", - "to-float32": "^1.0.1", - "update-diff": "^1.1.0" - } - } - } - }, - "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.3", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", - "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", - "dev": true, - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.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 - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "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.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "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=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "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" - } - }, - "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.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } - }, - "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" - } - }, - "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-protobuf-schema": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", - "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", - "requires": { - "protocol-buffers-schema": "^3.3.1" - } - }, - "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 - }, - "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" - } - }, - "resumer": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", - "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", - "requires": { - "through": "~2.3.4" - } - }, - "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 - }, - "rfdc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", - "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", - "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 - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "peer": true, - "requires": { - "align-text": "^0.1.1" - } - }, - "right-now": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz", - "integrity": "sha1-bolgne69fc2vja7Mmuo5z1haCRg=" - }, - "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" - } - }, - "robust-compress": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-compress/-/robust-compress-1.0.0.tgz", - "integrity": "sha1-TPYsSzGNgwhRYBK7jBF1Lzkymxs=" - }, - "robust-determinant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/robust-determinant/-/robust-determinant-1.1.0.tgz", - "integrity": "sha1-jsrnm3nKqz509t6+IjflORon6cc=", - "requires": { - "robust-compress": "^1.0.0", - "robust-scale": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.0" - } - }, - "robust-dot-product": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-dot-product/-/robust-dot-product-1.0.0.tgz", - "integrity": "sha1-yboBeL0sMEv9cl9Y6Inx2UYARVM=", - "requires": { - "robust-sum": "^1.0.0", - "two-product": "^1.0.0" - } - }, - "robust-in-sphere": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/robust-in-sphere/-/robust-in-sphere-1.1.3.tgz", - "integrity": "sha1-HFiD0WpOkjkpR27zSBmFe/Kpz3U=", - "requires": { - "robust-scale": "^1.0.0", - "robust-subtract": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.0" - } - }, - "robust-linear-solve": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-linear-solve/-/robust-linear-solve-1.0.0.tgz", - "integrity": "sha1-DNasUEBpGm8qo81jEdcokFyjofE=", - "requires": { - "robust-determinant": "^1.1.0" - } - }, - "robust-orientation": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/robust-orientation/-/robust-orientation-1.1.3.tgz", - "integrity": "sha1-2v9bANO+TmByLw6cAVbvln8cIEk=", - "requires": { - "robust-scale": "^1.0.2", - "robust-subtract": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.2" - } - }, - "robust-product": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-product/-/robust-product-1.0.0.tgz", - "integrity": "sha1-aFJQAHzbunzx3nW/9tKScBEJir4=", - "requires": { - "robust-scale": "^1.0.0", - "robust-sum": "^1.0.0" - } - }, - "robust-scale": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/robust-scale/-/robust-scale-1.0.2.tgz", - "integrity": "sha1-d1Ey7QlULQKOWLLMecBikLz3jDI=", - "requires": { - "two-product": "^1.0.2", - "two-sum": "^1.0.0" - } - }, - "robust-segment-intersect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/robust-segment-intersect/-/robust-segment-intersect-1.0.1.tgz", - "integrity": "sha1-MlK2oPwboUreaRXMvgnLzpqrHBw=", - "requires": { - "robust-orientation": "^1.1.3" - } - }, - "robust-subtract": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-subtract/-/robust-subtract-1.0.0.tgz", - "integrity": "sha1-4LFk4e2LpOOl3aRaEgODSNvtPpo=" - }, - "robust-sum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-sum/-/robust-sum-1.0.0.tgz", - "integrity": "sha1-FmRuUlKStNJdgnV6KGlV4Lv6U9k=" - }, - "rollup": { - "version": "2.46.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.46.0.tgz", - "integrity": "sha512-qPGoUBNl+Z8uNu0z7pD3WPTABWRbcOwIrO/5ccDJzmrtzn0LVf6Lj91+L5CcWhXl6iWf23FQ6m8Jkl2CmN1O7Q==", - "dev": true, - "requires": { - "fsevents": "~2.3.1" - } - }, - "rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.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 - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "terser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - } - } - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "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" - } - }, - "rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" - }, - "rxjs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz", - "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "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==", - "dev": true - }, - "sane-topojson": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/sane-topojson/-/sane-topojson-4.0.0.tgz", - "integrity": "sha512-bJILrpBboQfabG3BNnHI2hZl52pbt80BE09u4WhnrmzuF2JbMKZdl62G5glXskJ46p+gxE2IzOwGj/awR4g8AA==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "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, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "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.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", - "dev": true, - "requires": { - "node-forge": "0.9.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "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.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "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 - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", - "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.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "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" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shallow-copy": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "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.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "shelljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "signum": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/signum/-/signum-0.0.0.tgz", - "integrity": "sha1-q1UbEAM1EHCnBHg/GgnF52kfnPY=" - }, - "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 - } - } - }, - "simplicial-complex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-1.0.0.tgz", - "integrity": "sha1-bDOk7Wn81Nkbe8rdOzC2NoPq4kE=", - "requires": { - "bit-twiddle": "^1.0.0", - "union-find": "^1.0.0" - } - }, - "simplicial-complex-boundary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simplicial-complex-boundary/-/simplicial-complex-boundary-1.0.1.tgz", - "integrity": "sha1-csn/HiTeqjdMm7L6DL8MCB6++BU=", - "requires": { - "boundary-cells": "^2.0.0", - "reduce-simplicial-complex": "^1.0.0" - } - }, - "simplicial-complex-contour": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/simplicial-complex-contour/-/simplicial-complex-contour-1.0.2.tgz", - "integrity": "sha1-iQqsrChDZTQBEFRc8mKaJuBL+dE=", - "requires": { - "marching-simplex-table": "^1.0.0", - "ndarray": "^1.0.15", - "ndarray-sort": "^1.0.0", - "typedarray-pool": "^1.1.0" - } - }, - "simplify-planar-graph": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/simplify-planar-graph/-/simplify-planar-graph-2.0.1.tgz", - "integrity": "sha1-vIWJNyXzLo+oriVoE5hEbSy892Y=", - "requires": { - "robust-orientation": "^1.0.1", - "simplicial-complex": "^0.3.3" - }, - "dependencies": { - "bit-twiddle": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-0.0.2.tgz", - "integrity": "sha1-wurruVKjuUrMFASX4c3NLxoz9Y4=" - }, - "simplicial-complex": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-0.3.3.tgz", - "integrity": "sha1-TDDK1X+eRXKd2PMGyHU1efRr6Z4=", - "requires": { - "bit-twiddle": "~0.0.1", - "union-find": "~0.0.3" - } - }, - "union-find": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/union-find/-/union-find-0.0.4.tgz", - "integrity": "sha1-uFSzMBYZva0USwAUx4+W6sDS8PY=" - } - } - }, - "sinon": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.5.0.tgz", - "integrity": "sha512-AoD0oJWerp0/rY9czP/D6hDTTUYGpObhZjMpd7Cl/A6+j0xBE+ayL/ldfggkBXUs0IkvIiM1ljM8+WkOc5k78Q==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.4.0", - "@sinonjs/formatio": "^3.2.1", - "@sinonjs/samsam": "^3.3.3", - "diff": "^3.5.0", - "lolex": "^4.2.0", - "nise": "^1.5.2", - "supports-color": "^5.5.0" - } - }, - "sinon-chai": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.5.0.tgz", - "integrity": "sha512-IifbusYiQBpUxxFJkR3wTU68xzBN0+bxCScEaKMjBvAQERg6FnTTc1F17rseLb1tjmkJ23730AXpFI0c47FgAg==", - "dev": true, - "requires": {} - }, - "slab-decomposition": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/slab-decomposition/-/slab-decomposition-1.0.2.tgz", - "integrity": "sha1-He1WdU1AixBznxRRA9/GGAf2UTQ=", - "requires": { - "binary-search-bounds": "^1.0.0", - "functional-red-black-tree": "^1.0.0", - "robust-orientation": "^1.1.3" - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } - } - }, - "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" - } - }, - "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" - } - }, - "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-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-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" - } - } - } - }, - "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" - } - } - } - }, - "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", - "dev": true, - "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "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 - } - } - }, - "socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", - "dev": true - }, - "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", - "to-array": "0.1.4" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "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 - } - } - }, - "socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.4.0", - "websocket-driver": "0.6.5" - } - }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", - "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.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" - } - }, - "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-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.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "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.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "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.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "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-polygon": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/split-polygon/-/split-polygon-1.0.0.tgz", - "integrity": "sha1-DqzIoTanaxKj2VJW6n2kXbDC0kc=", - "requires": { - "robust-dot-product": "^1.0.0", - "robust-sum": "^1.0.0" - } - }, - "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=" - }, - "sql.js": { - "version": "file:lib/sql-js" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "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": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stack-trace": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", - "dev": true - }, - "static-eval": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", - "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", - "requires": { - "escodegen": "^1.11.1" - } - }, - "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" - } - } - } - }, - "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==" - }, - "streamroller": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", - "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", - "dev": true, - "requires": { - "date-format": "^1.2.0", - "debug": "^3.1.0", - "mkdirp": "^0.5.1", - "readable-stream": "^2.3.0" - }, - "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" - } - } - } - }, - "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-split-by": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", - "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==", - "requires": { - "parenthesis": "^3.1.5" - } - }, - "string-to-arraybuffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-to-arraybuffer/-/string-to-arraybuffer-1.0.2.tgz", - "integrity": "sha512-DaGZidzi93dwjQen5I2osxR9ERS/R7B1PFyufNMnzhj+fmlDQAc1DSDIJVJhgI8Oq221efIMbABUBdPHDRt43Q==", - "requires": { - "atob-lite": "^2.0.0", - "is-base64": "^0.1.0" - }, - "dependencies": { - "atob-lite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", - "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=" - } - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string.prototype.trim": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.2.tgz", - "integrity": "sha512-b5yrbl3BXIjHau9Prk7U0RRYcUYdN4wGSVaqoBQS50CCE3KBuYU0TYRNPFCP7aVoNMX87HKThdMRVIP3giclKg==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0" - } - }, - "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==", - "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" - }, - "dependencies": { - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - } - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - } - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "dev": true - }, - "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 - }, - "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=" - }, - "strongly-connected-components": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strongly-connected-components/-/strongly-connected-components-1.0.1.tgz", - "integrity": "sha1-CSDitN9nyOrulsa2I0/inoc9upk=" - }, - "styled-components": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.2.1.tgz", - "integrity": "sha512-sBdgLWrCFTKtmZm/9x7jkIabjFNVzCUeKfoQsM6R3saImkUnjx0QYdLwJHBjY9ifEcmjDamJDVfknWm1yxZPxQ==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/traverse": "^7.4.5", - "@emotion/is-prop-valid": "^0.8.8", - "@emotion/stylis": "^0.8.4", - "@emotion/unitless": "^0.7.4", - "babel-plugin-styled-components": ">= 1", - "css-to-react-native": "^3.0.0", - "hoist-non-react-statics": "^3.0.0", - "shallowequal": "^1.1.0", - "supports-color": "^5.5.0" - }, - "dependencies": { - "@emotion/stylis": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", - "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" - }, - "@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - } - } - }, - "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" - } - } - } - }, - "stylis": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", - "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" - }, - "stylis-rule-sheet": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", - "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" - }, - "supercluster": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.0.tgz", - "integrity": "sha512-LDasImUAFMhTqhK+cUXfy9C2KTUqJ3gucLjmNLNFmKWOnDUBxLFLH9oKuXOTCLveecmxh8fbk8kgh6Q0gsfe2w==", - "requires": { - "kdbush": "^3.0.0" - } - }, - "superscript-text": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/superscript-text/-/superscript-text-1.0.0.tgz", - "integrity": "sha1-58snUlZzYN9QvrBhDOjfPXHY39g=" - }, - "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" - } - }, - "surface-nets": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/surface-nets/-/surface-nets-1.0.2.tgz", - "integrity": "sha1-5DPIy7qUpydMb0yZVStGG/H8eks=", - "requires": { - "ndarray-extract-contour": "^1.0.0", - "triangulate-hypercube": "^1.0.0", - "zero-crossings": "^1.0.0" - } - }, - "svg-arc-to-cubic-bezier": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", - "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==" - }, - "svg-path-bounds": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/svg-path-bounds/-/svg-path-bounds-1.0.1.tgz", - "integrity": "sha1-v0WLeDcmv1NDG0Yz8nkvYHSNn3Q=", - "requires": { - "abs-svg-path": "^0.1.1", - "is-svg-path": "^1.0.1", - "normalize-svg-path": "^1.0.0", - "parse-svg-path": "^0.1.2" - }, - "dependencies": { - "normalize-svg-path": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", - "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", - "requires": { - "svg-arc-to-cubic-bezier": "^3.0.0" - } - } - } - }, - "svg-path-sdf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/svg-path-sdf/-/svg-path-sdf-1.1.3.tgz", - "integrity": "sha512-vJJjVq/R5lSr2KLfVXVAStktfcfa1pNFjFOgyJnzZFXlO/fDZ5DmM8FpnSKKzLPfEYTVeXuVBTHF296TpxuJVg==", - "requires": { - "bitmap-sdf": "^1.0.0", - "draw-svg-path": "^1.0.0", - "is-svg-path": "^1.0.1", - "parse-svg-path": "^0.1.2", - "svg-path-bounds": "^1.0.1" - } - }, - "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" - } - }, - "synthetic-dom": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/synthetic-dom/-/synthetic-dom-1.4.0.tgz", - "integrity": "sha512-mHv51ZsmZ+ShT/4s5kg+MGUIhY7Ltq4v03xpN1c8T1Krb5pScsh/lzEjyhrVD0soVDbThbd2e+4dD9vnDG4rhg==" - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "tape": { - "version": "4.13.3", - "resolved": "https://registry.npmjs.org/tape/-/tape-4.13.3.tgz", - "integrity": "sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==", - "requires": { - "deep-equal": "~1.1.1", - "defined": "~1.0.0", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "function-bind": "~1.1.1", - "glob": "~7.1.6", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.0.5", - "minimist": "~1.2.5", - "object-inspect": "~1.7.0", - "resolve": "~1.17.0", - "resumer": "~0.0.0", - "string.prototype.trim": "~1.2.1", - "through": "~2.3.8" - }, - "dependencies": { - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "requires": { - "has": "^1.0.3" - } - }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" - } - } - }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "dev": true - }, - "tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "dev": true, - "requires": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "dependencies": { - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true - } - } - }, - "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": { - "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.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", - "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", - "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": "^3.1.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.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" - } - }, - "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 - } - } - }, - "text-cache": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/text-cache/-/text-cache-4.2.2.tgz", - "integrity": "sha512-zky+UDYiX0a/aPw/YTBD+EzKMlCTu1chFuCMZeAkgoRiceySdROu1V2kJXhCbtEdBhiOviYnAdGiSYl58HW0ZQ==", - "requires": { - "vectorize-text": "^3.2.1" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "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" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "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.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" - }, - "tinyqueue": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", - "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "to-array-buffer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/to-array-buffer/-/to-array-buffer-3.2.0.tgz", - "integrity": "sha512-zN33mwi0gpL+7xW1ITLfJ48CEj6ZQW0ZAP0MU+2W3kEY0PAIncyuxmD4OqkUVhPAbTP7amq9j/iwvZKYS+lzSQ==", - "requires": { - "flatten-vertex-data": "^1.0.2", - "is-blob": "^2.0.1", - "string-to-arraybuffer": "^1.0.0" - } - }, - "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-float32": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.0.1.tgz", - "integrity": "sha512-nOy2WSwae3xhZbc+05xiCuU3ZPPmH0L4Rg4Q1qiOGFSuNSCTB9nVJaGgGl3ZScxAclX/L8hJuDHJGDAzbfuKCQ==" - }, - "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-px": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.1.0.tgz", - "integrity": "sha512-bfg3GLYrGoEzrGoE05TAL/Uw+H/qrf2ptr9V3W7U0lkjjyYnIfgxmVLUfhQ1hZpIQwin81uxhDjvUkDYsC0xWw==", - "requires": { - "parse-unit": "^1.0.1" - } - }, - "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": "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" - } - }, - "to-uint8": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/to-uint8/-/to-uint8-1.4.1.tgz", - "integrity": "sha512-o+ochsMlTZyucbww8It401FC2Rx+OP2RpDeYbA6h+y9HgedDl1UjdsJ9CmzKEG7AFP9es5PmJ4eDWeeeXihESg==", - "requires": { - "arr-flatten": "^1.1.0", - "clamp": "^1.0.1", - "is-base64": "^0.1.0", - "is-float-array": "^1.0.0", - "to-array-buffer": "^3.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true - }, - "topojson-client": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", - "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", - "requires": { - "commander": "2" - } - }, - "touch": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/touch/-/touch-2.0.2.tgz", - "integrity": "sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A==", - "requires": { - "nopt": "~1.0.10" - }, - "dependencies": { - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "requires": { - "abbrev": "1" - } - } - } - }, - "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" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "triangulate-hypercube": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/triangulate-hypercube/-/triangulate-hypercube-1.0.1.tgz", - "integrity": "sha1-2Acdsuv8/VHzCNC88qXEils20Tc=", - "requires": { - "gamma": "^0.1.0", - "permutation-parity": "^1.0.0", - "permutation-rank": "^1.0.0" - } - }, - "triangulate-polyline": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/triangulate-polyline/-/triangulate-polyline-1.0.3.tgz", - "integrity": "sha1-v4uod6hQVBA/65+lphtOjXAXgU0=", - "requires": { - "cdt2d": "^1.0.0" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", - "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 - }, - "tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - }, - "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" - } - } - } - }, - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - }, - "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" - } - }, - "turntable-camera-controller": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/turntable-camera-controller/-/turntable-camera-controller-3.0.1.tgz", - "integrity": "sha1-jb0/4AVQGRxlFky4iJcQSVeK/Zk=", - "requires": { - "filtered-vector": "^1.2.1", - "gl-mat4": "^1.0.2", - "gl-vec3": "^1.0.2" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "two-product": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/two-product/-/two-product-1.0.2.tgz", - "integrity": "sha1-Z9ldSyV6kh4stL16+VEfkIhSLqo=" - }, - "two-sum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/two-sum/-/two-sum-1.0.0.tgz", - "integrity": "sha1-MdPzIjnk9zHsqd+RVeKyl/AIq2Q=" - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "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.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "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" - } - }, - "type-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", - "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-pool": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", - "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", - "requires": { - "bit-twiddle": "^1.0.0", - "dup": "^1.0.0" - } - }, - "ua-parser-js": { - "version": "0.7.22", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.22.tgz", - "integrity": "sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q==" - }, - "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 - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true, - "peer": true - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "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==", - "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": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true - }, - "union-find": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/union-find/-/union-find-1.0.2.tgz", - "integrity": "sha1-KSusQV5q06iVNdI3AQ20pTYoTlg=" - }, - "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" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "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" - } - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "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=" - }, - "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 - }, - "update-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-diff/-/update-diff-1.1.0.tgz", - "integrity": "sha1-9RAYLYHugZ+4LDprIrYrve2ngI8=" - }, - "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.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "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-join": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", - "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=", - "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" - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "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 - }, - "useragent": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", - "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", - "dev": true, - "requires": { - "lru-cache": "4.1.x", - "tmp": "0.0.x" - }, - "dependencies": { - "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" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-copy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/utils-copy/-/utils-copy-1.1.1.tgz", - "integrity": "sha1-biuXmCqozXPhGCo+b4vsPA9AWKc=", - "requires": { - "const-pinf-float64": "^1.0.0", - "object-keys": "^1.0.9", - "type-name": "^2.0.0", - "utils-copy-error": "^1.0.0", - "utils-indexof": "^1.0.0", - "utils-regex-from-string": "^1.0.0", - "validate.io-array": "^1.0.3", - "validate.io-buffer": "^1.0.1", - "validate.io-nonnegative-integer": "^1.0.0" - } - }, - "utils-copy-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-copy-error/-/utils-copy-error-1.0.1.tgz", - "integrity": "sha1-eR3jk8DwmJCv1Z88vqY18HmpT6U=", - "requires": { - "object-keys": "^1.0.9", - "utils-copy": "^1.1.0" - } - }, - "utils-indexof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-indexof/-/utils-indexof-1.0.0.tgz", - "integrity": "sha1-IP6r8J7xAYtSNkPoOA57yD7GG1w=", - "requires": { - "validate.io-array-like": "^1.0.1", - "validate.io-integer-primitive": "^1.0.0" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "utils-regex-from-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-regex-from-string/-/utils-regex-from-string-1.0.0.tgz", - "integrity": "sha1-/hopCfjeD/DVGCyA+8ZU1qaH0Yk=", - "requires": { - "regex-regex": "^1.0.0", - "validate.io-string-primitive": "^1.0.0" - } - }, - "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-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", - "dev": true - }, - "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" - } - }, - "validate.io-array": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", - "integrity": "sha1-W1osr9j4uFq7L4hroVPy2Tond00=" - }, - "validate.io-array-like": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/validate.io-array-like/-/validate.io-array-like-1.0.2.tgz", - "integrity": "sha1-evn363tRcVvrIhVmjsXM5U+t21o=", - "requires": { - "const-max-uint32": "^1.0.2", - "validate.io-integer-primitive": "^1.0.0" - } - }, - "validate.io-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/validate.io-buffer/-/validate.io-buffer-1.0.2.tgz", - "integrity": "sha1-hS1nNAIZFNXROvwyUxdh43IO1E4=" - }, - "validate.io-integer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", - "integrity": "sha1-FoSWSAuVviJH7EQ/IjPeT4mHgGg=", - "requires": { - "validate.io-number": "^1.0.3" - } - }, - "validate.io-integer-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-integer-primitive/-/validate.io-integer-primitive-1.0.0.tgz", - "integrity": "sha1-qaoBA1X+hoHA/qbBp0rSQZyt3cY=", - "requires": { - "validate.io-number-primitive": "^1.0.0" - } - }, - "validate.io-matrix-like": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/validate.io-matrix-like/-/validate.io-matrix-like-1.0.2.tgz", - "integrity": "sha1-XsMqddCInaxzbepovdYUWxVe38M=" - }, - "validate.io-ndarray-like": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-ndarray-like/-/validate.io-ndarray-like-1.0.0.tgz", - "integrity": "sha1-2KOw7RZbvx0vwNAHMnDPpVIpWRk=" - }, - "validate.io-nonnegative-integer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-nonnegative-integer/-/validate.io-nonnegative-integer-1.0.0.tgz", - "integrity": "sha1-gGkkOgjF+Y6VQTySnf17GPP28p8=", - "requires": { - "validate.io-integer": "^1.0.5" - } - }, - "validate.io-number": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", - "integrity": "sha1-9j/+2iSL8opnqNSODjtGGhZluvg=" - }, - "validate.io-number-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-number-primitive/-/validate.io-number-primitive-1.0.0.tgz", - "integrity": "sha1-0uAfICmJNp3PEVVElWQgOv5YTlU=" - }, - "validate.io-positive-integer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-positive-integer/-/validate.io-positive-integer-1.0.0.tgz", - "integrity": "sha1-ftLQO0wnVYzGagCqsPDpIYFKZYI=", - "requires": { - "validate.io-integer": "^1.0.5" - } - }, - "validate.io-string-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/validate.io-string-primitive/-/validate.io-string-primitive-1.0.1.tgz", - "integrity": "sha1-uBNbn7E3K94C/dU60dDM1t55j+4=" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vectorize-text": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/vectorize-text/-/vectorize-text-3.2.1.tgz", - "integrity": "sha512-rGojF+D9BB96iPZPUitfq5kaiS6eCJmfEel0NXOK/MzZSuXGiwhoop80PtaDas9/Hg/oaox1tI9g3h93qpuspg==", - "requires": { - "cdt2d": "^1.0.0", - "clean-pslg": "^1.1.0", - "ndarray": "^1.0.11", - "planar-graph-to-polyline": "^1.0.0", - "simplify-planar-graph": "^2.0.1", - "surface-nets": "^1.0.0", - "triangulate-polyline": "^1.0.0" - } - }, - "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" - } - }, - "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 - }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true - }, - "vt-pbf": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.1.tgz", - "integrity": "sha512-pHjWdrIoxurpmTcbfBWXaPwSmtPAHS105253P1qyEfSTV2HJddqjM+kIHquaT/L6lVJIk9ltTGc0IxR/G47hYA==", - "requires": { - "@mapbox/point-geometry": "0.1.0", - "@mapbox/vector-tile": "^1.3.1", - "pbf": "^3.0.5" - } - }, - "vue": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz", - "integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==" - }, - "vue-cli-plugin-ui-karma": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/vue-cli-plugin-ui-karma/-/vue-cli-plugin-ui-karma-0.2.5.tgz", - "integrity": "sha512-j8SrtpAi9j+N+I2c9XcRNNVpR9YdPYTj431Mkp4rkQkagDdnDymJXflBTja+goY4Uz7rPFcWjKd03KqHeVmz2g==", - "dev": true, - "requires": { - "@vue/test-utils": "^1.0.0-beta.29", - "babel-loader": "^8.0.4", - "chai": "^4.2.0", - "istanbul-instrumenter-loader": "^3.0.1", - "jasmine-core": "^3.3.0", - "karma": "^3.1.1", - "karma-chrome-launcher": "^2.2.0", - "karma-coverage": "^1.1.2", - "karma-coverage-istanbul-reporter": "^2.0.4", - "karma-jasmine": "^2.0.0", - "karma-junit-reporter": "^1.2.0", - "karma-mocha": "^1.3.0", - "karma-phantomjs-shim": "^1.5.0", - "karma-sinon-chai": "^2.0.2", - "karma-spec-reporter": "0.0.32", - "karma-structured-json-reporter": "^1.0.1", - "karma-webpack": "^3.0.5", - "mocha": "^5.2.0", - "phantomjs-shim": "^0.1.0", - "sinon": "^7.1.1", - "sinon-chai": "^3.2.0", - "url-loader": "^1.1.2", - "vue-loader": "^15.4.2", - "vue-style-loader": "^4.1.2" - }, - "dependencies": { - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true, - "peer": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "peer": true - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true, - "peer": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "peer": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "peer": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "peer": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "dev": true, - "peer": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.7" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true, - "peer": true - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true, - "peer": 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, - "peer": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true, - "peer": true - }, - "karma-webpack": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-3.0.5.tgz", - "integrity": "sha512-nRudGJWstvVuA6Tbju9tyGUfXTtI1UXMXoRHVmM2/78D0q6s/Ye2IC157PKNDC15PWFGR0mVIRtWLAdcfsRJoA==", - "dev": true, - "requires": { - "async": "^2.0.0", - "babel-runtime": "^6.0.0", - "loader-utils": "^1.0.0", - "lodash": "^4.0.0", - "source-map": "^0.5.6", - "webpack-dev-middleware": "^2.0.6" - } - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true, - "peer": true - }, - "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" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "peer": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "peer": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "peer": true, - "requires": { - "ansi-regex": "^3.0.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, - "peer": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^2.0.0" - } - }, - "tapable": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", - "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", - "dev": true, - "peer": true - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "peer": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "peer": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "peer": true, - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "peer": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } - } - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "dev": true, - "peer": true, - "requires": { - "source-map": "^0.5.6", - "uglify-js": "^2.8.29", - "webpack-sources": "^1.0.1" - } - }, - "url-loader": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", - "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "mime": "^2.0.3", - "schema-utils": "^1.0.0" - } - }, - "webpack": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", - "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", - "dev": true, - "peer": true, - "requires": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "async": "^2.1.2", - "enhanced-resolve": "^3.4.0", - "escope": "^3.6.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^4.2.1", - "tapable": "^0.2.7", - "uglifyjs-webpack-plugin": "^0.4.6", - "watchpack": "^1.4.0", - "webpack-sources": "^1.0.1", - "yargs": "^8.0.2" - } - }, - "webpack-dev-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz", - "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==", - "dev": true, - "requires": { - "loud-rejection": "^1.6.0", - "memory-fs": "~0.4.1", - "mime": "^2.1.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "url-join": "^2.0.2", - "webpack-log": "^1.0.1" - } - }, - "webpack-log": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", - "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", - "dev": true, - "requires": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" - } - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "peer": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "peer": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "peer": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "peer": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true, - "peer": true - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "peer": true, - "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "peer": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "vue-codemirror": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/vue-codemirror/-/vue-codemirror-4.0.6.tgz", - "integrity": "sha512-ilU7Uf0mqBNSSV3KT7FNEeRIxH4s1fmpG4TfHlzvXn0QiQAbkXS9lLfwuZpaBVEnpP5CSE62iGJjoliTuA8poQ==", - "requires": { - "codemirror": "^5.41.0", - "diff-match-patch": "^1.0.0" - } - }, - "vue-eslint-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.1.0.tgz", - "integrity": "sha512-Kr21uPfthDc63nDl27AGQEhtt9VrZ9nkYk/NTftJ2ws9XiJwzJJCnCr3AITQ2jpRMA0XPGDECxYH8E027qMK9Q==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "eslint-scope": "^5.0.0", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.2.1", - "esquery": "^1.0.1", - "lodash": "^4.17.15" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", - "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - } - } - }, - "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-js-modal": { - "version": "2.0.0-rc.6", - "resolved": "https://registry.npmjs.org/vue-js-modal/-/vue-js-modal-2.0.0-rc.6.tgz", - "integrity": "sha512-bJOm7Yhrl0ur/QyXjoC3gMMmE7UxiVEcS2rl8v9iPXIe9QLvjiCSZElSOvvyps8LNuG1X0rPifZGxI/CWKCFaw==", - "requires": { - "resize-observer-polyfill": "^1.5.1" - } - }, - "vue-loader": { - "version": "15.9.3", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.3.tgz", - "integrity": "sha512-Y67VnGGgVLH5Voostx8JBZgPQTlDQeOVBLOEsjc2cXbCYBKexSKEpOA56x0YZofoDOTszrLnIShyOX1p9uCEHA==", - "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-multiselect": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-2.1.6.tgz", - "integrity": "sha512-s7jmZPlm9FeueJg1RwJtnE9KNPtME/7C8uRWSfp9/yEN4M8XcS/d+bddoyVwVnvFyRh9msFo0HWeW0vTL8Qv+w==" - }, - "vue-router": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.3.4.tgz", - "integrity": "sha512-SdKRBeoXUjaZ9R/8AyxsdTqkOfMcI5tWxPZOUX5Ie1BTL5rPSZ0O++pbiZCeYeythiZIdLEfkDiQPKIaWk5hDg==" - }, - "vue-style-loader": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", - "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==", - "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.11", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz", - "integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==", - "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 - }, - "vue2-teleport": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vue2-teleport/-/vue2-teleport-1.0.1.tgz", - "integrity": "sha512-hbY/Q0x8qXGFxo6h4KU4YYesUcN+uUjliqqC0PoNSgpcbS2QRb3qXi+7XMTgLYs0a8i7o1H6Mu43UV4Vbgkhgw==" - }, - "vuejs-paginate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/vuejs-paginate/-/vuejs-paginate-2.1.0.tgz", - "integrity": "sha512-gnwyXlmCiDOu9MLWxN5UJ4PGijKGNOMpHG8ujsrynCzTJljn/rp7Jq0WiDGDAMi5/u0AHuYIHhced+tUW4jblA==" - }, - "vuera": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/vuera/-/vuera-0.2.7.tgz", - "integrity": "sha512-MZErNEK+xXjxBzIDFL9cdEtX3TDZk4pMJGB+WLrlFOVro9okS/FeOSpdPFkpdyZUImZN/or4CrmztA932ChGEQ==" - }, - "vuex": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.5.1.tgz", - "integrity": "sha512-w7oJzmHQs0FM9LXodfskhw9wgKBiaB+totOdb8sNzbTB2KDCEEwEs29NzBZFh/lmEK1t5tDmM1vtsO7ubG1DFw==" - }, - "warning": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "watchpack": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", - "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", - "dev": true, - "requires": { - "chokidar": "^3.4.0", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" - } - }, - "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - } - } - }, - "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" - } - }, - "weak-map": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz", - "integrity": "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=" - }, - "weakmap-shim": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/weakmap-shim/-/weakmap-shim-1.1.1.tgz", - "integrity": "sha1-1lr9eEEJshZuAP9XHDMVDsKkC0k=" - }, - "webgl-context": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webgl-context/-/webgl-context-2.2.0.tgz", - "integrity": "sha1-jzfXJXz23xzQpJ5qextyG5TMhqA=", - "requires": { - "get-canvas-context": "^1.0.1" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "webpack": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", - "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.1.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.6.1", - "webpack-sources": "^1.4.1" - }, - "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" - } - } - } - }, - "webpack-bundle-analyzer": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz", - "integrity": "sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw==", - "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.15", - "mkdirp": "^0.5.1", - "opener": "^1.5.1", - "ws": "^6.0.0" - }, - "dependencies": { - "acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", - "dev": true - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "webpack-chain": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.0.tgz", - "integrity": "sha512-K4EHiEg4WlP4w1rKXKpYWvX9cfGBERHCGP06ETSNV62XUIfOUg1DDRQpxyBsFYxZLKc4YUAI3iiCIvWoliheGA==", - "dev": true, - "requires": { - "deepmerge": "^1.5.2", - "javascript-stringify": "^2.0.1" - } - }, - "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", - "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" - } - }, - "webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "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.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.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 - }, - "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" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-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" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "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 - }, - "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" - } - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.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.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", - "dev": true, - "requires": { - "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-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "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==", - "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 - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true, - "peer": 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==" - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "workbox-background-sync": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.1.5.tgz", - "integrity": "sha512-VbUmPLsdz+sLzuNxHvMylzyRTiM4q+q7rwLBk3p2mtRL5NZozI8j/KgoGbno96vs84jx4b9zCZMEOIKEUTPf6w==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5" - } - }, - "workbox-broadcast-update": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.1.5.tgz", - "integrity": "sha512-zGrTTs+n4wHpYtqYMqBg6kl/x5j1UrczGCQnODSHTxIDV8GXLb/GtA1BCZdysNxpMmdVSeLmTcgIYAAqWFamrA==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5" - } - }, - "workbox-build": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.1.5.tgz", - "integrity": "sha512-P+fakR5QFVqJN9l9xHVXtmafga72gh9I+jM3A9HiB/6UNRmOAejXnDgD+RMegOHgQHPwnB44TalMToFaXKWIyA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@hapi/joi": "^16.1.8", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^1.4.1", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "source-map-url": "^0.4.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "^6.1.5", - "workbox-broadcast-update": "^6.1.5", - "workbox-cacheable-response": "^6.1.5", - "workbox-core": "^6.1.5", - "workbox-expiration": "^6.1.5", - "workbox-google-analytics": "^6.1.5", - "workbox-navigation-preload": "^6.1.5", - "workbox-precaching": "^6.1.5", - "workbox-range-requests": "^6.1.5", - "workbox-recipes": "^6.1.5", - "workbox-routing": "^6.1.5", - "workbox-strategies": "^6.1.5", - "workbox-streams": "^6.1.5", - "workbox-sw": "^6.1.5", - "workbox-window": "^6.1.5" - }, - "dependencies": { - "@hapi/joi": { - "version": "16.1.8", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", - "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", - "dev": true, - "requires": { - "@hapi/address": "^2.1.2", - "@hapi/formula": "^1.2.0", - "@hapi/hoek": "^8.2.4", - "@hapi/pinpoint": "^1.0.2", - "@hapi/topo": "^3.1.3" - } - }, - "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, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.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, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dev": true, - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "workbox-cacheable-response": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.1.5.tgz", - "integrity": "sha512-x8DC71lO/JCgiaJ194l9le8wc8lFPLgUpDkLhp2si7mXV6S/wZO+8Osvw1LLgYa8YYTWGbhbFhFTXIkEMknIIA==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5" - } - }, - "workbox-core": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.1.5.tgz", - "integrity": "sha512-9SOEle7YcJzg3njC0xMSmrPIiFjfsFm9WjwGd5enXmI8Lwk8wLdy63B0nzu5LXoibEmS9k+aWF8EzaKtOWjNSA==", - "dev": true - }, - "workbox-expiration": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.1.5.tgz", - "integrity": "sha512-6cN+FVbh8fNq56LFKPMchGNKCJeyboHsDuGBqmhDUPvD4uDjsegQpDQzn52VaE0cpywbSIsDF/BSq9E9Yjh5oQ==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5" - } - }, - "workbox-google-analytics": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.1.5.tgz", - "integrity": "sha512-LYsJ/VxTkYVLxM1uJKXZLz4cJdemidY7kPyAYtKVZ6EiDG89noASqis75/5lhqM1m3HwQfp2DtoPrelKSpSDBA==", - "dev": true, - "requires": { - "workbox-background-sync": "^6.1.5", - "workbox-core": "^6.1.5", - "workbox-routing": "^6.1.5", - "workbox-strategies": "^6.1.5" - } - }, - "workbox-navigation-preload": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.1.5.tgz", - "integrity": "sha512-hDbNcWlffv0uvS21jCAC/mYk7NzaGRSWOQXv1p7bj2aONAX5l699D2ZK4D27G8TO0BaLHUmW/1A5CZcsvweQdg==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5" - } - }, - "workbox-precaching": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.1.5.tgz", - "integrity": "sha512-yhm1kb6wgi141JeM5X7z42XJxCry53tbMLB3NgrxktrZbwbrJF8JILzYy+RFKC9tHC6u2bPmL789GPLT2NCDzw==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5", - "workbox-routing": "^6.1.5", - "workbox-strategies": "^6.1.5" - } - }, - "workbox-range-requests": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.1.5.tgz", - "integrity": "sha512-iACChSapzB0yuIum3ascP/+cfBNuZi5DRrE+u4u5mCHigPlwfSWtlaY+y8p+a8EwcDTVTZVtnrGrRnF31SiLqQ==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5" - } - }, - "workbox-recipes": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.1.5.tgz", - "integrity": "sha512-MD1yabHca6O/oj1hrRdfj9cRwhKA5zqIE53rWOAg/dKMMzWQsf9nyRbXRgzK3a13iQvYKuQzURU4Cx58tdnR+Q==", - "dev": true, - "requires": { - "workbox-cacheable-response": "^6.1.5", - "workbox-core": "^6.1.5", - "workbox-expiration": "^6.1.5", - "workbox-precaching": "^6.1.5", - "workbox-routing": "^6.1.5", - "workbox-strategies": "^6.1.5" - } - }, - "workbox-routing": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.1.5.tgz", - "integrity": "sha512-uC/Ctz+4GXGL42h1WxUNKxqKRik/38uS0NZ6VY/EHqL2F1ObLFqMHUZ4ZYvyQsKdyI82cxusvhJZHOrY0a2fIQ==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5" - } - }, - "workbox-strategies": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.1.5.tgz", - "integrity": "sha512-QhiOn9KT9YGBdbfWOmJT6pXZOIAxaVrs6J6AMYzRpkUegBTEcv36+ZhE/cfHoT0u2fxVtthHnskOQ/snEzaXQw==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5" - } - }, - "workbox-streams": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.1.5.tgz", - "integrity": "sha512-OI1kLvRHGFXV+soDvs6aEwfBwdAkvPB0mRryqdh3/K17qUj/1gRXc8QtpgU+83xqx/I/ar2bTCIj0KPzI/ChCQ==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5", - "workbox-routing": "^6.1.5" - } - }, - "workbox-sw": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.1.5.tgz", - "integrity": "sha512-IMDiqxYbKzPorZLGMUMacLB6r76iVQbdTzYthIZoPfy+uFURJFUtqiWQJKg1L+RMyuYXwKXTahCIGkgFs4jBeg==", - "dev": true - }, - "workbox-webpack-plugin": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.1.5.tgz", - "integrity": "sha512-tsgeNAYiFP4STNPDxBVT58eiU8nGUmcv7Lq9FFJkQf5MMu6tPw1OLp+KpszhbCWP+R/nEdu85Gjexs6fY647Kg==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "source-map-url": "^0.4.0", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "^6.1.5" - } - }, - "workbox-window": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.1.5.tgz", - "integrity": "sha512-akL0X6mAegai2yypnq78RgfazeqvKbsllRtEI4dnbhPcRINEY1NmecFmsQk8SD+zWLK1gw5OdwAOX+zHSRVmeA==", - "dev": true, - "requires": { - "workbox-core": "^6.1.5" - } - }, - "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-loader": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-3.0.8.tgz", - "integrity": "sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "world-calendars": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/world-calendars/-/world-calendars-1.0.3.tgz", - "integrity": "sha1-slxQMrokEo/8QdCfr0pewbnBQzU=", - "requires": { - "object-assign": "^4.1.0" - } - }, - "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": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "xmlbuilder": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", - "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "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.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "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.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" - }, - "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" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "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" - } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "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": { - "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 - }, - "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 - } - } - }, - "zero-crossings": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/zero-crossings/-/zero-crossings-1.0.1.tgz", - "integrity": "sha1-xWK9MRNkPzRDokXRJAa4i2m5qf8=", - "requires": { - "cwise-compiler": "^1.0.0" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index bf2ca1d..0000000 --- a/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "sqliteviz", - "version": "0.18.0", - "license": "Apache-2.0", - "private": true, - "scripts": { - "serve": "vue-cli-service serve", - "build": "NODE_OPTIONS=--max_old_space_size=4096 vue-cli-service build", - "test": "vue-cli-service karma", - "lint": "vue-cli-service lint" - }, - "dependencies": { - "codemirror": "^5.57.0", - "core-js": "^3.6.5", - "dataurl-to-blob": "^0.0.1", - "html2canvas": "^1.1.4", - "jquery": "^3.6.0", - "nanoid": "^3.1.12", - "papaparse": "^5.3.1", - "pivottable": "^2.23.0", - "plotly.js": "^1.58.4", - "promise-worker": "^2.0.1", - "react": "^16.13.1", - "react-chart-editor": "^0.45.0", - "react-dom": "^16.13.1", - "sql.js": "file:./lib/sql-js", - "vue": "^2.6.11", - "vue-codemirror": "^4.0.6", - "vue-js-modal": "^2.0.0-rc.6", - "vue-multiselect": "^2.1.6", - "vue-router": "^3.2.0", - "vue2-teleport": "^1.0.1", - "vuejs-paginate": "^2.1.0", - "vuera": "^0.2.7", - "vuex": "^3.4.0" - }, - "devDependencies": { - "@vue/cli-plugin-babel": "^4.4.0", - "@vue/cli-plugin-eslint": "^4.4.0", - "@vue/cli-plugin-router": "^4.4.0", - "@vue/cli-plugin-vuex": "^4.4.0", - "@vue/cli-service": "^4.4.0", - "@vue/eslint-config-standard": "^5.1.2", - "@vue/test-utils": "^1.1.2", - "babel-eslint": "^10.1.0", - "chai": "^4.1.2", - "chai-as-promised": "^7.1.1", - "eslint": "^6.7.2", - "eslint-plugin-import": "^2.20.2", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-standard": "^4.0.0", - "eslint-plugin-vue": "^6.2.2", - "karma": "^3.1.4", - "karma-firefox-launcher": "^2.1.0", - "karma-webpack": "^4.0.2", - "vue-cli-plugin-ui-karma": "^0.2.5", - "vue-template-compiler": "^2.6.11", - "workbox-webpack-plugin": "^6.1.5", - "worker-loader": "^3.0.8" - } -} diff --git a/public/Logo192x192.png b/public/Logo192x192.png deleted file mode 100644 index e0981961375a49fbe4b5981fd30b33f74773d36f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11428 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 diff --git a/public/Logo512x512.png b/public/Logo512x512.png deleted file mode 100644 index 107e330bf7580ef07060fd9b82e62c6051302524..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69949 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 diff --git a/public/favicon.png b/public/favicon.png deleted file mode 100644 index 9bdeb152cff2daed037bb6ea609c34e61ae4c463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 774 zcmV+h1Nr=kP)m&SwVVUirLq5Qodnz|24#aZCdffs`r2nMVbis06uDJ=7`2%2;0; z=hxqCdtv~C#hmjXac;)fe|=dFZyNsrQMvCcE`eNb2|REHWTpFn6==X5TM|3v8<7e` zDC+#CFR@p)5fzHi&9loKtujmDoum zjt@NaU1Ax~@Tpqd(|T+{QTK;h4NdF#L)FaKn%F0fbnzmqk-gBgv%+DNmk~2kzpq+o z+O~%6Ia!GMi|d*77f!=xAm_HgsZZr`Bp<2)pUV4G{#6iTjmT<9EPS*EyhSdnU4fAS z!9+hsZgFHpG6rNLjU4+_{sF>?zM%dtfRI?`542~FT{Ijlg1WgUMVg0dR{$9zTT0ct zPON>sZae-!x8~S=-$qoSGhv_C5OqabOR0VUgbi!SvHVuEa-%v2#px_pk?m?%SAJi$ zkXUxJZp(rM`1vLuph8Cj0^o6c8O;c9!+pUQEG{*h=hAo84(rx=%Q|nyuVEaXLI z(2J3iQEA==@F=dlKQuAtY$({pXG7{1kx`jqu$2{m00&?*3U`Q}2LJ#707*qoM6N<$ Eg5Ati9{>OV diff --git a/public/index.html b/public/index.html deleted file mode 100644 index 0aec206..0000000 --- a/public/index.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - <%= htmlWebpackPlugin.options.title %> - - - - -
-
-
LOADING
- - - - -
-
- - - diff --git a/public/inquiries.json b/public/inquiries.json deleted file mode 100644 index 0637a08..0000000 --- a/public/inquiries.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/public/manifest.webmanifest b/public/manifest.webmanifest deleted file mode 100644 index e0bfe0b..0000000 --- a/public/manifest.webmanifest +++ /dev/null @@ -1,30 +0,0 @@ -{ - "background_color": "white", - "description": "Sqliteviz is a single-page application for fully client-side visualisation of SQLite databases or CSV.", - "display": "fullscreen", - "icons": [ - { - "src": "favicon.png", - "sizes": "32x32", - "type": "image/png" - }, - { - "src": "Logo48x48.png", - "sizes": "48x48", - "type": "image/png" - }, - { - "src": "Logo192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "Logo512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "name": "sqliteviz", - "short_name": "sqliteviz", - "start_url": "index.html" -} \ No newline at end of file diff --git a/src/App.vue b/src/App.vue deleted file mode 100644 index fc0d279..0000000 --- a/src/App.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - diff --git a/src/assets/fonts/OpenSans-Bold.woff2 b/src/assets/fonts/OpenSans-Bold.woff2 deleted file mode 100644 index 4e967b78115127342c969ea2f387062b658da11f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46552 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 diff --git a/src/assets/fonts/OpenSans-BoldItalic.woff2 b/src/assets/fonts/OpenSans-BoldItalic.woff2 deleted file mode 100644 index 18341e7b06e8bbf22bcdc3af9fa2aeb14f27917b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42332 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 a1@EFn>8*2F)s7=c_CY@4*RE7>u>S>oO7WBc diff --git a/src/assets/fonts/OpenSans-Italic.woff2 b/src/assets/fonts/OpenSans-Italic.woff2 deleted file mode 100644 index 102835864a0f51666d1b30fa836f39a2260884a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42580 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

!r1q9mHL@{nmQ^< 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 YuH_olT==!tsDr_shY&)>Sb>247w=JNu>b%7 diff --git a/src/assets/fonts/OpenSans-SemiBoldItalic.woff2 b/src/assets/fonts/OpenSans-SemiBoldItalic.woff2 deleted file mode 100644 index b5ba2457f895fddf3b1f94465a78d51282d83a04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43652 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%0Aqf!J= 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 diff --git a/src/assets/images/Logo.svg b/src/assets/images/Logo.svg deleted file mode 100644 index 4a02c6c..0000000 --- a/src/assets/images/Logo.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/assets/images/Screenshot_editor.png b/src/assets/images/Screenshot_editor.png deleted file mode 100644 index 01423829dd9d6130813efaea5877743a03f68d7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85220 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 diff --git a/src/assets/images/arrow-hover.svg b/src/assets/images/arrow-hover.svg deleted file mode 100644 index c879e47..0000000 --- a/src/assets/images/arrow-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/arrow.svg b/src/assets/images/arrow.svg deleted file mode 100644 index 95d2b11..0000000 --- a/src/assets/images/arrow.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/body.svg b/src/assets/images/body.svg deleted file mode 100644 index 03a4cf5..0000000 --- a/src/assets/images/body.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/assets/images/bottom.svg b/src/assets/images/bottom.svg deleted file mode 100644 index 44371e7..0000000 --- a/src/assets/images/bottom.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/images/checkbox_checked.svg b/src/assets/images/checkbox_checked.svg deleted file mode 100644 index 29f20d9..0000000 --- a/src/assets/images/checkbox_checked.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/assets/images/checkbox_checked_disabled.svg b/src/assets/images/checkbox_checked_disabled.svg deleted file mode 100644 index 2fa60c0..0000000 --- a/src/assets/images/checkbox_checked_disabled.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/assets/images/checkbox_checked_light.svg b/src/assets/images/checkbox_checked_light.svg deleted file mode 100644 index 7a26f81..0000000 --- a/src/assets/images/checkbox_checked_light.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/assets/images/chevron.svg b/src/assets/images/chevron.svg deleted file mode 100644 index 13c72f6..0000000 --- a/src/assets/images/chevron.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/close.svg b/src/assets/images/close.svg deleted file mode 100644 index af26022..0000000 --- a/src/assets/images/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/copy.svg b/src/assets/images/copy.svg deleted file mode 100644 index a4b2c42..0000000 --- a/src/assets/images/copy.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/database-edit.svg b/src/assets/images/database-edit.svg deleted file mode 100644 index 58ada16..0000000 --- a/src/assets/images/database-edit.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/delete-tag-hover.svg b/src/assets/images/delete-tag-hover.svg deleted file mode 100644 index 988ad18..0000000 --- a/src/assets/images/delete-tag-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/delete-tag.svg b/src/assets/images/delete-tag.svg deleted file mode 100644 index 03299fc..0000000 --- a/src/assets/images/delete-tag.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/delete.svg b/src/assets/images/delete.svg deleted file mode 100644 index 80171cc..0000000 --- a/src/assets/images/delete.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/error.svg b/src/assets/images/error.svg deleted file mode 100644 index 2dce98c..0000000 --- a/src/assets/images/error.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/assets/images/file-export.svg b/src/assets/images/file-export.svg deleted file mode 100644 index 572b7e2..0000000 --- a/src/assets/images/file-export.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/file.png b/src/assets/images/file.png deleted file mode 100644 index 8139d4382ccd1f0e5a8f2b68041abc750823e5c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10139 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 NNkLt{T-H3~{{iZE#5Mo` diff --git a/src/assets/images/info.svg b/src/assets/images/info.svg deleted file mode 100644 index 201f843..0000000 --- a/src/assets/images/info.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/leftArm.svg b/src/assets/images/leftArm.svg deleted file mode 100644 index 8f8fd19..0000000 --- a/src/assets/images/leftArm.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/assets/images/rename.svg b/src/assets/images/rename.svg deleted file mode 100644 index 3c030b9..0000000 --- a/src/assets/images/rename.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/assets/images/rightArm.svg b/src/assets/images/rightArm.svg deleted file mode 100644 index 56f090a..0000000 --- a/src/assets/images/rightArm.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/assets/images/sort.svg b/src/assets/images/sort.svg deleted file mode 100644 index deee3fc..0000000 --- a/src/assets/images/sort.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/assets/images/success.svg b/src/assets/images/success.svg deleted file mode 100644 index fd75e0d..0000000 --- a/src/assets/images/success.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/assets/images/top.svg b/src/assets/images/top.svg deleted file mode 100644 index 55a8efb..0000000 --- a/src/assets/images/top.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/assets/styles/buttons.css b/src/assets/styles/buttons.css deleted file mode 100644 index 0647fa1..0000000 --- a/src/assets/styles/buttons.css +++ /dev/null @@ -1,63 +0,0 @@ -button { - box-sizing: border-box; - height: 36px; - padding: 0 12px; - font-size: 14px; - font-weight: 600; - cursor: pointer; -} - -button:focus { - outline: none; -} - -button.primary { - background: var(--color-accent); - border: 1px solid var(--color-accent-shade); - border-radius: var(--border-radius-big); - min-width: 83px; - color: var(--color-text-light); - text-shadow: var(--shadow); -} - -button.primary:hover { - background: var(--color-accent-shade); - border: 1px solid var(--color-accent-shade); - color: var(--color-text-light); - text-shadow: var(--shadow); -} - -button.secondary { - background: white; - border: 1px solid var(--color-border); - border-radius: var(--border-radius-big); - min-width: 83px; - color: var(--color-text-base); -} - -button.secondary:hover { - border: 1px solid var(--color-text-light-2); - color: var(--color-text-active); -} - -button.toolbar { - background: transparent; - border: none; - color: var(--color-text-base); - padding: 0; -} - -button.toolbar:hover { - color: var(--color-accent); -} - -button.primary:disabled, -button.secondary:disabled { - background: var(--color-bg-light-2); - border: 1px solid var(--color-border); - color: var(--color-text-light-2); - text-shadow: none; - cursor: default; -} - - diff --git a/src/assets/styles/dialogs.css b/src/assets/styles/dialogs.css deleted file mode 100644 index 2d4394e..0000000 --- a/src/assets/styles/dialogs.css +++ /dev/null @@ -1,40 +0,0 @@ -.dialog { - border-radius: var(--border-radius-big); - box-shadow: 0px 2px 9px rgba(80, 103, 132, 0.8); -} - -.dialog-header { - height: 46px; - line-height: 46px; - padding: 0 22px 0 12px; - color: var(--color-text-base); - font-size: 16px; - font-weight: 600; - display: flex; - justify-content: space-between; - align-items: center; -} - -.dialog-body { - min-height: 60px; - background-color: var(--color-bg-light); - padding: 24px; - border-top: 1px solid var(--color-border-light); - color: var(--color-text-base); - font-size: 13px; -} - -.dialog-buttons-container { - display: flex; - justify-content: flex-end; - background-color: var(--color-bg-light); - padding: 24px; -} - -.dialog-buttons-container button { - margin-left: 16px; -} - -.vm--overlay { - background-color: rgba(162, 177, 198, 0.5); -} diff --git a/src/assets/styles/messages.css b/src/assets/styles/messages.css deleted file mode 100644 index 1b163c6..0000000 --- a/src/assets/styles/messages.css +++ /dev/null @@ -1,6 +0,0 @@ -.warning { - background-color: var(--color-bg-warning); - color: var(--color-text-base); - font-size: 13px; - padding: 0 24px; -} \ No newline at end of file diff --git a/src/assets/styles/multiselect.css b/src/assets/styles/multiselect.css deleted file mode 100644 index 1ce9ef2..0000000 --- a/src/assets/styles/multiselect.css +++ /dev/null @@ -1,136 +0,0 @@ -.sqliteviz-select, -.sqliteviz-select .multiselect__tags { - min-height: 36px; - color: var(--color-text-base); -} - -.sqliteviz-select .multiselect__select { - height: 34px; - min-height: 34px; - padding: 6px; - width: 32px; - height: 32px; - margin-top: 1px; -} - -.sqliteviz-select .multiselect__tags { - border-radius: var(--border-radius-medium-2); - border: 1px solid var(--color-border); - padding: 4px 32px 0 6px; -} - -.sqliteviz-select, -.sqliteviz-select .multiselect__input, -.sqliteviz-select .multiselect__single, -.sqliteviz-select .multiselect__placeholder { - font-size: 12px; -} - -.sqliteviz-select .multiselect__single, -.sqliteviz-select .multiselect__placeholder, -.sqliteviz-select .multiselect__input { - padding: 0; - margin-bottom: 0; - line-height: 28px; -} - -.sqliteviz-select .multiselect__input { - width: 0 !important; - color: var(--color-text-base); -} - -.sqliteviz-select.multiselect--active .multiselect__input { - width: auto !important; -} - -.sqliteviz-select .multiselect__placeholder, -.sqliteviz-select .multiselect__input::placeholder { - color: var(--color-text-light-2); -} - -.sqliteviz-select .multiselect__option.multiselect__option--highlight { - background-color: var(--color-bg-light); - color: var(--color-text-active); -} - -.sqliteviz-select .multiselect__tag { - background-color: var(--color-bg-light-4); - border: 1px solid var(--color-border); - border-radius: var(--border-radius-small); - color: var(--color-text-active); - font-size: 11.05px; - margin: 2px; -} -.sqliteviz-select .multiselect__tag-icon:after { - content: url('~@/assets/images/delete-tag.svg'); - height: 14px; - width: 14px; -} - -.sqliteviz-select .multiselect__tag-icon:focus:after, -.sqliteviz-select .multiselect__tag-icon:hover:after { - content: url('~@/assets/images/delete-tag-hover.svg'); -} - -.sqliteviz-select .multiselect__tag-icon:focus, -.sqliteviz-select .multiselect__tag-icon:hover { - background-color: var(--color-bg-danger); - border-radius: var(--border-radius-small); -} - -.sqliteviz-select .multiselect__option { - min-height: 29px; - padding: 8px 12px; - line-height: 13px; -} - -.sqliteviz-select .multiselect__option:after { - line-height: 29px; -} - -.sqliteviz-select .multiselect__content-wrapper { - border-radius: var(--border-radius-medium-2); - border: 1px solid var(--color-border); - box-shadow: var(--shadow-1); - top: calc(100% - 1px); - max-height: 292px !important; -} - -.sqliteviz-select.multiselect--above .multiselect__content-wrapper { - top: unset; - bottom: calc(100% - 1px); -} - -.sqliteviz-select .multiselect__select:before { - content: url('~@/assets/images/arrow.svg'); - border: none; - top: 0; -} - -.sqliteviz-select.multiselect--active .multiselect__select { - transform: none; -} - -.sqliteviz-select:hover .multiselect__tags { - border-color: var(--color-border-dark); -} - -.sqliteviz-select .multiselect__select:hover:before { - content: url('~@/assets/images/arrow-hover.svg'); -} - -.sqliteviz-select.multiselect--active .multiselect__tags { - border-radius: var(--border-radius-medium-2); -} - -.sqliteviz-select .multiselect__option .no-results { - color: var(--color-text-light-2); -} - -.sqliteviz-select.multiselect--disabled { - opacity: unset; -} - -.sqliteviz-select.multiselect--disabled .multiselect__select { - background: unset; -} \ No newline at end of file diff --git a/src/assets/styles/scrollbars.css b/src/assets/styles/scrollbars.css deleted file mode 100644 index 858d85f..0000000 --- a/src/assets/styles/scrollbars.css +++ /dev/null @@ -1,17 +0,0 @@ -/* width */ -::-webkit-scrollbar { - width: 5px; - height: 5px; -} - -/* Track */ -::-webkit-scrollbar-track { - background: transparent; - border-radius: 5px; -} - -/* Handle */ -::-webkit-scrollbar-thumb { - background: var(--color-accent); - border-radius: 10px; -} diff --git a/src/assets/styles/tables.css b/src/assets/styles/tables.css deleted file mode 100644 index 59d1d69..0000000 --- a/src/assets/styles/tables.css +++ /dev/null @@ -1,109 +0,0 @@ -.rounded-bg { - padding: 35px 5px 5px; - background-color: white; - border-radius: 5px; - position: relative; - border: 1px solid var(--color-border-light); - box-sizing: border-box; -} - -.straight .rounded-bg { - border-radius: 0; - border-width: 0 0 1px 0; -} - -.header-container { - overflow: hidden; - position: absolute; - top: -1px; - left: -1px; - width: calc(100% + 2px); - padding-left: 7px; - box-sizing: border-box; - background-color: var(--color-bg-dark); - border-radius: 5px 5px 0 0; -} - -.straight .header-container { - border-radius: 0; -} - -.straight { - height: 100%; -} - -.straight .rounded-bg { - /* 27 - height of table footer */ - height: calc(100% - 27px); -} - -@supports (-moz-appearance:none) { - .header-container { - top: 0; - padding-left: 6px; - } -} - -.header-container > div { - display: flex; - width: fit-content; - padding-right: 30px; -} -.table-container { - width: 100%; - max-height: 100%; - overflow: auto; -} -table.sqliteviz-table { - min-width: 100%; - margin-top: -35px; - border-collapse: collapse; -} -.sqliteviz-table thead th, .fixed-header { - font-size: 14px; - font-weight: 600; - box-sizing: border-box; - background-color: var(--color-bg-dark); - color: var(--color-text-light); - border-right: 1px solid var(--color-border-light); - overflow: hidden; - text-overflow: ellipsis; -} -.sqliteviz-table tbody td { - font-size: 13px; - background-color:white; - color: var(--color-text-base); - box-sizing: border-box; - border-bottom: 1px solid var(--color-border-light); - border-right: 1px solid var(--color-border-light); -} -.sqliteviz-table td, -.sqliteviz-table th, -.fixed-header { - padding: 8px 24px; - white-space: nowrap; -} - -.sqliteviz-table tbody tr td:last-child, -.sqliteviz-table thead tr th:last-child, -.header-container div .fixed-header:last-child { - border-right: none; -} - -.sqliteviz-table td > div.cell-data { - width: -webkit-max-content; - width: -moz-max-content; - width: max-content; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.table-footer { - display: flex; - justify-content: space-between; - padding: 6px 12px; -} -.table-footer-count { - font-size: 11px; - color: var(--color-text-base); -} diff --git a/src/assets/styles/tooltips.css b/src/assets/styles/tooltips.css deleted file mode 100644 index 6a068d7..0000000 --- a/src/assets/styles/tooltips.css +++ /dev/null @@ -1,13 +0,0 @@ -.icon-tooltip { - background-color: rgba(80, 103, 132, 0.85); - color: #fff; - text-align: center; - font-size: 12px; - padding: 0 6px; - line-height: 19px;; - position: fixed; - height: 19px; - border-radius: var(--border-radius-medium); - white-space: nowrap; - z-index: 999; -} \ No newline at end of file diff --git a/src/assets/styles/variables.css b/src/assets/styles/variables.css deleted file mode 100644 index 91abd09..0000000 --- a/src/assets/styles/variables.css +++ /dev/null @@ -1,53 +0,0 @@ -:root { - --color-white: #ffffff; - --color-gray-light: #F3F6FA; - --color-gray-light-2: #DFE8F3; - --color-gray-light-3: #C8D4E3; - --color-gray-light-4:#EBF0F8; - --color-gray-light-5:#f8f8f9; - --color-gray-medium: #A2B1C6; - --color-gray-dark: #506784; - --color-blue-medium: #119DFF; - --color-blue-dark: #0D76BF; - --color-blue-dark-2: #2A3F5F; - --color-red: #EF553B; - --color-red-2: #DE350B; - --color-red-light: #FFBDAD; - --color-yellow: #FBEFCB; - - - - --color-bg-light: var(--color-gray-light); - --color-bg-light-2: var(--color-gray-light-2); - --color-bg-light-3: var(--color-gray-light-5); - --color-bg-light-4: var(--color-gray-light-4); - --color-bg-dark: var(--color-gray-dark); - --color-bg-warning: var(--color-yellow); - --color-bg-danger: var(--color-red-light); - --color-danger: var(--color-red-2); - --color-accent: var(--color-blue-medium); - --color-accent-shade: var(--color-blue-dark); - --color-border-light: var(--color-gray-light-2); - --color-border: var(--color-gray-light-3); - --color-border-dark: var(--color-gray-medium); - --color-text-light: var(--color-white); - --color-text-light-2: var(--color-gray-medium); - --color-text-base: var(--color-gray-dark); - --color-text-active: var(--color-blue-dark-2); - --color-text-error: var(--color-red); - - --shadow: 0 1px 2px rgba(42, 63, 95, 0.7); - --shadow-1: 0 2px 9px rgba(80, 103, 132, 0.2); - - --border-radius-big: 5px; - --border-radius-medium: 3px; - --border-radius-medium-2: 4px; - --border-radius-small: 2px; -} - -.plotly-editor--theme-provider { - --sidebar-width: 112px; -} - - - diff --git a/src/components/CheckBox.vue b/src/components/CheckBox.vue deleted file mode 100644 index a301c28..0000000 --- a/src/components/CheckBox.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - - - diff --git a/src/components/CsvImport/DelimiterSelector/ascii.js b/src/components/CsvImport/DelimiterSelector/ascii.js deleted file mode 100644 index 95b3a8d..0000000 --- a/src/components/CsvImport/DelimiterSelector/ascii.js +++ /dev/null @@ -1,130 +0,0 @@ -export default { - 0: { name: 'null character' }, - 1: { name: 'start of header' }, - 2: { name: 'start of text' }, - 3: { name: 'end of text' }, - 4: { name: 'end of transmission' }, - 5: { name: 'enquiry' }, - 6: { name: 'acknowledge' }, - 7: { name: 'bell (ring)' }, - 8: { name: 'backspace' }, - 9: { name: 'horizontal tab' }, - 10: { name: 'line feed' }, - 11: { name: 'vertical tab' }, - 12: { name: 'form feed' }, - 13: { name: 'carriage return' }, - 14: { name: 'shift out' }, - 15: { name: 'shift in' }, - 16: { name: 'data link escape' }, - 17: { name: 'device control 1' }, - 18: { name: 'device control 2' }, - 19: { name: 'device control 3' }, - 20: { name: 'device control 4' }, - 21: { name: 'negative acknowledge' }, - 22: { name: 'synchronize' }, - 23: { name: 'end transmission block' }, - 24: { name: 'cancel' }, - 25: { name: 'end of medium' }, - 26: { name: 'substitute' }, - 27: { name: 'escape' }, - 28: { name: 'file separator' }, - 29: { name: 'group separator' }, - 30: { name: 'record separator' }, - 31: { name: 'unit separator' }, - 32: { name: 'space' }, - 33: { name: 'exclamation mark' }, - 34: { name: 'quotation mark' }, - 35: { name: 'number sign' }, - 36: { name: 'dollar sign' }, - 37: { name: 'percent sign' }, - 38: { name: 'ampersand' }, - 39: { name: 'apostrophe' }, - 40: { name: 'left parenthesis' }, - 41: { name: 'right parenthesis' }, - 42: { name: 'asterisk' }, - 43: { name: 'plus sign' }, - 44: { name: 'comma' }, - 45: { name: 'hyphen' }, - 46: { name: 'period' }, - 47: { name: 'slash' }, - 48: { name: 'digit 0' }, - 49: { name: 'digit 1' }, - 50: { name: 'digit 2' }, - 51: { name: 'digit 3' }, - 52: { name: 'digit 4' }, - 53: { name: 'digit 5' }, - 54: { name: 'digit 6' }, - 55: { name: 'digit 7' }, - 56: { name: 'digit 8' }, - 57: { name: 'digit 9' }, - 58: { name: 'colon' }, - 59: { name: 'semicolon' }, - 60: { name: 'less-than' }, - 61: { name: 'equals-to' }, - 62: { name: 'greater-than' }, - 63: { name: 'question mark' }, - 64: { name: 'at sign' }, - 65: { name: 'uppercase A' }, - 66: { name: 'uppercase B' }, - 67: { name: 'uppercase C' }, - 68: { name: 'uppercase D' }, - 69: { name: 'uppercase E' }, - 70: { name: 'uppercase F' }, - 71: { name: 'uppercase G' }, - 72: { name: 'uppercase H' }, - 73: { name: 'uppercase I' }, - 74: { name: 'uppercase J' }, - 75: { name: 'uppercase K' }, - 76: { name: 'uppercase L' }, - 77: { name: 'uppercase M' }, - 78: { name: 'uppercase N' }, - 79: { name: 'uppercase O' }, - 80: { name: 'uppercase P' }, - 81: { name: 'uppercase Q' }, - 82: { name: 'uppercase R' }, - 83: { name: 'uppercase S' }, - 84: { name: 'uppercase T' }, - 85: { name: 'uppercase U' }, - 86: { name: 'uppercase V' }, - 87: { name: 'uppercase W' }, - 88: { name: 'uppercase X' }, - 89: { name: 'uppercase Y' }, - 90: { name: 'uppercase Z' }, - 91: { name: 'left square bracket' }, - 92: { name: 'backslash' }, - 93: { name: 'right square bracket' }, - 94: { name: 'caret' }, - 95: { name: 'underscore' }, - 96: { name: 'grave accent' }, - 97: { name: 'lowercase a' }, - 98: { name: 'lowercase b' }, - 99: { name: 'lowercase c' }, - 100: { name: 'lowercase d' }, - 101: { name: 'lowercase e' }, - 102: { name: 'lowercase f' }, - 103: { name: 'lowercase g' }, - 104: { name: 'lowercase h' }, - 105: { name: 'lowercase i' }, - 106: { name: 'lowercase j' }, - 107: { name: 'lowercase k' }, - 108: { name: 'lowercase l' }, - 109: { name: 'lowercase m' }, - 110: { name: 'lowercase n' }, - 111: { name: 'lowercase o' }, - 112: { name: 'lowercase p' }, - 113: { name: 'lowercase q' }, - 114: { name: 'lowercase r' }, - 115: { name: 'lowercase s' }, - 116: { name: 'lowercase t' }, - 117: { name: 'lowercase u' }, - 118: { name: 'lowercase v' }, - 119: { name: 'lowercase w' }, - 120: { name: 'lowercase x' }, - 121: { name: 'lowercase y' }, - 122: { name: 'lowercase z' }, - 123: { name: 'left curly brace' }, - 124: { name: 'vertical bar' }, - 125: { name: 'right curly brace' }, - 126: { name: 'tilde' }, - 127: { name: 'delete (rubout)' } -} diff --git a/src/components/CsvImport/DelimiterSelector/index.vue b/src/components/CsvImport/DelimiterSelector/index.vue deleted file mode 100644 index 9e1ec20..0000000 --- a/src/components/CsvImport/DelimiterSelector/index.vue +++ /dev/null @@ -1,204 +0,0 @@ - - - - - diff --git a/src/components/CsvImport/index.vue b/src/components/CsvImport/index.vue deleted file mode 100644 index 07a3af7..0000000 --- a/src/components/CsvImport/index.vue +++ /dev/null @@ -1,385 +0,0 @@ - - - - - diff --git a/src/components/DbUploader.vue b/src/components/DbUploader.vue deleted file mode 100644 index 5dcb89d..0000000 --- a/src/components/DbUploader.vue +++ /dev/null @@ -1,259 +0,0 @@ - - - - - diff --git a/src/components/IconButton.vue b/src/components/IconButton.vue deleted file mode 100644 index 648f436..0000000 --- a/src/components/IconButton.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - - - diff --git a/src/components/LoadingDialog.vue b/src/components/LoadingDialog.vue deleted file mode 100644 index 190a6e6..0000000 --- a/src/components/LoadingDialog.vue +++ /dev/null @@ -1,83 +0,0 @@ - - - - - diff --git a/src/components/LoadingIndicator.vue b/src/components/LoadingIndicator.vue deleted file mode 100644 index 8b818f2..0000000 --- a/src/components/LoadingIndicator.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - - diff --git a/src/components/Logs.vue b/src/components/Logs.vue deleted file mode 100644 index a2f56a6..0000000 --- a/src/components/Logs.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - - - diff --git a/src/components/Splitpanes/index.vue b/src/components/Splitpanes/index.vue deleted file mode 100644 index 1f30746..0000000 --- a/src/components/Splitpanes/index.vue +++ /dev/null @@ -1,347 +0,0 @@ - - - - - diff --git a/src/components/Splitpanes/splitter.js b/src/components/Splitpanes/splitter.js deleted file mode 100644 index b93aa05..0000000 --- a/src/components/Splitpanes/splitter.js +++ /dev/null @@ -1,36 +0,0 @@ -export default { - // Get the cursor position relative to the splitpane container. - getCurrentMouseDrag (event, container) { - const rect = container.getBoundingClientRect() - const { clientX, clientY } = ('ontouchstart' in window && event.touches) - ? event.touches[0] - : event - return { - x: clientX - rect.left, - y: clientY - rect.top - } - }, - - // Returns the drag percentage of the splitter relative to the 2 panes it's inbetween. - getCurrentDragPercentage (event, container, isHorisontal) { - let drag = this.getCurrentMouseDrag(event, container) - drag = drag[isHorisontal ? 'y' : 'x'] - const containerSize = container[isHorisontal ? 'clientHeight' : 'clientWidth'] - return drag * 100 / containerSize - }, - - // Returns the new position in percents. - calculateOffset (event, { container, isHorisontal, paneBeforeMax, paneAfterMax }) { - const dragPercentage = this.getCurrentDragPercentage(event, container, isHorisontal) - - const paneBeforeMaxReached = paneBeforeMax < 100 && (dragPercentage >= paneBeforeMax) - const paneAfterMaxReached = paneAfterMax < 100 && (dragPercentage <= 100 - paneAfterMax) - - // Prevent dragging beyond pane max. - if (paneBeforeMaxReached || paneAfterMaxReached) { - return paneBeforeMaxReached ? paneBeforeMax : Math.max(100 - paneAfterMax, 0) - } else { - return Math.min(Math.max(dragPercentage, 0), paneBeforeMax) - } - } -} diff --git a/src/components/SqlTable/Pager.vue b/src/components/SqlTable/Pager.vue deleted file mode 100644 index 50aa360..0000000 --- a/src/components/SqlTable/Pager.vue +++ /dev/null @@ -1,101 +0,0 @@ - - - - - diff --git a/src/components/SqlTable/index.vue b/src/components/SqlTable/index.vue deleted file mode 100644 index 908ac4d..0000000 --- a/src/components/SqlTable/index.vue +++ /dev/null @@ -1,133 +0,0 @@ - - - - - diff --git a/src/components/TextField.vue b/src/components/TextField.vue deleted file mode 100644 index 20eb330..0000000 --- a/src/components/TextField.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - - - diff --git a/src/components/svg/addTable.vue b/src/components/svg/addTable.vue deleted file mode 100644 index 85542c6..0000000 --- a/src/components/svg/addTable.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - - - diff --git a/src/components/svg/changeDb.vue b/src/components/svg/changeDb.vue deleted file mode 100644 index 08a6227..0000000 --- a/src/components/svg/changeDb.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - - - diff --git a/src/components/svg/chart.vue b/src/components/svg/chart.vue deleted file mode 100644 index 2c643fb..0000000 --- a/src/components/svg/chart.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - diff --git a/src/components/svg/clear.vue b/src/components/svg/clear.vue deleted file mode 100644 index d52363f..0000000 --- a/src/components/svg/clear.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/src/components/svg/clipboard.vue b/src/components/svg/clipboard.vue deleted file mode 100644 index 8858823..0000000 --- a/src/components/svg/clipboard.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/src/components/svg/close.vue b/src/components/svg/close.vue deleted file mode 100644 index 2e43ffb..0000000 --- a/src/components/svg/close.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/src/components/svg/dataView.vue b/src/components/svg/dataView.vue deleted file mode 100644 index 701d1d6..0000000 --- a/src/components/svg/dataView.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - diff --git a/src/components/svg/dropDownChevron.vue b/src/components/svg/dropDownChevron.vue deleted file mode 100644 index 4242c0f..0000000 --- a/src/components/svg/dropDownChevron.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/src/components/svg/export.vue b/src/components/svg/export.vue deleted file mode 100644 index 047b413..0000000 --- a/src/components/svg/export.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - - - diff --git a/src/components/svg/exportToCsv.vue b/src/components/svg/exportToCsv.vue deleted file mode 100644 index 3b09cfe..0000000 --- a/src/components/svg/exportToCsv.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - diff --git a/src/components/svg/exportToSvg.vue b/src/components/svg/exportToSvg.vue deleted file mode 100644 index 52ab6e4..0000000 --- a/src/components/svg/exportToSvg.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - diff --git a/src/components/svg/hint.vue b/src/components/svg/hint.vue deleted file mode 100644 index 44808d6..0000000 --- a/src/components/svg/hint.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - - - diff --git a/src/components/svg/html.vue b/src/components/svg/html.vue deleted file mode 100644 index 95967ca..0000000 --- a/src/components/svg/html.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - diff --git a/src/components/svg/pivot.vue b/src/components/svg/pivot.vue deleted file mode 100644 index d507816..0000000 --- a/src/components/svg/pivot.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - diff --git a/src/components/svg/png.vue b/src/components/svg/png.vue deleted file mode 100644 index 2f44733..0000000 --- a/src/components/svg/png.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - diff --git a/src/components/svg/run.vue b/src/components/svg/run.vue deleted file mode 100644 index 23b4db7..0000000 --- a/src/components/svg/run.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/src/components/svg/sort.vue b/src/components/svg/sort.vue deleted file mode 100644 index 6145a52..0000000 --- a/src/components/svg/sort.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - - - diff --git a/src/components/svg/sqlEditor.vue b/src/components/svg/sqlEditor.vue deleted file mode 100644 index 58f0f8c..0000000 --- a/src/components/svg/sqlEditor.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - diff --git a/src/components/svg/table.vue b/src/components/svg/table.vue deleted file mode 100644 index 19f9a59..0000000 --- a/src/components/svg/table.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - diff --git a/src/components/svg/treeChevron.vue b/src/components/svg/treeChevron.vue deleted file mode 100644 index e213c11..0000000 --- a/src/components/svg/treeChevron.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - - - diff --git a/src/lib/chartHelper.js b/src/lib/chartHelper.js deleted file mode 100644 index 0776a09..0000000 --- a/src/lib/chartHelper.js +++ /dev/null @@ -1,76 +0,0 @@ -import dereference from 'react-chart-editor/lib/lib/dereference' -import plotly from 'plotly.js' -import { nanoid } from 'nanoid' - -export function getOptionsFromDataSources (dataSources) { - if (!dataSources) { - return [] - } - - return Object.keys(dataSources).map(name => ({ - value: name, - label: name - })) -} - -export function getOptionsForSave (state, dataSources) { - // we don't need to save the data, only settings - // so we modify state.data using dereference - const stateCopy = JSON.parse(JSON.stringify(state)) - const emptySources = {} - for (const key in dataSources) { - emptySources[key] = [] - } - dereference(stateCopy.data, emptySources) - return stateCopy -} - -export async function getImageDataUrl (element, type) { - const chartElement = element.querySelector('.js-plotly-plot') - return await plotly.toImage(chartElement, { - format: type, - width: null, - height: null - }) -} - -export function getChartData (element) { - const chartElement = element.querySelector('.js-plotly-plot') - return { - data: chartElement.data, - layout: chartElement.layout - } -} - -export function getHtml (options) { - const chartId = nanoid() - return ` - -

- - ` -} - -export default { - getOptionsFromDataSources, - getOptionsForSave, - getImageDataUrl, - getHtml, - getChartData -} diff --git a/src/lib/csv.js b/src/lib/csv.js deleted file mode 100644 index edc1115..0000000 --- a/src/lib/csv.js +++ /dev/null @@ -1,113 +0,0 @@ -import Papa from 'papaparse' - -const hintsByCode = { - MissingQuotes: 'Edit your CSV so that the field has a closing quote char.', - TooFewFields: 'Add fields or try another delimiter.', - TooManyFields: 'Edit your CSV or try another delimiter.' -} - -export default { - getResult (source) { - const result = { - columns: [] - } - const values = {} - if (source.meta.fields) { - source.meta.fields.forEach(col => { - const colName = col.trim() - result.columns.push(colName) - values[colName] = source.data.map(row => { - let value = row[col] - if (value instanceof Date) { - value = value.toISOString() - } - return value - }) - }) - } else { - for (let i = 0; i <= source.data[0].length - 1; i++) { - const colName = `col${i + 1}` - result.columns.push(colName) - values[colName] = source.data.map(row => { - let value = row[i] - if (value instanceof Date) { - value = value.toISOString() - } - return value - }) - } - } - - result.values = values - return result - }, - - prepareForExport (resultSet) { - const columns = resultSet.columns - const rowCount = resultSet.values[columns[0]].length - const result = { - fields: columns, - data: [] - } - - for (let rowNumber = 0; rowNumber < rowCount; rowNumber++) { - result.data.push(columns.map(column => resultSet.values[column][rowNumber])) - } - - return result - }, - - parse (file, config = {}) { - return new Promise((resolve, reject) => { - const defaultConfig = { - delimiter: '', // auto-detect - newline: '', // auto-detect - quoteChar: '"', - escapeChar: '"', - header: false, - transformHeader: undefined, - dynamicTyping: true, - preview: 0, - encoding: 'UTF-8', - worker: true, - comments: false, - step: undefined, - complete: results => { - const res = { - data: this.getResult(results), - delimiter: results.meta.delimiter, - hasErrors: false, - rowCount: results.data.length - } - res.messages = results.errors.map(msg => { - msg.type = msg.code === 'UndetectableDelimiter' ? 'info' : 'error' - if (msg.type === 'error') res.hasErrors = true - msg.hint = hintsByCode[msg.code] - return msg - }) - resolve(res) - }, - error: (error, file) => { - reject(error) - }, - download: false, - downloadRequestHeaders: undefined, - downloadRequestBody: undefined, - skipEmptyLines: 'greedy', - chunk: undefined, - chunkSize: undefined, - fastMode: undefined, - beforeFirstChunk: undefined, - withCredentials: undefined, - transform: undefined, - delimitersToGuess: [',', '\t', '|', ';', Papa.RECORD_SEP, Papa.UNIT_SEP] - } - - Papa.parse(file, { ...defaultConfig, ...config }) - }) - }, - - serialize (resultSet) { - return Papa.unparse(this.prepareForExport(resultSet), { delimiter: '\t' }) - } -} diff --git a/src/lib/database/_sql.js b/src/lib/database/_sql.js deleted file mode 100644 index 2524491..0000000 --- a/src/lib/database/_sql.js +++ /dev/null @@ -1,100 +0,0 @@ -import initSqlJs from 'sql.js/dist/sql-wasm.js' -import dbUtils from './_statements' - -let SQL = null -const sqlModuleReady = initSqlJs().then(sqlModule => { SQL = sqlModule }) - -function _getDataSourcesFromSqlResult (sqlResult) { - if (!sqlResult) { - return {} - } - const dataSorces = {} - sqlResult.columns.forEach((column, index) => { - dataSorces[column] = sqlResult.values.map(row => row[index]) - }) - return dataSorces -} - -export default class Sql { - constructor () { - this.db = null - } - - static build () { - return sqlModuleReady - .then(() => { - return new Sql() - }) - } - - createDb (buffer) { - if (this.db != null) this.db.close() - this.db = new SQL.Database(buffer) - return this.db - } - - open (buffer) { - this.createDb(buffer && new Uint8Array(buffer)) - return { - ready: true - } - } - - exec (sql, params) { - if (this.db === null) { - this.createDb() - } - if (!sql) { - throw new Error('exec: Missing query string') - } - const sqlResults = this.db.exec(sql, params) - return sqlResults.map(result => { - return { - columns: result.columns, - values: _getDataSourcesFromSqlResult(result) - } - }) - } - - import (tabName, data, progressCounterId, progressCallback, chunkSize = 1500) { - if (this.db === null) { - this.createDb() - } - const columns = data.columns - const rowCount = data.values[columns[0]].length - this.db.exec(dbUtils.getCreateStatement(tabName, data.values)) - const chunks = dbUtils.generateChunks(data.values, chunkSize) - const chunksAmount = Math.ceil(rowCount / chunkSize) - let count = 0 - const insertStr = dbUtils.getInsertStmt(tabName, columns) - const insertStmt = this.db.prepare(insertStr) - - progressCallback({ progress: 0, id: progressCounterId }) - for (const chunk of chunks) { - this.db.exec('BEGIN') - for (const row of chunk) { - insertStmt.run(row) - } - this.db.exec('COMMIT') - count++ - progressCallback({ progress: 100 * (count / chunksAmount), id: progressCounterId }) - } - - return { - finish: true - } - } - - export () { - return this.db.export() - } - - close () { - if (this.db) { - this.db.close() - } - return { - finished: true - } - } -} diff --git a/src/lib/database/_statements.js b/src/lib/database/_statements.js deleted file mode 100644 index 3a89b62..0000000 --- a/src/lib/database/_statements.js +++ /dev/null @@ -1,49 +0,0 @@ -export default { - * generateChunks (data, size) { - const matrix = Object.keys(data).map(col => data[col]) - const [row] = matrix - const transposedMatrix = row.map((value, column) => matrix.map(row => row[column])) - - const count = Math.ceil(transposedMatrix.length / size) - - for (let i = 0; i <= count - 1; i++) { - const start = size * i - const end = start + size - yield transposedMatrix.slice(start, end) - } - }, - - getInsertStmt (tabName, columns) { - const colList = `"${columns.join('", "')}"` - const params = columns.map(() => '?').join(', ') - return `INSERT INTO "${tabName}" (${colList}) VALUES (${params});` - }, - - getCreateStatement (tabName, data) { - let result = `CREATE table "${tabName}"(` - for (const col in data) { - // Get the first row of values to determine types - const value = data[col][0] - let type = '' - switch (typeof value) { - case 'number': { - type = 'REAL' - break - } - case 'boolean': { - type = 'INTEGER' - break - } - case 'string': { - type = 'TEXT' - break - } - default: type = 'TEXT' - } - result += `"${col}" ${type}, ` - } - - result = result.replace(/,\s$/, ');') - return result - } -} diff --git a/src/lib/database/_worker.js b/src/lib/database/_worker.js deleted file mode 100644 index fb6ef94..0000000 --- a/src/lib/database/_worker.js +++ /dev/null @@ -1,41 +0,0 @@ -import registerPromiseWorker from 'promise-worker/register' -import Sql from './_sql' - -const sqlReady = Sql.build() - -function processMsg (sql) { - const data = this - switch (data && data.action) { - case 'open': - return sql.open(data.buffer) - case 'reopen': - return sql.open(sql.export()) - case 'exec': - return sql.exec(data.sql, data.params) - case 'import': - return sql.import( - data.tabName, - data.data, - data.progressCounterId, - postMessage - ) - case 'export': - return sql.export() - case 'close': - return sql.close() - default: - throw new Error('Invalid action : ' + (data && data.action)) - } -} - -function onError (error) { - return { - error: error.message - } -} - -registerPromiseWorker(data => { - return sqlReady - .then(processMsg.bind(data)) - .catch(onError) -}) diff --git a/src/lib/database/index.js b/src/lib/database/index.js deleted file mode 100644 index 19edbea..0000000 --- a/src/lib/database/index.js +++ /dev/null @@ -1,141 +0,0 @@ -import fu from '@/lib/utils/fileIo' -// We can import workers like so because of worker-loader: -// https://webpack.js.org/loaders/worker-loader/ -import Worker from './_worker.js' - -// Use promise-worker in order to turn worker into the promise based one: -// https://github.com/nolanlawson/promise-worker -import PromiseWorker from 'promise-worker' - -function getNewDatabase () { - const worker = new Worker() - return new Database(worker) -} - -export default { - getNewDatabase -} - -let progressCounterIds = 0 -class Database { - constructor (worker) { - this.dbName = null - this.schema = null - this.worker = worker - this.pw = new PromiseWorker(worker) - - this.importProgresses = {} - worker.addEventListener('message', e => { - const progress = e.data.progress - if (progress !== undefined) { - const id = e.data.id - this.importProgresses[id].dispatchEvent(new CustomEvent('progress', { - detail: progress - })) - } - }) - } - - shutDown () { - this.worker.terminate() - } - - createProgressCounter (callback) { - const id = progressCounterIds++ - this.importProgresses[id] = new EventTarget() - this.importProgresses[id].addEventListener('progress', e => { callback(e.detail) }) - return id - } - - deleteProgressCounter (id) { - delete this.importProgresses[id] - } - - async addTableFromCsv (tabName, data, progressCounterId) { - const result = await this.pw.postMessage({ - action: 'import', - data, - progressCounterId, - tabName - }) - - if (result.error) { - throw new Error(result.error) - } - this.dbName = this.dbName || 'database' - this.refreshSchema() - } - - async loadDb (file) { - const fileContent = file ? await fu.readAsArrayBuffer(file) : null - const res = await this.pw.postMessage({ action: 'open', buffer: fileContent }) - - if (res.error) { - throw new Error(res.error) - } - - this.dbName = file ? fu.getFileName(file) : 'database' - this.refreshSchema() - } - - async refreshSchema () { - const getSchemaSql = ` - WITH columns as ( - SELECT - a.tbl_name, - json_group_array( - json_object('name', b.name,'type', IIF(b.type = '', 'N/A', b.type)) - ) as column_json - FROM sqlite_master a, pragma_table_info(a.name) b - WHERE a.type in ('table','view') AND a.name NOT LIKE 'sqlite_%' group by tbl_name - ) - SELECT json_group_array(json_object('name',tbl_name, 'columns', json(column_json))) objects - FROM columns; - ` - const result = await this.execute(getSchemaSql) - this.schema = JSON.parse(result.values.objects[0]) - } - - async execute (commands) { - await this.pw.postMessage({ action: 'reopen' }) - const results = await this.pw.postMessage({ action: 'exec', sql: commands }) - - if (results.error) { - throw new Error(results.error) - } - // if it was more than one select - take only the last one - return results[results.length - 1] - } - - async export (fileName) { - const data = await this.pw.postMessage({ action: 'export' }) - - if (data.error) { - throw new Error(data.error) - } - fu.exportToFile(data, fileName) - } - - async validateTableName (name) { - if (name.startsWith('sqlite_')) { - throw new Error("Table name can't start with sqlite_") - } - - if (/[^\w]/.test(name)) { - throw new Error('Table name can contain only letters, digits and underscores') - } - - if (/^(\d)/.test(name)) { - throw new Error("Table name can't start with a digit") - } - - await this.execute(`BEGIN; CREATE TABLE "${name}"(id); ROLLBACK;`) - } - - sanitizeTableName (tabName) { - return tabName - .replace(/[^\w]/g, '_') // replace everything that is not letter, digit or _ with _ - .replace(/^(\d)/, '_$1') // add _ at beginning if starts with digit - .replace(/_{2,}/g, '_') // replace multiple _ with one _ - } -} diff --git a/src/lib/storedInquiries/_migrations.js b/src/lib/storedInquiries/_migrations.js deleted file mode 100644 index 7288dda..0000000 --- a/src/lib/storedInquiries/_migrations.js +++ /dev/null @@ -1,12 +0,0 @@ -export default { - _migrate (installedVersion, inquiries) { - if (installedVersion === 1) { - inquiries.forEach(inquire => { - inquire.viewType = 'chart' - inquire.viewOptions = inquire.chart - delete inquire.chart - }) - return inquiries - } - } -} diff --git a/src/lib/storedInquiries/index.js b/src/lib/storedInquiries/index.js deleted file mode 100644 index 05994c9..0000000 --- a/src/lib/storedInquiries/index.js +++ /dev/null @@ -1,120 +0,0 @@ -import { nanoid } from 'nanoid' -import fu from '@/lib/utils/fileIo' -import migration from './_migrations' - -const migrate = migration._migrate - -export default { - version: 2, - getStoredInquiries () { - let myInquiries = JSON.parse(localStorage.getItem('myInquiries')) - if (!myInquiries) { - const oldInquiries = localStorage.getItem('myQueries') - if (oldInquiries) { - myInquiries = migrate(1, JSON.parse(oldInquiries)) - this.updateStorage(myInquiries) - return myInquiries - } - return [] - } - - return (myInquiries && myInquiries.inquiries) || [] - }, - - duplicateInquiry (baseInquiry) { - const newInquiry = JSON.parse(JSON.stringify(baseInquiry)) - newInquiry.name = newInquiry.name + ' Copy' - newInquiry.id = nanoid() - newInquiry.createdAt = new Date() - delete newInquiry.isPredefined - - return newInquiry - }, - - isTabNeedName (inquiryTab) { - const isFromScratch = !inquiryTab.initName - return inquiryTab.isPredefined || isFromScratch - }, - - save (inquiryTab, newName) { - const value = { - id: inquiryTab.isPredefined ? nanoid() : inquiryTab.id, - query: inquiryTab.query, - viewType: inquiryTab.$refs.dataView.mode, - viewOptions: inquiryTab.$refs.dataView.getOptionsForSave(), - name: newName || inquiryTab.initName - } - - // Get inquiries from local storage - const myInquiries = this.getStoredInquiries() - - // Set createdAt - if (newName) { - value.createdAt = new Date() - } else { - var inquiryIndex = myInquiries.findIndex(oldInquiry => oldInquiry.id === inquiryTab.id) - value.createdAt = myInquiries[inquiryIndex].createdAt - } - - // Insert in inquiries list - if (newName) { - myInquiries.push(value) - } else { - myInquiries[inquiryIndex] = value - } - - // Save to local storage - this.updateStorage(myInquiries) - return value - }, - - updateStorage (inquiries) { - localStorage.setItem('myInquiries', JSON.stringify({ version: this.version, inquiries })) - }, - - serialiseInquiries (inquiryList) { - const preparedData = JSON.parse(JSON.stringify(inquiryList)) - preparedData.forEach(inquiry => delete inquiry.isPredefined) - return JSON.stringify({ version: this.version, inquiries: preparedData }, null, 4) - }, - - deserialiseInquiries (str) { - const inquiries = JSON.parse(str) - let inquiryList = [] - if (!inquiries.version) { - // Turn data into array if they are not - inquiryList = !Array.isArray(inquiries) ? [inquiries] : inquiries - inquiryList = migrate(1, inquiryList) - } else { - inquiryList = inquiries.inquiries || [] - } - - // Generate new ids if they are the same as existing inquiries - inquiryList.forEach(inquiry => { - const allInquiriesIds = this.getStoredInquiries().map(inquiry => inquiry.id) - if (allInquiriesIds.includes(inquiry.id)) { - inquiry.id = nanoid() - } - }) - - return inquiryList - }, - - importInquiries () { - return fu.importFile() - .then(str => { - return this.deserialiseInquiries(str) - }) - }, - - async readPredefinedInquiries () { - const res = await fu.readFile('./inquiries.json') - const data = await res.json() - - if (!data.version) { - return data.length > 0 ? migrate(1, data) : [] - } else { - return data.inquiries - } - } -} diff --git a/src/lib/utils/clipboardIo.js b/src/lib/utils/clipboardIo.js deleted file mode 100644 index 9806a32..0000000 --- a/src/lib/utils/clipboardIo.js +++ /dev/null @@ -1,38 +0,0 @@ -import Lib from 'plotly.js/src/lib' -import dataUrlToBlob from 'dataurl-to-blob' - -export default { - async copyCsv (str) { - await navigator.clipboard.writeText(str) - Lib.notifier('CSV copied to clipboard successfully', 'long') - }, - - async copyImage (source) { - if (source instanceof HTMLCanvasElement) { - return this._copyCanvas(source) - } else { - return this._copyFromDataUrl(source) - } - }, - - async _copyBlob (blob) { - await navigator.clipboard.write([ - new ClipboardItem({ // eslint-disable-line no-undef - [blob.type]: blob - }) - ]) - }, - - async _copyFromDataUrl (url) { - const blob = dataUrlToBlob(url) - await this._copyBlob(blob) - Lib.notifier('Image copied to clipboard successfully', 'long') - }, - - async _copyCanvas (canvas) { - canvas.toBlob(async (blob) => { - await this._copyBlob(blob) - Lib.notifier('Image copied to clipboard successfully', 'long') - }, 'image/png', 1) - } -} diff --git a/src/lib/utils/fileIo.js b/src/lib/utils/fileIo.js deleted file mode 100644 index d4ba38d..0000000 --- a/src/lib/utils/fileIo.js +++ /dev/null @@ -1,86 +0,0 @@ -export default { - isDatabase (file) { - const dbTypes = ['application/vnd.sqlite3', 'application/x-sqlite3'] - return file.type - ? dbTypes.includes(file.type) - : /\.(db|sqlite(3)?)+$/.test(file.name) - }, - - getFileName (file) { - return file.name.replace(/\.[^.]+$/, '') - }, - - downloadFromUrl (url, fileName) { - // Create downloader - const downloader = document.createElement('a') - downloader.href = url - downloader.download = fileName - - // Trigger click - downloader.click() - - // Clean up - URL.revokeObjectURL(url) - }, - - async exportToFile (str, fileName, type = 'octet/stream') { - const blob = new Blob([str], { type }) - const url = URL.createObjectURL(blob) - this.downloadFromUrl(url, fileName) - }, - - /** - * Note: if user press Cancel in file choosing dialog - * it will be an unsettled promise. But it's grabbed by - * the garbage collector (tested with FinalizationRegistry). - */ - getFileFromUser (type) { - return new Promise(resolve => { - const uploader = document.createElement('input') - - uploader.type = 'file' - uploader.accept = type - - uploader.addEventListener('change', () => { - const file = uploader.files[0] - resolve(file) - }) - - uploader.click() - }) - }, - - importFile () { - const reader = new FileReader() - - return this.getFileFromUser('.json') - .then(file => { - return new Promise((resolve, reject) => { - reader.onload = e => { - resolve(e.target.result) - } - reader.readAsText(file) - }) - }) - }, - - readFile (path) { - return fetch(path) - }, - - readAsArrayBuffer (file) { - const fileReader = new FileReader() - - return new Promise((resolve, reject) => { - fileReader.onerror = () => { - fileReader.abort() - reject(new Error('Problem parsing input file.')) - } - - fileReader.onload = () => { - resolve(fileReader.result) - } - fileReader.readAsArrayBuffer(file) - }) - } -} diff --git a/src/lib/utils/time.js b/src/lib/utils/time.js deleted file mode 100644 index 39476a3..0000000 --- a/src/lib/utils/time.js +++ /dev/null @@ -1,21 +0,0 @@ -export default { - getPeriod (start, end) { - const diff = end.getTime() - start.getTime() - const seconds = diff / 1000 - return seconds.toFixed(3) + 's' - }, - - debounce (func, ms) { - let timeout - return function () { - clearTimeout(timeout) - timeout = setTimeout(() => func.apply(this, arguments), ms) - } - }, - - sleep (ms) { - return new Promise(resolve => { - setTimeout(() => { resolve() }, ms) - }) - } -} diff --git a/src/main.js b/src/main.js deleted file mode 100644 index ed700da..0000000 --- a/src/main.js +++ /dev/null @@ -1,30 +0,0 @@ -import Vue from 'vue' -import App from '@/App.vue' -import router from '@/router' -import store from '@/store' -import { VuePlugin } from 'vuera' -import VModal from 'vue-js-modal' - -import '@/assets/styles/variables.css' -import '@/assets/styles/buttons.css' -import '@/assets/styles/tables.css' -import '@/assets/styles/dialogs.css' -import '@/assets/styles/tooltips.css' -import '@/assets/styles/messages.css' -import 'vue-multiselect/dist/vue-multiselect.min.css' -import '@/assets/styles/multiselect.css' - -if (!['localhost', '127.0.0.1'].includes(location.hostname)) { - import('./registerServiceWorker') // eslint-disable-line no-unused-expressions -} - -Vue.use(VuePlugin) -Vue.use(VModal) - -Vue.config.productionTip = false - -new Vue({ - router, - store, - render: h => h(App) -}).$mount('#app') diff --git a/src/registerServiceWorker.js b/src/registerServiceWorker.js deleted file mode 100644 index d62cbd8..0000000 --- a/src/registerServiceWorker.js +++ /dev/null @@ -1,44 +0,0 @@ -let refresh = false - -function invokeServiceWorkerUpdateFlow (registration) { - const agree = confirm('New version of the app is available. Refresh now?') - if (agree) { - if (registration.waiting) { - // let waiting Service Worker know it should became active - refresh = true - registration.waiting.postMessage({ type: 'SKIP_WAITING' }) - } - } -} - -if ('serviceWorker' in navigator) { - window.addEventListener('load', async () => { - const registration = await navigator.serviceWorker.register('service-worker.js') - // ensure the case when the updatefound event was missed is also handled - // by re-invoking the prompt when there's a waiting Service Worker - if (registration.waiting) { - invokeServiceWorkerUpdateFlow(registration) - } - - // detect Service Worker update available and wait for it to become installed - registration.addEventListener('updatefound', () => { - const newRegestration = registration.installing - if (newRegestration) { - // wait until the new Service worker is actually installed (ready to take over) - newRegestration.addEventListener('statechange', () => { - if (registration.waiting && navigator.serviceWorker.controller) { - invokeServiceWorkerUpdateFlow(registration) - } - }) - } - }) - - // detect controller change and refresh the page - navigator.serviceWorker.addEventListener('controllerchange', () => { - if (refresh) { - window.location.reload() - refresh = false - } - }) - }) -} diff --git a/src/router.js b/src/router.js deleted file mode 100644 index b2f4c25..0000000 --- a/src/router.js +++ /dev/null @@ -1,50 +0,0 @@ -import Vue from 'vue' -import VueRouter from 'vue-router' -import Workspace from '@/views/Main/Workspace' -import Inquiries from '@/views/Main/Inquiries' -import Welcome from '@/views/Welcome' -import Main from '@/views/Main' -import store from '@/store' -import database from '@/lib/database' - -Vue.use(VueRouter) - -const routes = [ - { - path: '/', - name: 'Welcome', - component: Welcome - }, - { - path: '/', - name: 'Main', - component: Main, - children: [ - { - path: '/workspace', - name: 'Workspace', - component: Workspace - }, - { - path: '/inquiries', - name: 'Inquiries', - component: Inquiries - } - ] - } -] - -const router = new VueRouter({ - routes -}) - -router.beforeEach(async (to, from, next) => { - if (!store.state.db) { - const newDb = database.getNewDatabase() - await newDb.loadDb() - store.commit('setDb', newDb) - } - next() -}) - -export default router diff --git a/src/store/actions.js b/src/store/actions.js deleted file mode 100644 index 7096951..0000000 --- a/src/store/actions.js +++ /dev/null @@ -1,32 +0,0 @@ -import { nanoid } from 'nanoid' - -export default { - async addTab ({ state }, data) { - const tab = data ? JSON.parse(JSON.stringify(data)) : {} - // If no data then create a new blank one... - // No data.id means to create new tab, but not blank, - // e.g. with 'select * from csv_import' inquiry after csv import - if (!data || !data.id) { - tab.id = nanoid() - tab.name = null - tab.tempName = state.untitledLastIndex - ? `Untitled ${state.untitledLastIndex}` - : 'Untitled' - tab.viewType = 'chart' - tab.viewOptions = undefined - tab.isSaved = false - } else { - tab.isSaved = true - } - - // add new tab only if was not already opened - if (!state.tabs.some(openedTab => openedTab.id === tab.id)) { - state.tabs.push(tab) - if (!tab.name) { - state.untitledLastIndex += 1 - } - } - - return tab.id - } -} diff --git a/src/store/index.js b/src/store/index.js deleted file mode 100644 index e0e93b7..0000000 --- a/src/store/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import Vue from 'vue' -import Vuex from 'vuex' -import state from '@/store/state' -import mutations from '@/store/mutations' -import actions from '@/store/actions' - -Vue.use(Vuex) - -export default new Vuex.Store({ - state, - mutations, - actions -}) diff --git a/src/store/mutations.js b/src/store/mutations.js deleted file mode 100644 index def7451..0000000 --- a/src/store/mutations.js +++ /dev/null @@ -1,57 +0,0 @@ -import Vue from 'vue' - -export default { - setDb (state, db) { - if (state.db) { - state.db.shutDown() - } - state.db = db - }, - - updateTab (state, { index, name, id, query, viewType, viewOptions, isSaved }) { - const tab = state.tabs[index] - const oldId = tab.id - - if (id && state.currentTabId === oldId) { - state.currentTabId = id - } - - if (id) { tab.id = id } - if (name) { tab.name = name } - if (query) { tab.query = query } - if (viewType) { tab.viewType = viewType } - if (viewOptions) { tab.viewOptions = viewOptions } - if (isSaved !== undefined) { tab.isSaved = isSaved } - if (isSaved) { - // Saved inquiry is not predefined - delete tab.isPredefined - } - - Vue.set(state.tabs, index, tab) - }, - - deleteTab (state, index) { - // If closing tab is the current opened - if (state.tabs[index].id === state.currentTabId) { - if (index < state.tabs.length - 1) { - state.currentTabId = state.tabs[index + 1].id - } else if (index > 0) { - state.currentTabId = state.tabs[index - 1].id - } else { - state.currentTabId = null - state.currentTab = null - state.untitledLastIndex = 0 - } - } - state.tabs.splice(index, 1) - }, - setCurrentTabId (state, id) { - state.currentTabId = id - }, - setCurrentTab (state, tab) { - state.currentTab = tab - }, - updatePredefinedInquiries (state, inquiries) { - state.predefinedInquiries = Array.isArray(inquiries) ? inquiries : [inquiries] - } -} diff --git a/src/store/state.js b/src/store/state.js deleted file mode 100644 index bf0db86..0000000 --- a/src/store/state.js +++ /dev/null @@ -1,8 +0,0 @@ -export default { - tabs: [], - currentTab: null, - currentTabId: null, - untitledLastIndex: 0, - predefinedInquiries: [], - db: null -} diff --git a/src/tooltipMixin.js b/src/tooltipMixin.js deleted file mode 100644 index c641e3b..0000000 --- a/src/tooltipMixin.js +++ /dev/null @@ -1,37 +0,0 @@ -export default { - data () { - return { - tooltipStyle: { - visibility: 'hidden' - } - } - }, - computed: { - tooltipElement () { - return this.$refs.tooltip - } - }, - methods: { - showTooltip (e, tooltipPosition) { - const position = tooltipPosition ? tooltipPosition.split('-') : ['top', 'right'] - const offset = 12 - - if (position[0] === 'top') { - this.tooltipStyle.top = e.clientY - offset + 'px' - } else { - this.tooltipStyle.top = e.clientY + offset + 'px' - } - - if (position[1] === 'right') { - this.tooltipStyle.left = e.clientX + offset + 'px' - } else { - this.tooltipStyle.left = e.clientX - offset - this.tooltipElement.offsetWidth + 'px' - } - - this.tooltipStyle.visibility = 'visible' - }, - hideTooltip () { - this.tooltipStyle.visibility = 'hidden' - } - } -} diff --git a/src/views/Main/AppDiagnosticInfo.vue b/src/views/Main/AppDiagnosticInfo.vue deleted file mode 100644 index 3d21d60..0000000 --- a/src/views/Main/AppDiagnosticInfo.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - - - diff --git a/src/views/Main/Inquiries/index.vue b/src/views/Main/Inquiries/index.vue deleted file mode 100644 index 8895f7e..0000000 --- a/src/views/Main/Inquiries/index.vue +++ /dev/null @@ -1,595 +0,0 @@ - - - - - diff --git a/src/views/Main/Inquiries/svg/copy.vue b/src/views/Main/Inquiries/svg/copy.vue deleted file mode 100644 index 32d4f2a..0000000 --- a/src/views/Main/Inquiries/svg/copy.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - - - diff --git a/src/views/Main/Inquiries/svg/delete.vue b/src/views/Main/Inquiries/svg/delete.vue deleted file mode 100644 index 7865339..0000000 --- a/src/views/Main/Inquiries/svg/delete.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - - diff --git a/src/views/Main/Inquiries/svg/rename.vue b/src/views/Main/Inquiries/svg/rename.vue deleted file mode 100644 index 30b36a1..0000000 --- a/src/views/Main/Inquiries/svg/rename.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - - diff --git a/src/views/Main/MainMenu.vue b/src/views/Main/MainMenu.vue deleted file mode 100644 index d8c491e..0000000 --- a/src/views/Main/MainMenu.vue +++ /dev/null @@ -1,240 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Schema/TableDescription.vue b/src/views/Main/Workspace/Schema/TableDescription.vue deleted file mode 100644 index 4d3f134..0000000 --- a/src/views/Main/Workspace/Schema/TableDescription.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Schema/index.vue b/src/views/Main/Workspace/Schema/index.vue deleted file mode 100644 index bf0588a..0000000 --- a/src/views/Main/Workspace/Schema/index.vue +++ /dev/null @@ -1,140 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Tabs/Tab/DataView/Chart/index.vue b/src/views/Main/Workspace/Tabs/Tab/DataView/Chart/index.vue deleted file mode 100644 index 27e1502..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/DataView/Chart/index.vue +++ /dev/null @@ -1,141 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotSortBtn.vue b/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotSortBtn.vue deleted file mode 100644 index 5063dd9..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotSortBtn.vue +++ /dev/null @@ -1,71 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/index.vue b/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/index.vue deleted file mode 100644 index 5bdb63b..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/index.vue +++ /dev/null @@ -1,308 +0,0 @@ - - - - diff --git a/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/index.vue b/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/index.vue deleted file mode 100644 index 606265b..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/index.vue +++ /dev/null @@ -1,270 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/pivotHelper.js b/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/pivotHelper.js deleted file mode 100644 index 44a6b82..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/DataView/Pivot/pivotHelper.js +++ /dev/null @@ -1,120 +0,0 @@ -import $ from 'jquery' -import 'pivottable' -import 'pivottable/dist/export_renderers.js' -import 'pivottable/dist/plotly_renderers.js' -import html2canvas from 'html2canvas' - -export const zeroValAggregators = [ - 'Count', - 'Count as Fraction of Total', - 'Count as Fraction of Rows', - 'Count as Fraction of Columns' -] - -export const twoValAggregators = [ - 'Sum over Sum', - '80% Upper Bound', - '80% Lower Bound' -] - -export function _getDataSources (pivotData) { - const rowKeys = pivotData.getRowKeys() - const colKeys = pivotData.getColKeys() - - const dataSources = { - 'Column keys': colKeys.map(colKey => colKey.join('-')), - 'Row keys': rowKeys.map(rowKey => rowKey.join('-')) - } - - const dataSourcesByRows = {} - const dataSourcesByCols = {} - - const rowAttrs = pivotData.rowAttrs.join('-') - const colAttrs = pivotData.colAttrs.join('-') - - colKeys.forEach(colKey => { - const sourceColKey = colAttrs + ':' + colKey.join('-') - dataSourcesByCols[sourceColKey] = [] - rowKeys.forEach(rowKey => { - const value = pivotData.getAggregator(rowKey, colKey).value() - dataSourcesByCols[sourceColKey].push(value) - const sourceRowKey = rowAttrs + ':' + rowKey.join('-') - if (!dataSourcesByRows[sourceRowKey]) { - dataSourcesByRows[sourceRowKey] = [] - } - dataSourcesByRows[sourceRowKey].push(value) - }) - }) - - return Object.assign(dataSources, dataSourcesByCols, dataSourcesByRows) -} - -function customChartRenderer (data, options) { - options.customChartComponent.dataSources = _getDataSources(data) - options.customChartComponent.$mount() - - return $(options.customChartComponent.$el) -} - -$.extend( - $.pivotUtilities.renderers, - $.pivotUtilities.export_renderers, - $.pivotUtilities.plotly_renderers, - { 'Custom chart': customChartRenderer } -) - -export const renderers = Object.keys($.pivotUtilities.renderers).map(key => { - return { - name: key, - fun: $.pivotUtilities.renderers[key] - } -}) - -export const aggregators = Object.keys($.pivotUtilities.aggregators).map(key => { - return { - name: key, - fun: $.pivotUtilities.aggregators[key] - } -}) - -export async function getPivotCanvas (pivotOutput) { - const tableElement = pivotOutput.querySelector('.pvtTable') - return await html2canvas(tableElement, { logging: false }) -} - -export function getPivotHtml (pivotOutput) { - return ` - - ${pivotOutput.outerHTML} - ` -} - -export default { - getPivotCanvas, - getPivotHtml -} diff --git a/src/views/Main/Workspace/Tabs/Tab/DataView/index.vue b/src/views/Main/Workspace/Tabs/Tab/DataView/index.vue deleted file mode 100644 index d94c29b..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/DataView/index.vue +++ /dev/null @@ -1,227 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Tabs/Tab/RunResult.vue b/src/views/Main/Workspace/Tabs/Tab/RunResult.vue deleted file mode 100644 index a5f24aa..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/RunResult.vue +++ /dev/null @@ -1,228 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Tabs/Tab/SideToolBar.vue b/src/views/Main/Workspace/Tabs/Tab/SideToolBar.vue deleted file mode 100644 index 211436a..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/SideToolBar.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Tabs/Tab/SqlEditor/hint.js b/src/views/Main/Workspace/Tabs/Tab/SqlEditor/hint.js deleted file mode 100644 index bbe974d..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/SqlEditor/hint.js +++ /dev/null @@ -1,50 +0,0 @@ -import CM from 'codemirror' -import 'codemirror/addon/hint/show-hint.js' -import 'codemirror/addon/hint/sql-hint.js' -import store from '@/store' - -export function getHints (cm, options) { - const token = cm.getTokenAt(cm.getCursor()).string.toUpperCase() - const result = CM.hint.sql(cm, options) - // Don't show the hint if there is only one option - // and the token is already completed with this option - if (result.list.length === 1 && result.list[0].text.toUpperCase() === token) { - result.list = [] - } - return result -} - -const hintOptions = { - get tables () { - const tables = {} - if (store.state.db.schema) { - store.state.db.schema.forEach(table => { - tables[table.name] = table.columns.map(column => column.name) - }) - } - return tables - }, - get defaultTable () { - const schema = store.state.db.schema - return schema && schema.length === 1 ? schema[0].name : null - }, - completeSingle: false, - completeOnSingleClick: true, - alignWithWord: false -} - -export function showHintOnDemand (editor) { - CM.showHint(editor, getHints, hintOptions) -} - -export default function showHint (editor) { - // Don't show autocomplete after a space or semicolon or in string literals - const token = editor.getTokenAt(editor.getCursor()) - const ch = token.string.slice(-1) - const tokenType = token.type - if (tokenType === 'string' || !ch || ch === ' ' || ch === ';') { - return - } - - CM.showHint(editor, getHints, hintOptions) -} diff --git a/src/views/Main/Workspace/Tabs/Tab/SqlEditor/index.vue b/src/views/Main/Workspace/Tabs/Tab/SqlEditor/index.vue deleted file mode 100644 index 99cb4c4..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/SqlEditor/index.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Tabs/Tab/index.vue b/src/views/Main/Workspace/Tabs/Tab/index.vue deleted file mode 100644 index 02e9837..0000000 --- a/src/views/Main/Workspace/Tabs/Tab/index.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/Tabs/index.vue b/src/views/Main/Workspace/Tabs/index.vue deleted file mode 100644 index ab7e53e..0000000 --- a/src/views/Main/Workspace/Tabs/index.vue +++ /dev/null @@ -1,207 +0,0 @@ - - - - - diff --git a/src/views/Main/Workspace/index.vue b/src/views/Main/Workspace/index.vue deleted file mode 100644 index ae1d98b..0000000 --- a/src/views/Main/Workspace/index.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - - diff --git a/src/views/Main/index.vue b/src/views/Main/index.vue deleted file mode 100644 index fdcd5e8..0000000 --- a/src/views/Main/index.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - - diff --git a/src/views/Welcome.vue b/src/views/Welcome.vue deleted file mode 100644 index d00f0bd..0000000 --- a/src/views/Welcome.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - - - diff --git a/tests/components/CheckBox.spec.js b/tests/components/CheckBox.spec.js deleted file mode 100644 index 2a64255..0000000 --- a/tests/components/CheckBox.spec.js +++ /dev/null @@ -1,50 +0,0 @@ -import { expect } from 'chai' -import { shallowMount } from '@vue/test-utils' -import CheckBox from '@/components/CheckBox' - -describe('CheckBox', () => { - it('unchecked by default', () => { - const wrapper = shallowMount(CheckBox, { - propsData: { init: false } - }) - expect(wrapper.find('img').isVisible()).to.equal(false) - }) - - it('gets init state according to passed props', () => { - const wrapperChecked = shallowMount(CheckBox, { - propsData: { init: true } - }) - expect(wrapperChecked.find('img').isVisible()).to.equal(true) - const wrapperUnchecked = shallowMount(CheckBox, { - propsData: { init: false } - }) - expect(wrapperUnchecked.find('img').isVisible()).to.equal(false) - }) - - it('checked on click', async () => { - const wrapper = shallowMount(CheckBox) - await wrapper.trigger('click') - expect(wrapper.find('img').isVisible()).to.equal(true) - }) - - it('emits event on click', async () => { - const wrapper = shallowMount(CheckBox) - await wrapper.trigger('click') - expect(wrapper.emitted().click).to.have.lengthOf(1) - expect(wrapper.emitted().click[0]).to.eql([true]) - await wrapper.trigger('click') - expect(wrapper.emitted().click).to.have.lengthOf(2) - expect(wrapper.emitted().click[1]).to.eql([false]) - }) - - it('disabled', async () => { - const wrapper = shallowMount(CheckBox, { - propsData: { disabled: true } - }) - expect(wrapper.find('.checkbox-container').classes()).to.include('disabled') - expect(wrapper.find('.checkbox-container').classes()).to.not.include('checked') - await wrapper.trigger('click') - expect(wrapper.emitted().click).to.equal(undefined) - expect(wrapper.find('.checkbox-container').classes()).to.not.include('checked') - }) -}) diff --git a/tests/components/CsvImport/CsvImport.spec.js b/tests/components/CsvImport/CsvImport.spec.js deleted file mode 100644 index b1dc0c0..0000000 --- a/tests/components/CsvImport/CsvImport.spec.js +++ /dev/null @@ -1,745 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import Vuex from 'vuex' -import { mount } from '@vue/test-utils' -import CsvImport from '@/components/CsvImport' -import csv from '@/lib/csv' - -describe('CsvImport.vue', () => { - let state = {} - let actions = {} - let mutations = {} - let store = {} - let clock - let wrapper - const newTabId = 1 - const file = { name: 'my data.csv' } - - beforeEach(() => { - clock = sinon.useFakeTimers() - - // mock store state and mutations - state = {} - mutations = { - setDb: sinon.stub(), - setCurrentTabId: sinon.stub() - } - actions = { - addTab: sinon.stub().resolves(newTabId) - } - store = new Vuex.Store({ state, mutations, actions }) - - const db = { - sanitizeTableName: sinon.stub().returns('my_data'), - addTableFromCsv: sinon.stub().resolves(), - createProgressCounter: sinon.stub().returns(1), - deleteProgressCounter: sinon.stub(), - validateTableName: sinon.stub().resolves(), - execute: sinon.stub().resolves(), - refreshSchema: sinon.stub().resolves() - } - - // mount the component - wrapper = mount(CsvImport, { - store, - propsData: { - file, - dialogName: 'addCsv', - db - } - }) - }) - - afterEach(() => { - sinon.restore() - }) - - it('previews', async () => { - sinon.stub(csv, 'parse').resolves({ - delimiter: '|', - data: { - columns: ['col2', 'col1'], - values: { - col1: [1, 2], - col2: ['foo', 'bar'] - } - }, - rowCount: 2, - messages: [{ - code: 'UndetectableDelimiter', - message: 'Comma was used as a standart delimiter', - row: 0, - type: 'info', - hint: undefined - }] - }) - - wrapper.vm.previewCsv() - await wrapper.vm.open() - await wrapper.vm.$nextTick() - expect(wrapper.find('[data-modal="addCsv"]').exists()).to.equal(true) - expect(wrapper.find('#csv-table-name input').element.value).to.equal('my_data') - expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.value).to.equal('|') - expect(wrapper.find('#quote-char input').element.value).to.equal('"') - expect(wrapper.find('#escape-char input').element.value).to.equal('"') - expect(wrapper.findComponent({ name: 'check-box' }).vm.checked).to.equal(true) - const rows = wrapper.findAll('tbody tr') - expect(rows).to.have.lengthOf(2) - expect(rows.at(0).findAll('td').at(0).text()).to.equal('foo') - expect(rows.at(0).findAll('td').at(1).text()).to.equal('1') - expect(rows.at(1).findAll('td').at(0).text()).to.equal('bar') - expect(rows.at(1).findAll('td').at(1).text()).to.equal('2') - expect(wrapper.findComponent({ name: 'logs' }).text()) - .to.include('Information about row 0. Comma was used as a standart delimiter.') - expect(wrapper.findComponent({ name: 'logs' }).text()) - .to.include('Preview parsing is completed in') - expect(wrapper.find('#csv-finish').isVisible()).to.equal(false) - expect(wrapper.find('#csv-import').isVisible()).to.equal(true) - }) - - it('reparses when parameters changes', async () => { - const parse = sinon.stub(csv, 'parse') - parse.onCall(0).resolves({ - delimiter: '|', - data: { - columns: ['col2', 'col1'], - values: { - col1: [1], - col2: ['foo'] - } - }, - rowCount: 1 - }) - - wrapper.vm.previewCsv() - wrapper.vm.open() - await csv.parse.returnValues[0] - await wrapper.vm.$nextTick() - - parse.onCall(1).resolves({ - delimiter: ',', - data: { - columns: ['col2', 'col1'], - values: { - col1: [2], - col2: ['bar'] - } - }, - rowCount: 1, - hasErrors: false - }) - await wrapper.find('.delimiter-selector-container input').setValue(',') - expect(parse.callCount).to.equal(2) - await csv.parse.returnValues[1] - - let rows = wrapper.findAll('tbody tr') - expect(rows).to.have.lengthOf(1) - expect(rows.at(0).findAll('td').at(0).text()).to.equal('bar') - expect(rows.at(0).findAll('td').at(1).text()).to.equal('2') - expect(wrapper.findComponent({ name: 'logs' }).text()) - .to.include('Preview parsing is completed in') - - parse.onCall(2).resolves({ - delimiter: ',', - data: { - columns: ['col2', 'col1'], - values: { - col1: [3], - col2: ['baz'] - } - }, - rowCount: 1, - hasErrors: true, - messages: [{ - code: 'MissingQuotes', - message: 'Quote is missed', - row: 0, - type: 'error', - hint: 'Edit your CSV so that the field has a closing quote char.' - }] - }) - - await wrapper.find('#quote-char input').setValue("'") - expect(parse.callCount).to.equal(3) - await csv.parse.returnValues[2] - rows = wrapper.findAll('tbody tr') - expect(rows).to.have.lengthOf(1) - expect(rows.at(0).findAll('td').at(0).text()).to.equal('baz') - expect(rows.at(0).findAll('td').at(1).text()).to.equal('3') - expect(wrapper.findComponent({ name: 'logs' }).text()) - .to.contain( - 'Error in row 0. Quote is missed. ' + - 'Edit your CSV so that the field has a closing quote char.' - ) - expect(wrapper.findComponent({ name: 'logs' }).text()) - .to.not.contain('Preview parsing is completed in') - - parse.onCall(3).resolves({ - delimiter: ',', - data: { - columns: ['col2', 'col1'], - values: { - col1: [4], - col2: ['qux'] - } - }, - rowCount: 1, - hasErrors: false - }) - await wrapper.find('#escape-char input').setValue("'") - expect(parse.callCount).to.equal(4) - await csv.parse.returnValues[3] - rows = wrapper.findAll('tbody tr') - expect(rows).to.have.lengthOf(1) - expect(rows.at(0).findAll('td').at(0).text()).to.equal('qux') - expect(rows.at(0).findAll('td').at(1).text()).to.equal('4') - expect(wrapper.findComponent({ name: 'logs' }).text()) - .to.contain('Preview parsing is completed in') - - parse.onCall(4).resolves({ - delimiter: ',', - data: { - columns: ['col2', 'col1'], - values: { - col1: [5], - col2: ['corge'] - } - }, - rowCount: 1, - hasErrors: false - }) - await wrapper.findComponent({ name: 'check-box' }).trigger('click') - expect(parse.callCount).to.equal(5) - await csv.parse.returnValues[4] - rows = wrapper.findAll('tbody tr') - expect(rows).to.have.lengthOf(1) - expect(rows.at(0).findAll('td').at(0).text()).to.equal('corge') - expect(rows.at(0).findAll('td').at(1).text()).to.equal('5') - - expect(wrapper.findComponent({ name: 'logs' }).text()) - .to.include('Preview parsing is completed in') - }) - - it('has proper state before parsing is complete', async () => { - const parse = sinon.stub(csv, 'parse') - parse.onCall(0).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1], - col2: ['foo'] - } - }, - rowCount: 1 - }) - - wrapper.vm.previewCsv() - wrapper.vm.open() - await wrapper.vm.$nextTick() - - let resolveParsing - parse.onCall(1).returns(new Promise(resolve => { - resolveParsing = resolve - })) - - await wrapper.find('#csv-table-name input').setValue('foo') - await wrapper.find('#csv-import').trigger('click') - await wrapper.vm.$nextTick() - - // "Parsing CSV..." in the logs - expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg').at(1).text()) - .to.equal('Parsing CSV...') - - // After 1 second - loading indicator is shown - await clock.tick(1000) - expect( - wrapper.findComponent({ name: 'logs' }).findComponent({ name: 'LoadingIndicator' }).exists() - ).to.equal(true) - - // All the dialog controls are disabled - expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(true) - expect(wrapper.find('#quote-char input').element.disabled).to.equal(true) - expect(wrapper.find('#escape-char input').element.disabled).to.equal(true) - expect(wrapper.findComponent({ name: 'check-box' }).vm.disabled).to.equal(true) - expect(wrapper.find('#csv-cancel').element.disabled).to.equal(true) - expect(wrapper.find('#csv-finish').element.disabled).to.equal(true) - expect(wrapper.findComponent({ name: 'close-icon' }).vm.disabled).to.equal(true) - expect(wrapper.find('#csv-finish').isVisible()).to.equal(false) - expect(wrapper.find('#csv-import').isVisible()).to.equal(true) - await resolveParsing() - await parse.returnValues[1] - - // Loading indicator is not shown when parsing is compete - expect( - wrapper.findComponent({ name: 'logs' }).findComponent({ name: 'LoadingIndicator' }).exists() - ).to.equal(false) - }) - - it('parsing is completed successfully', async () => { - const parse = sinon.stub(csv, 'parse') - parse.onCall(0).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1], - col2: ['foo'] - } - }, - rowCount: 1, - hasErrors: false, - messages: [] - }) - - parse.onCall(1).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1, 2], - col2: ['foo', 'bar'] - } - }, - rowCount: 2, - hasErrors: false, - messages: [] - }) - - wrapper.vm.previewCsv() - wrapper.vm.open() - await wrapper.vm.$nextTick() - - let resolveImport - wrapper.vm.db.addTableFromCsv.onCall(0).returns(new Promise(resolve => { - resolveImport = resolve - })) - - await wrapper.find('#csv-table-name input').setValue('foo') - await wrapper.find('#csv-import').trigger('click') - await csv.parse.returnValues[1] - await wrapper.vm.$nextTick() - - // Parsing success in the logs - expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg').at(1).text()) - .to.include('2 rows are parsed successfully in') - - // All the dialog controls are disabled - expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(true) - expect(wrapper.find('#quote-char input').element.disabled).to.equal(true) - expect(wrapper.find('#escape-char input').element.disabled).to.equal(true) - expect(wrapper.findComponent({ name: 'check-box' }).vm.disabled).to.equal(true) - expect(wrapper.find('#csv-cancel').element.disabled).to.equal(true) - expect(wrapper.find('#csv-finish').element.disabled).to.equal(true) - expect(wrapper.findComponent({ name: 'close-icon' }).vm.disabled).to.equal(true) - expect(wrapper.find('#csv-finish').isVisible()).to.equal(false) - expect(wrapper.find('#csv-import').isVisible()).to.equal(true) - await resolveImport() - }) - - it('parsing is completed with notes', async () => { - const parse = sinon.stub(csv, 'parse') - parse.onCall(0).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1], - col2: ['foo'] - } - }, - rowCount: 1, - hasErrors: false, - messages: [] - }) - - parse.onCall(1).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1, 2], - col2: ['foo', 'bar'] - } - }, - rowCount: 2, - hasErrors: false, - messages: [{ - code: 'UndetectableDelimiter', - message: 'Comma was used as a standart delimiter', - type: 'info', - hint: undefined - }] - }) - - let resolveImport - wrapper.vm.db.addTableFromCsv.onCall(0).returns(new Promise(resolve => { - resolveImport = resolve - })) - - wrapper.vm.previewCsv() - wrapper.vm.open() - await wrapper.vm.$nextTick() - - await wrapper.find('#csv-table-name input').setValue('foo') - await wrapper.find('#csv-import').trigger('click') - await csv.parse.returnValues[1] - await wrapper.vm.$nextTick() - - // Parsing success in the logs - const logs = wrapper.findComponent({ name: 'logs' }).findAll('.msg') - expect(logs).to.have.lengthOf(4) - expect(logs.at(1).text()).to.include('2 rows are parsed in') - expect(logs.at(2).text()).to.equals('Comma was used as a standart delimiter.') - - // All the dialog controls are disabled - expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(true) - expect(wrapper.find('#quote-char input').element.disabled).to.equal(true) - expect(wrapper.find('#escape-char input').element.disabled).to.equal(true) - expect(wrapper.findComponent({ name: 'check-box' }).vm.disabled).to.equal(true) - expect(wrapper.find('#csv-cancel').element.disabled).to.equal(true) - expect(wrapper.find('#csv-finish').element.disabled).to.equal(true) - expect(wrapper.findComponent({ name: 'close-icon' }).vm.disabled).to.equal(true) - expect(wrapper.find('#csv-finish').isVisible()).to.equal(false) - expect(wrapper.find('#csv-import').isVisible()).to.equal(true) - await resolveImport() - }) - - it('parsing is completed with errors', async () => { - const parse = sinon.stub(csv, 'parse') - parse.onCall(0).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1], - col2: ['foo'] - } - }, - rowCount: 1, - hasErrors: false, - messages: [] - }) - - parse.onCall(1).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1, 2], - col2: ['foo', 'bar'] - } - }, - rowCount: 2, - hasErrors: true, - messages: [{ - code: 'Error', - message: 'Something is wrong', - type: 'error', - hint: undefined - }] - }) - - wrapper.vm.previewCsv() - wrapper.vm.open() - await wrapper.vm.$nextTick() - - await wrapper.find('#csv-table-name input').setValue('foo') - await wrapper.find('#csv-import').trigger('click') - await csv.parse.returnValues[1] - await wrapper.vm.$nextTick() - - // Parsing success in the logs - const logs = wrapper.findComponent({ name: 'logs' }).findAll('.msg') - expect(logs).to.have.lengthOf(3) - expect(logs.at(1).text()).to.include('Parsing ended with errors.') - expect(logs.at(2).text()).to.equals('Something is wrong.') - - // All the dialog controls are enabled - expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(false) - expect(wrapper.find('#quote-char input').element.disabled).to.equal(false) - expect(wrapper.find('#escape-char input').element.disabled).to.equal(false) - expect(wrapper.findComponent({ name: 'check-box' }).vm.disabled).to.equal(false) - expect(wrapper.find('#csv-cancel').element.disabled).to.equal(false) - expect(wrapper.find('#csv-finish').element.disabled).to.equal(false) - expect(wrapper.findComponent({ name: 'close-icon' }).vm.disabled).to.equal(false) - expect(wrapper.find('#csv-finish').isVisible()).to.equal(false) - expect(wrapper.find('#csv-import').isVisible()).to.equal(true) - }) - - it('has proper state before import is completed', async () => { - const parse = sinon.stub(csv, 'parse') - parse.onCall(0).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1], - col2: ['foo'] - } - }, - rowCount: 1, - hasErrors: false, - messages: [] - }) - - parse.onCall(1).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1, 2], - col2: ['foo', 'bar'] - } - }, - rowCount: 2, - hasErrors: false, - messages: [] - }) - - let resolveImport = sinon.stub() - wrapper.vm.db.addTableFromCsv = sinon.stub() - .resolves(new Promise(resolve => { resolveImport = resolve })) - - wrapper.vm.previewCsv() - wrapper.vm.open() - await wrapper.vm.$nextTick() - - await wrapper.find('#csv-table-name input').setValue('foo') - await wrapper.find('#csv-import').trigger('click') - await csv.parse.returnValues[1] - await wrapper.vm.$nextTick() - - // Parsing success in the logs - expect(wrapper.findComponent({ name: 'logs' }).findAll('.msg').at(2).text()) - .to.equal('Importing CSV into a SQLite database...') - - // After 1 second - loading indicator is shown - await clock.tick(1000) - expect( - wrapper.findComponent({ name: 'logs' }).findComponent({ name: 'LoadingIndicator' }).exists() - ).to.equal(true) - - // All the dialog controls are disabled - expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(true) - expect(wrapper.find('#quote-char input').element.disabled).to.equal(true) - expect(wrapper.find('#escape-char input').element.disabled).to.equal(true) - expect(wrapper.findComponent({ name: 'check-box' }).vm.disabled).to.equal(true) - expect(wrapper.find('#csv-cancel').element.disabled).to.equal(true) - expect(wrapper.find('#csv-finish').element.disabled).to.equal(true) - expect(wrapper.findComponent({ name: 'close-icon' }).vm.disabled).to.equal(true) - expect(wrapper.find('#csv-finish').isVisible()).to.equal(false) - expect(wrapper.find('#csv-import').isVisible()).to.equal(true) - expect(wrapper.vm.db.addTableFromCsv.getCall(0).args[0]).to.equal('foo') // table name - - // After resolving - loading indicator is not shown - await resolveImport() - await wrapper.vm.db.addTableFromCsv.returnValues[0] - expect( - wrapper.findComponent({ name: 'logs' }).findComponent({ name: 'LoadingIndicator' }).exists() - ).to.equal(false) - }) - - it('import success', async () => { - const parse = sinon.stub(csv, 'parse') - parse.onCall(0).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1], - col2: ['foo'] - } - }, - rowCount: 1, - hasErrors: false, - messages: [] - }) - // we need to separate calles because messages will mutate - parse.onCall(1).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1, 2], - col2: ['foo', 'bar'] - } - }, - rowCount: 2, - hasErrors: false, - messages: [] - }) - - wrapper.vm.previewCsv() - wrapper.vm.open() - await wrapper.vm.$nextTick() - - await wrapper.find('#csv-table-name input').setValue('foo') - await wrapper.find('#csv-import').trigger('click') - await csv.parse.returnValues[1] - await wrapper.vm.$nextTick() - - // Import success in the logs - const logs = wrapper.findComponent({ name: 'logs' }).findAll('.msg') - expect(logs).to.have.lengthOf(3) - expect(logs.at(2).text()).to.contain('Importing CSV into a SQLite database is completed in') - - // All the dialog controls are enabled - expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(false) - expect(wrapper.find('#quote-char input').element.disabled).to.equal(false) - expect(wrapper.find('#escape-char input').element.disabled).to.equal(false) - expect(wrapper.findComponent({ name: 'check-box' }).vm.disabled).to.equal(false) - expect(wrapper.find('#csv-cancel').element.disabled).to.equal(false) - expect(wrapper.find('#csv-finish').element.disabled).to.equal(false) - expect(wrapper.findComponent({ name: 'close-icon' }).vm.disabled).to.equal(false) - expect(wrapper.find('#csv-finish').isVisible()).to.equal(true) - }) - - it('import fails', async () => { - const parse = sinon.stub(csv, 'parse') - parse.onCall(0).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1], - col2: ['foo'] - } - }, - rowCount: 1, - hasErrors: false, - messages: [] - }) - // we need to separate calles because messages will mutate - parse.onCall(1).resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1, 2], - col2: ['foo', 'bar'] - } - }, - rowCount: 2, - hasErrors: false, - messages: [] - }) - - wrapper.vm.db.addTableFromCsv = sinon.stub().rejects(new Error('fail')) - - wrapper.vm.previewCsv() - wrapper.vm.open() - await wrapper.vm.$nextTick() - - await wrapper.find('#csv-table-name input').setValue('foo') - await wrapper.find('#csv-import').trigger('click') - await csv.parse.returnValues[1] - await wrapper.vm.$nextTick() - - // Import success in the logs - const logs = wrapper.findComponent({ name: 'logs' }).findAll('.msg') - expect(logs).to.have.lengthOf(4) - expect(logs.at(2).text()).to.contain('Importing CSV into a SQLite database...') - expect(logs.at(3).text()).to.equal('Error: fail.') - - // All the dialog controls are enabled - expect(wrapper.findComponent({ name: 'delimiter-selector' }).vm.disabled).to.equal(false) - expect(wrapper.find('#quote-char input').element.disabled).to.equal(false) - expect(wrapper.find('#escape-char input').element.disabled).to.equal(false) - expect(wrapper.findComponent({ name: 'check-box' }).vm.disabled).to.equal(false) - expect(wrapper.find('#csv-cancel').element.disabled).to.equal(false) - expect(wrapper.find('#csv-finish').element.disabled).to.equal(false) - expect(wrapper.findComponent({ name: 'close-icon' }).vm.disabled).to.equal(false) - expect(wrapper.find('#csv-finish').isVisible()).to.equal(false) - }) - - it('import finish', async () => { - sinon.stub(csv, 'parse').resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1], - col2: ['foo'] - } - }, - rowCount: 1, - hasErrors: false, - messages: [] - }) - - wrapper.vm.previewCsv() - wrapper.vm.open() - await wrapper.vm.$nextTick() - - await wrapper.find('#csv-import').trigger('click') - await wrapper.vm.$nextTick() - - await wrapper.find('#csv-finish').trigger('click') - - expect(actions.addTab.calledOnce).to.equal(true) - await actions.addTab.returnValues[0] - expect(mutations.setCurrentTabId.calledOnceWith(state, newTabId)).to.equal(true) - expect(wrapper.find('[data-modal="addCsv"]').exists()).to.equal(false) - expect(wrapper.emitted('finish')).to.have.lengthOf(1) - }) - - it('import cancel', async () => { - sinon.stub(csv, 'parse').resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1], - col2: ['foo'] - } - }, - rowCount: 1, - hasErrors: false, - messages: [] - }) - - await wrapper.vm.previewCsv() - await wrapper.vm.open() - await wrapper.vm.$nextTick() - - await wrapper.find('#csv-import').trigger('click') - await wrapper.vm.$nextTick() - - await wrapper.find('#csv-cancel').trigger('click') - - expect(wrapper.find('[data-modal="addCsv"]').exists()).to.equal(false) - expect(wrapper.vm.db.execute.calledOnceWith('DROP TABLE "my_data"')).to.equal(true) - expect(wrapper.vm.db.refreshSchema.calledOnce).to.equal(true) - expect(wrapper.emitted('cancel')).to.have.lengthOf(1) - }) - - it('checks table name', async () => { - sinon.stub(csv, 'parse').resolves() - await wrapper.vm.previewCsv() - await wrapper.vm.open() - await wrapper.vm.$nextTick() - - await wrapper.find('#csv-table-name input').setValue('foo') - await clock.tick(400) - await wrapper.vm.$nextTick() - expect(wrapper.find('#csv-table-name .text-field-error').text()).to.equal('') - - wrapper.vm.db.validateTableName = sinon.stub().rejects(new Error('this is a bad table name')) - await wrapper.find('#csv-table-name input').setValue('bar') - await clock.tick(400) - await wrapper.vm.$nextTick() - expect(wrapper.find('#csv-table-name .text-field-error').text()) - .to.equal('this is a bad table name. Try another table name.') - - await wrapper.find('#csv-table-name input').setValue('') - await clock.tick(400) - await wrapper.vm.$nextTick() - expect(wrapper.find('#csv-table-name .text-field-error').text()).to.equal('') - - await wrapper.find('#csv-import').trigger('click') - expect(wrapper.find('#csv-table-name .text-field-error').text()) - .to.equal("Table name can't be empty") - expect(wrapper.vm.db.addTableFromCsv.called).to.equal(false) - }) -}) diff --git a/tests/components/CsvImport/DelimiterSelector.spec.js b/tests/components/CsvImport/DelimiterSelector.spec.js deleted file mode 100644 index 15b69ea..0000000 --- a/tests/components/CsvImport/DelimiterSelector.spec.js +++ /dev/null @@ -1,109 +0,0 @@ -import { expect } from 'chai' -import { mount, shallowMount } from '@vue/test-utils' -import DelimiterSelector from '@/components/CsvImport/DelimiterSelector' - -describe('DelimiterSelector', async () => { - it('shows the name of value', async () => { - let wrapper = shallowMount(DelimiterSelector, { - propsData: { value: ',' } - }) - expect(wrapper.find('input').element.value).to.equal(',') - expect(wrapper.find('.name').text()).to.equal('comma') - - wrapper = shallowMount(DelimiterSelector, { - propsData: { value: '\t' } - }) - expect(wrapper.find('input').element.value).to.equal('\t') - expect(wrapper.find('.name').text()).to.equal('horizontal tab') - - wrapper = shallowMount(DelimiterSelector, { - propsData: { value: '' } - }) - expect(wrapper.find('input').element.value).to.equal('') - expect(wrapper.find('.name').text()).to.equal('') - }) - - it('clears the field', async () => { - const wrapper = mount(DelimiterSelector, { - propsData: { value: ',' } - }) - - await wrapper.findComponent({ name: 'clear-icon' }).trigger('click') - - expect(wrapper.find('input').element.value).to.equal('') - expect(wrapper.emitted().input).to.equal(undefined) - }) - - it('changes value by typing', async () => { - const wrapper = shallowMount(DelimiterSelector, { - propsData: { value: ',' } - }) - - await wrapper.find('input').setValue(';') - expect(wrapper.emitted().input).to.have.lengthOf(1) - expect(wrapper.emitted().input[0]).to.eql([';']) - }) - - it('changes value by selection from the list', async () => { - const wrapper = mount(DelimiterSelector, { - propsData: { value: '|' } - }) - - await wrapper.findComponent({ name: 'drop-down-chevron' }).trigger('click') - expect(wrapper.find('.options').isVisible()).to.equal(true) - await wrapper.find('.option').trigger('click') - expect(wrapper.find('.options').isVisible()).to.equal(false) - expect(wrapper.emitted().input).to.have.lengthOf(1) - expect(wrapper.emitted().input[0]).to.eql([',']) - }) - - it("doesn't change value when becomes empty", async () => { - const wrapper = mount(DelimiterSelector, { - propsData: { value: '|' } - }) - - await wrapper.find('input').setValue('') - expect(wrapper.emitted().input).to.equal(undefined) - }) - - it('set focus in input when click on character name', async () => { - const place = document.createElement('div') - document.body.appendChild(place) - - const wrapper = mount(DelimiterSelector, { - attachTo: place, - propsData: { value: '|' } - }) - - await wrapper.find('.name').trigger('click') - expect(wrapper.find('input').element).to.equal(document.activeElement) - place.remove() - wrapper.destroy() - }) - - it('disabled', async () => { - const wrapper = mount(DelimiterSelector, { - propsData: { value: '|', disabled: true } - }) - - await wrapper.findComponent({ name: 'clear-icon' }).trigger('click') - - expect(wrapper.find('input').element.value).to.equal('|') - expect(wrapper.emitted().input).to.equal(undefined) - - await wrapper.findComponent({ name: 'drop-down-chevron' }).trigger('click') - expect(wrapper.find('.options').isVisible()).to.equal(false) - }) - - it('has filled class when input is not empty', async () => { - const wrapper = shallowMount(DelimiterSelector, { - propsData: { value: ',' } - }) - await wrapper.vm.$nextTick() - expect(wrapper.find('input').classes()).to.include('filled') - await wrapper.find('input').setValue('') - expect(wrapper.find('input').classes()).to.not.include('filled') - await wrapper.find('input').setValue(';') - expect(wrapper.find('input').classes()).to.include('filled') - }) -}) diff --git a/tests/components/DbUploader.spec.js b/tests/components/DbUploader.spec.js deleted file mode 100644 index 4bcf002..0000000 --- a/tests/components/DbUploader.spec.js +++ /dev/null @@ -1,199 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import Vuex from 'vuex' -import { shallowMount, mount } from '@vue/test-utils' -import DbUploader from '@/components/DbUploader' -import fu from '@/lib/utils/fileIo' -import database from '@/lib/database' - -describe('DbUploader.vue', () => { - let state = {} - let mutations = {} - let store = {} - let place - - beforeEach(() => { - // mock store state and mutations - state = {} - mutations = { - setDb: sinon.stub() - } - store = new Vuex.Store({ state, mutations }) - - place = document.createElement('div') - document.body.appendChild(place) - }) - - afterEach(() => { - sinon.restore() - place.remove() - }) - - it('loads db on click and redirects to /workspace', async () => { - // mock getting a file from user - const file = { name: 'test.db' } - sinon.stub(fu, 'getFileFromUser').resolves(file) - - // mock db loading - const db = { - loadDb: sinon.stub().resolves() - } - sinon.stub(database, 'getNewDatabase').returns(db) - - // mock router - const $router = { push: sinon.stub() } - const $route = { path: '/' } - - // mount the component - const wrapper = shallowMount(DbUploader, { - attachTo: place, - store, - mocks: { $router, $route }, - propsData: { - type: 'illustrated' - } - }) - - await wrapper.find('.drop-area').trigger('click') - expect(db.loadDb.calledOnceWith(file)).to.equal(true) - await db.loadDb.returnValues[0] - await wrapper.vm.animationPromise - await wrapper.vm.$nextTick() - expect($router.push.calledOnceWith('/workspace')).to.equal(true) - wrapper.destroy() - }) - - it('loads db on drop and redirects to /workspace', async () => { - // mock db loading - const db = { - loadDb: sinon.stub().resolves() - } - sinon.stub(database, 'getNewDatabase').returns(db) - - // mock router - const $router = { push: sinon.stub() } - const $route = { path: '/' } - - // mount the component - const wrapper = shallowMount(DbUploader, { - attachTo: place, - store, - mocks: { $router, $route }, - propsData: { - type: 'illustrated' - } - }) - - // mock a file dropped by a user - const file = { name: 'test.db' } - const dropData = { dataTransfer: new DataTransfer() } - Object.defineProperty(dropData.dataTransfer, 'files', { - value: [file], - writable: false - }) - - await wrapper.find('.drop-area').trigger('drop', dropData) - expect(db.loadDb.calledOnceWith(file)).to.equal(true) - await db.loadDb.returnValues[0] - await wrapper.vm.animationPromise - await wrapper.vm.$nextTick() - expect($router.push.calledOnceWith('/workspace')).to.equal(true) - wrapper.destroy() - }) - - it("doesn't redirect if already on /workspace", async () => { - // mock getting a file from user - const file = { name: 'test.db' } - sinon.stub(fu, 'getFileFromUser').resolves(file) - - // mock db loading - const db = { - loadDb: sinon.stub().resolves() - } - sinon.stub(database, 'getNewDatabase').returns(db) - - // mock router - const $router = { push: sinon.stub() } - const $route = { path: '/workspace' } - - // mount the component - const wrapper = shallowMount(DbUploader, { - attachTo: place, - store, - mocks: { $router, $route }, - propsData: { - type: 'illustrated' - } - }) - - await wrapper.find('.drop-area').trigger('click') - await db.loadDb.returnValues[0] - await wrapper.vm.animationPromise - await wrapper.vm.$nextTick() - expect($router.push.called).to.equal(false) - wrapper.destroy() - }) - - it('shows parse dialog if gets csv file', async () => { - // mock getting a file from user - const file = { name: 'test.csv' } - sinon.stub(fu, 'getFileFromUser').resolves(file) - - // mock router - const $router = { push: sinon.stub() } - const $route = { path: '/workspace' } - - // mount the component - const wrapper = mount(DbUploader, { - attachTo: place, - store, - mocks: { $router, $route }, - propsData: { - type: 'illustrated' - } - }) - - const CsvImport = wrapper.vm.$refs.addCsv - sinon.stub(CsvImport, 'reset') - sinon.stub(CsvImport, 'previewCsv').resolves() - sinon.stub(CsvImport, 'open') - - await wrapper.find('.drop-area').trigger('click') - await wrapper.vm.$nextTick() - expect(CsvImport.reset.calledOnce).to.equal(true) - await wrapper.vm.animationPromise - expect(CsvImport.previewCsv.calledOnce).to.equal(true) - await wrapper.vm.$nextTick() - expect(CsvImport.open.calledOnce).to.equal(true) - wrapper.destroy() - }) - - it('deletes temporary db if CSV import is canceled', async () => { - // mock getting a file from user - const file = { name: 'test.csv' } - sinon.stub(fu, 'getFileFromUser').resolves(file) - - // mock router - const $router = { push: sinon.stub() } - const $route = { path: '/workspace' } - - // mount the component - const wrapper = mount(DbUploader, { - store, - mocks: { $router, $route }, - propsData: { - type: 'illustrated' - } - }) - - const CsvImport = wrapper.vm.$refs.addCsv - sinon.stub(CsvImport, 'reset') - sinon.stub(CsvImport, 'previewCsv').resolves() - sinon.stub(CsvImport, 'open') - - await wrapper.find('.drop-area').trigger('click') - await wrapper.vm.$nextTick() - await CsvImport.$emit('cancel') - expect(wrapper.vm.newDb).to.equal(null) - }) -}) diff --git a/tests/components/LoadingIndicator.spec.js b/tests/components/LoadingIndicator.spec.js deleted file mode 100644 index b6b177a..0000000 --- a/tests/components/LoadingIndicator.spec.js +++ /dev/null @@ -1,25 +0,0 @@ -import { expect } from 'chai' -import { shallowMount } from '@vue/test-utils' -import LoadingIndicator from '@/components/LoadingIndicator' - -describe('LoadingIndicator.vue', () => { - it('Calculates animation class', async () => { - const wrapper = shallowMount(LoadingIndicator, { - propsData: { progress: 0 } - }) - expect(wrapper.find('svg').classes()).to.contain('progress') - await wrapper.setProps({ progress: undefined }) - expect(wrapper.find('svg').classes()).to.not.contain('progress') - expect(wrapper.find('svg').classes()).to.contain('loading') - }) - - it('Calculates arc', async () => { - const wrapper = shallowMount(LoadingIndicator, { - propsData: { progress: 50 } - }) - // The lendth of circle in the component is 50.24. If progress is 50% then resulting arc - // should be 25.12 - expect(wrapper.find('.loader-svg.front').element.style.strokeDasharray) - .to.equal('25.12px, 25.12px') - }) -}) diff --git a/tests/components/Logs.spec.js b/tests/components/Logs.spec.js deleted file mode 100644 index 144b487..0000000 --- a/tests/components/Logs.spec.js +++ /dev/null @@ -1,83 +0,0 @@ -import { expect } from 'chai' -import { shallowMount } from '@vue/test-utils' -import Logs from '@/components/Logs' - -let place -describe('Logs.vue', () => { - beforeEach(() => { - place = document.createElement('div') - document.body.appendChild(place) - }) - - afterEach(() => { - place.remove() - }) - - it('Scrolled to bottom on mounted', async () => { - const messages = [ - { type: 'error', message: 'msg 1' }, - { type: 'error', message: 'msg 2' }, - { type: 'error', message: 'msg 3' }, - { type: 'error', message: 'msg 4' } - ] - - const containerHeight = 160 - const borderWidth = 1 - const viewHeight = containerHeight - 2 * borderWidth - const wrapper = shallowMount(Logs, { - attachTo: place, - propsData: { messages, style: `height: ${containerHeight}px` } - }) - - await wrapper.vm.$nextTick() - const height = wrapper.find('.logs-container').element.scrollHeight - expect(wrapper.find('.logs-container').element.scrollTop) - .to.equal(height - viewHeight) - wrapper.destroy() - }) - - it('Scrolled to bottom when a message added', async () => { - const messages = [ - { type: 'error', message: 'msg 1' }, - { type: 'error', message: 'msg 2' }, - { type: 'error', message: 'msg 3' }, - { type: 'error', message: 'msg 4' } - ] - - const containerHeight = 160 - const borderWidth = 1 - const viewHeight = containerHeight - 2 * borderWidth - const wrapper = shallowMount(Logs, { - attachTo: place, - propsData: { messages, style: `height: ${containerHeight}px` } - }) - - await wrapper.vm.$nextTick() - messages.push({ type: 'error', message: 'msg 5' }) - - await wrapper.vm.$nextTick() - const height = wrapper.find('.logs-container').element.scrollHeight - expect(wrapper.find('.logs-container').element.scrollTop) - .to.equal(height - viewHeight) - wrapper.destroy() - }) - - it('Serializes messages', async () => { - const messages = [ - { type: 'error', message: 'msg 1.', row: 0, hint: 'Try again later.' }, - { type: 'error', message: 'msg 2!', row: 2, hint: undefined }, - { type: 'error', message: 'msg 3?', hint: 'Be happy!' }, - { type: 'error', message: 'msg 4' } - ] - - const wrapper = shallowMount(Logs, { - propsData: { messages } - }) - - const logs = wrapper.findAll('.msg') - expect(logs.at(0).text()).to.equal('Error in row 0. msg 1. Try again later.') - expect(logs.at(1).text()).to.equal('Error in row 2. msg 2!') - expect(logs.at(2).text()).to.equal('msg 3? Be happy!') - expect(logs.at(3).text()).to.equal('msg 4.') - }) -}) diff --git a/tests/components/Splitpanes/Splitpanes.spec.js b/tests/components/Splitpanes/Splitpanes.spec.js deleted file mode 100644 index 94524ea..0000000 --- a/tests/components/Splitpanes/Splitpanes.spec.js +++ /dev/null @@ -1,220 +0,0 @@ -import { expect } from 'chai' -import { shallowMount } from '@vue/test-utils' -import Splitpanes from '@/components/Splitpanes' - -describe('Splitpanes.vue', () => { - it('renders correctly - vertical', () => { - // mount the component - const wrapper = shallowMount(Splitpanes, { - slots: { - leftPane: '
', - rightPane: '
' - }, - propsData: { - before: { size: 60, max: 100 }, - after: { size: 40, max: 100 } - } - }) - - expect(wrapper.findAll('.splitpanes-pane')).to.have.lengthOf(2) - expect(wrapper.findAll('.splitpanes-pane').at(0).element.style.width).to.equal('60%') - expect(wrapper.findAll('.splitpanes-pane').at(1).element.style.width).to.equal('40%') - }) - - it('renders correctly - horizontal', () => { - // mount the component - const wrapper = shallowMount(Splitpanes, { - slots: { - leftPane: '
', - rightPane: '
' - }, - propsData: { - before: { size: 60, max: 100 }, - after: { size: 40, max: 100 }, - horizontal: true - } - }) - - expect(wrapper.findAll('.splitpanes-pane')).to.have.lengthOf(2) - expect(wrapper.findAll('.splitpanes-pane').at(0).element.style.height).to.equal('60%') - expect(wrapper.findAll('.splitpanes-pane').at(1).element.style.height).to.equal('40%') - }) - - it('toggles correctly', async () => { - // mount the component - const wrapper = shallowMount(Splitpanes, { - slots: { - leftPane: '
', - rightPane: '
' - }, - propsData: { - before: { size: 60, max: 100 }, - after: { size: 40, max: 100 } - } - }) - - await wrapper.find('.toggle-btn').trigger('click') - expect(wrapper.findAll('.splitpanes-pane').at(0).element.style.width).to.equal('0%') - expect(wrapper.findAll('.splitpanes-pane').at(1).element.style.width).to.equal('100%') - - await wrapper.find('.toggle-btn').trigger('click') - expect(wrapper.findAll('.splitpanes-pane').at(0).element.style.width).to.equal('60%') - expect(wrapper.findAll('.splitpanes-pane').at(1).element.style.width).to.equal('40%') - - await wrapper.findAll('.toggle-btn').at(1).trigger('click') - expect(wrapper.findAll('.splitpanes-pane').at(0).element.style.width).to.equal('100%') - expect(wrapper.findAll('.splitpanes-pane').at(1).element.style.width).to.equal('0%') - - await wrapper.find('.toggle-btn').trigger('click') - expect(wrapper.findAll('.splitpanes-pane').at(0).element.style.width).to.equal('60%') - expect(wrapper.findAll('.splitpanes-pane').at(1).element.style.width).to.equal('40%') - }) - - it('drag - vertical', async () => { - const root = document.createElement('div') - const place = document.createElement('div') - root.style.width = '600px' - root.style.height = '500px' - root.appendChild(place) - document.body.appendChild(root) - - // mount the component - const wrapper = shallowMount(Splitpanes, { - attachTo: place, - slots: { - leftPane: '
', - rightPane: '
' - }, - propsData: { - before: { size: 60, max: 100 }, - after: { size: 40, max: 100 } - } - }) - - await wrapper.find('.splitpanes-splitter').trigger('mousedown') - document.dispatchEvent(new MouseEvent('mousemove', { - clientX: 300, - clientY: 80 - })) - document.dispatchEvent(new MouseEvent('mouseup')) - await wrapper.vm.$nextTick() - expect(wrapper.findAll('.splitpanes-pane').at(0).element.style.width).to.equal('50%') - wrapper.destroy() - root.remove() - }) - - it('drag - horizontal', async () => { - const root = document.createElement('div') - const place = document.createElement('div') - root.style.width = '600px' - root.style.height = '500px' - root.appendChild(place) - document.body.appendChild(root) - - // mount the component - const wrapper = shallowMount(Splitpanes, { - attachTo: place, - slots: { - leftPane: '
', - rightPane: '
' - }, - propsData: { - before: { size: 10, max: 100 }, - after: { size: 90, max: 100 }, - horizontal: true - } - }) - - await wrapper.find('.splitpanes-splitter').trigger('mousedown') - document.dispatchEvent(new MouseEvent('mousemove', { - clientX: 10, - clientY: 250 - })) - document.dispatchEvent(new MouseEvent('mouseup')) - await wrapper.vm.$nextTick() - expect(wrapper.findAll('.splitpanes-pane').at(0).element.style.height).to.equal('50%') - wrapper.destroy() - root.remove() - }) - - it('drag - horizontal - touch', async () => { - const root = document.createElement('div') - const place = document.createElement('div') - root.style.width = '600px' - root.style.height = '500px' - root.appendChild(place) - document.body.appendChild(root) - - // mount the component - const wrapper = shallowMount(Splitpanes, { - attachTo: place, - slots: { - leftPane: '
', - rightPane: '
' - }, - propsData: { - before: { size: 10, max: 100 }, - after: { size: 90, max: 100 }, - horizontal: true - } - }) - - window.ontouchstart = null - await wrapper.find('.splitpanes-splitter').trigger('touchstart') - const event = new TouchEvent('touchmove') - Object.defineProperty(event, 'touches', { - value: [{ - clientX: 10, - clientY: 250 - }], - writable: true - }) - document.dispatchEvent(event) - document.dispatchEvent(new MouseEvent('touchend')) - await wrapper.vm.$nextTick() - expect(wrapper.findAll('.splitpanes-pane').at(0).element.style.height).to.equal('50%') - wrapper.destroy() - root.remove() - delete window.ontouchstart - }) - - it('drag - vertical - touch', async () => { - const root = document.createElement('div') - const place = document.createElement('div') - root.style.width = '600px' - root.style.height = '500px' - root.appendChild(place) - document.body.appendChild(root) - - // mount the component - const wrapper = shallowMount(Splitpanes, { - attachTo: place, - slots: { - leftPane: '
', - rightPane: '
' - }, - propsData: { - before: { size: 60, max: 100 }, - after: { size: 40, max: 100 } - } - }) - window.ontouchstart = null - - await wrapper.find('.splitpanes-splitter').trigger('touchstart') - const event = new TouchEvent('touchmove') - Object.defineProperty(event, 'touches', { - value: [{ - clientX: 300, - clientY: 80 - }], - writable: true - }) - document.dispatchEvent(event) - document.dispatchEvent(new MouseEvent('touchend')) - await wrapper.vm.$nextTick() - expect(wrapper.findAll('.splitpanes-pane').at(0).element.style.width).to.equal('50%') - wrapper.destroy() - root.remove() - delete window.ontouchstart - }) -}) diff --git a/tests/components/Splitpanes/splitter.spec.js b/tests/components/Splitpanes/splitter.spec.js deleted file mode 100644 index 5290652..0000000 --- a/tests/components/Splitpanes/splitter.spec.js +++ /dev/null @@ -1,108 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import splitter from '@/components/Splitpanes/splitter' - -describe('splitter.js', () => { - afterEach(() => { - sinon.restore() - }) - - it('getCurrentMouseDrag', () => { - const container = document.createElement('div') - container.style.width = '100px' - container.style.height = '100px' - container.style.position = 'fixed' - container.style.top = '10px' - container.style.left = '20px' - - document.body.appendChild(container) - - const event = new MouseEvent('mousemove', { - clientX: 70, - clientY: 80 - }) - - const mouseDrag = splitter.getCurrentMouseDrag(event, container) - expect(mouseDrag.x).to.equal(50) - expect(mouseDrag.y).to.equal(70) - }) - - it('getCurrentDragPercentage - horisontal', () => { - sinon.stub(splitter, 'getCurrentMouseDrag').returns({ x: 50, y: 70 }) - - const event = {} - const isHorisontal = true - const container = document.createElement('div') - container.style.width = '200px' - container.style.height = '140px' - - document.body.appendChild(container) - - const dragPercentage = splitter.getCurrentDragPercentage(event, container, isHorisontal) - expect(dragPercentage).to.equal(50) - }) - - it('getCurrentDragPercentage - vertical', () => { - sinon.stub(splitter, 'getCurrentMouseDrag').returns({ x: 50, y: 70 }) - - const event = {} - const isHorisontal = false - const container = document.createElement('div') - container.style.width = '200px' - container.style.height = '140px' - - document.body.appendChild(container) - - const dragPercentage = splitter.getCurrentDragPercentage(event, container, isHorisontal) - expect(dragPercentage).to.equal(25) - }) - - it('calculateOffset', () => { - sinon.stub(splitter, 'getCurrentDragPercentage').returns(25) - - const event = {} - const container = {} - - const splitterInfo = { - container, - paneBeforeMax: 70, - paneAfterMax: 80, - isHorisontal: true - } - const offset = splitter.calculateOffset(event, splitterInfo) - - expect(offset).to.equal(25) - }) - - it('calculateOffset prevents dragging beyond paneBefore max', () => { - sinon.stub(splitter, 'getCurrentDragPercentage').returns(75) - - const event = {} - const container = {} - const splitterInfo = { - container, - paneBeforeMax: 70, - paneAfterMax: 80, - isHorisontal: true - } - const offset = splitter.calculateOffset(event, splitterInfo) - - expect(offset).to.equal(70) - }) - - it('calculateOffset prevents dragging beyond paneAfter max', () => { - sinon.stub(splitter, 'getCurrentDragPercentage').returns(10) - - const event = {} - const container = {} - const splitterInfo = { - container, - paneBeforeMax: 70, - paneAfterMax: 80, - isHorisontal: true - } - const offset = splitter.calculateOffset(event, splitterInfo) - - expect(offset).to.equal(20) - }) -}) diff --git a/tests/components/SqlTable/Pager.spec.js b/tests/components/SqlTable/Pager.spec.js deleted file mode 100644 index 071ec62..0000000 --- a/tests/components/SqlTable/Pager.spec.js +++ /dev/null @@ -1,37 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import { mount } from '@vue/test-utils' -import Pager from '@/components/SqlTable/Pager' - -describe('Pager.vue', () => { - afterEach(() => { - sinon.restore() - }) - - it('emits input event with a page', async () => { - const wrapper = mount(Pager, { - propsData: { - pageCount: 5 - } - }) - - // click on 'next page' link - await wrapper.find('.paginator-next').trigger('click') - expect(wrapper.emitted('input')[0]).to.eql([2]) - - // click on the link to page 3 (it has index 2) - await wrapper.findAll('.paginator-page-link').at(2).trigger('click') - expect(wrapper.emitted('input')[1]).to.eql([3]) - }) - - it('changes the page when value is changed', async () => { - const wrapper = mount(Pager, { - propsData: { - pageCount: 5 - } - }) - - await wrapper.setProps({ value: 5 }) - expect(wrapper.emitted('input')[0]).to.eql([5]) - }) -}) diff --git a/tests/lib/chartHelper.spec.js b/tests/lib/chartHelper.spec.js deleted file mode 100644 index bc01e08..0000000 --- a/tests/lib/chartHelper.spec.js +++ /dev/null @@ -1,103 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import * as chartHelper from '@/lib/chartHelper' -import * as dereference from 'react-chart-editor/lib/lib/dereference' - -describe('chartHelper.js', () => { - afterEach(() => { - sinon.restore() - }) - - it('getOptionsFromDataSources', () => { - const dataSources = { - id: [1, 2], - name: ['foo', 'bar'] - } - - const ds = chartHelper.getOptionsFromDataSources(dataSources) - expect(ds).to.eql([ - { value: 'id', label: 'id' }, - { value: 'name', label: 'name' } - ]) - }) - - it('getOptionsForSave', () => { - const state = { - data: { - foo: {}, - bar: {} - }, - layout: {}, - frames: {} - } - const dataSources = { - id: [1, 2], - name: ['foo', 'bar'] - } - sinon.stub(dereference, 'default') - sinon.spy(JSON, 'parse') - - const ds = chartHelper.getOptionsForSave(state, dataSources) - - expect(dereference.default.calledOnce).to.equal(true) - - const args = dereference.default.firstCall.args - expect(args[0]).to.eql({ - foo: {}, - bar: {} - }) - expect(args[1]).to.eql({ - id: [], - name: [] - }) - - expect(ds).to.equal(JSON.parse.returnValues[0]) - }) - - it('getImageDataUrl returns dataUrl', async () => { - const element = document.createElement('div') - const child = document.createElement('div') - element.append(child) - child.classList.add('js-plotly-plot') - - let url = await chartHelper.getImageDataUrl(element, 'png') - expect(/^data:image\/png/.test(url)).to.equal(true) - - url = await chartHelper.getImageDataUrl(element, 'svg') - expect(/^data:image\/svg\+xml/.test(url)).to.equal(true) - }) - - it('getChartData returns plotly data and layout from element', async () => { - const element = document.createElement('div') - const child = document.createElement('div') - element.append(child) - child.classList.add('js-plotly-plot') - child.data = 'plotly data' - child.layout = 'plotly layout' - - const chartData = chartHelper.getChartData(element) - expect(chartData).to.eql({ - data: 'plotly data', - layout: 'plotly layout' - }) - }) - - it('getHtml returns valid html', async () => { - const options = { - data: 'plotly data', - layout: 'plotly layout' - } - - const html = chartHelper.getHtml(options) - const doc = document.createElement('div') - doc.innerHTML = html - - expect(doc.innerHTML).to.equal(html) - expect(doc.children).to.have.lengthOf(3) - expect(doc.children[0].src).to.includes('plotly-latest.js') - expect(doc.children[1].id).to.have.lengthOf(21) - expect(doc.children[2].innerHTML).to.includes(doc.children[1].id) - expect(doc.children[2].innerHTML) - .to.includes('Plotly.newPlot(el, "plotly data", "plotly layout"') - }) -}) diff --git a/tests/lib/csv.spec.js b/tests/lib/csv.spec.js deleted file mode 100644 index 2807f4c..0000000 --- a/tests/lib/csv.spec.js +++ /dev/null @@ -1,146 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import csv from '@/lib/csv' -import Papa from 'papaparse' - -describe('csv.js', () => { - afterEach(() => { - sinon.restore() - }) - - it('getResult with fields', () => { - const source = { - data: [ - { id: 1, 'name ': 'foo', date: new Date('2021-06-30T14:10:24.717Z') }, - { id: 2, 'name ': 'bar', date: new Date('2021-07-30T14:10:15.717Z') } - ], - meta: { - fields: ['id', 'name ', 'date'] - } - } - expect(csv.getResult(source)).to.eql({ - columns: ['id', 'name', 'date'], - values: { - id: [1, 2], - name: ['foo', 'bar'], - date: ['2021-06-30T14:10:24.717Z', '2021-07-30T14:10:15.717Z'] - } - }) - }) - - it('getResult without fields', () => { - const source = { - data: [ - [1, 'foo', new Date('2021-06-30T14:10:24.717Z')], - [2, 'bar', new Date('2021-07-30T14:10:15.717Z')] - ], - meta: {} - } - expect(csv.getResult(source)).to.eql({ - columns: ['col1', 'col2', 'col3'], - values: { - col1: [1, 2], - col2: ['foo', 'bar'], - col3: ['2021-06-30T14:10:24.717Z', '2021-07-30T14:10:15.717Z'] - } - }) - }) - - it('parse resolves', async () => { - sinon.stub(Papa, 'parse').callsFake((file, config) => { - config.complete({ - data: [ - [1, 'foo'], - [2, 'bar'] - ], - errors: [ - { - type: 'Quotes', - code: 'MissingQuotes', - message: 'Quote is missed', - row: 0 - }, - { - type: 'Delimiter', - code: 'UndetectableDelimiter', - message: 'Comma was used as a standart delimiter', - row: 0 - } - ], - meta: { - delimiter: ',', - linebreak: '\n', - aborted: false, - truncated: true - } - }) - }) - const file = {} - const result = await csv.parse(file) - expect(result).to.eql({ - data: { - columns: ['col1', 'col2'], - values: { - col1: [1, 2], - col2: ['foo', 'bar'] - } - }, - delimiter: ',', - rowCount: 2, - hasErrors: true, - messages: [ - { - code: 'MissingQuotes', - message: 'Quote is missed', - row: 0, - type: 'error', - hint: 'Edit your CSV so that the field has a closing quote char.' - }, - { - code: 'UndetectableDelimiter', - message: 'Comma was used as a standart delimiter', - row: 0, - type: 'info', - hint: undefined - } - ] - }) - }) - - it('parse rejects', async () => { - const err = new Error('something went wrong') - sinon.stub(Papa, 'parse').callsFake((file, config) => { - config.error(err) - }) - const file = {} - await expect(csv.parse(file)).to.be.rejectedWith(err) - }) - - it('prepareForExport', () => { - const resultSet = { - columns: ['id', 'name'], - values: { - id: [1, 2], - name: ['foo', 'bar'] - } - } - expect(csv.prepareForExport(resultSet)).to.eql({ - fields: ['id', 'name'], - data: [ - [1, 'foo'], - [2, 'bar'] - ] - }) - }) - - it('serialize returns tsv text', () => { - const resultSet = { - columns: ['id', 'name'], - values: { - id: [1, 2], - name: ['foo', 'bar'] - } - } - expect(csv.serialize(resultSet)).to.eql('id\tname\r\n1\tfoo\r\n2\tbar') - }) -}) diff --git a/tests/lib/database/_sql.spec.js b/tests/lib/database/_sql.spec.js deleted file mode 100644 index f651f40..0000000 --- a/tests/lib/database/_sql.spec.js +++ /dev/null @@ -1,182 +0,0 @@ -import chai from 'chai' -import sinon from 'sinon' -import chaiAsPromised from 'chai-as-promised' -import initSqlJs from 'sql.js' -import Sql from '@/lib/database/_sql' -chai.use(chaiAsPromised) -const expect = chai.expect -chai.should() - -const getSQL = initSqlJs() - -describe('_sql.js', () => { - afterEach(() => { - sinon.restore() - }) - - it('returns a query result', async () => { - const SQL = await getSQL - const tempDb = new SQL.Database() - tempDb.run(` - CREATE TABLE test ( - id integer, - name varchar(100), - faculty varchar(100) - ); - INSERT INTO test (id, name, faculty) - VALUES - ( 1, 'Harry Potter', 'Griffindor'), - ( 2, 'Draco Malfoy', 'Slytherin'); - `) - - const data = tempDb.export() - const sql = await Sql.build() - sql.open(data) - const result = sql.exec('SELECT * from test') - expect(result).to.have.lengthOf(1) - expect(result[0]).to.eql({ - columns: ['id', 'name', 'faculty'], - values: { - id: [1, 2], - name: ['Harry Potter', 'Draco Malfoy'], - faculty: ['Griffindor', 'Slytherin'] - } - }) - }) - - it('throws an error if query is empty', async () => { - const SQL = await getSQL - const tempDb = new SQL.Database() - tempDb.run(` - CREATE TABLE test ( - id integer, - name varchar(100), - faculty varchar(100) - ); - INSERT INTO test (id, name, faculty) - VALUES - ( 1, 'Harry Potter', 'Griffindor'), - ( 2, 'Draco Malfoy', 'Slytherin'); - `) - - const data = tempDb.export() - const sql = await Sql.build() - sql.open(data) - expect(() => { sql.exec() }).to.throw('exec: Missing query string') - }) - - it('imports', async () => { - const data = { - columns: ['id', 'name'], - values: { - id: [1, 2, 3, 4], - name: [ - 'Harry Potter', - 'Draco Malfoy', - 'Hermione Granger', - 'Ron Weasley' - ] - } - } - const progressCallback = sinon.stub() - const progressCounterId = 1 - const sql = await Sql.build() - sql.import('foo', data, progressCounterId, progressCallback, 2) - const result = sql.exec('SELECT * from foo') - expect(result).to.have.lengthOf(1) - expect(result[0]).to.eql(data) - - expect(progressCallback.calledThrice).to.equal(true) - expect(progressCallback.getCall(0).args[0]).to.eql({ progress: 0, id: 1 }) - expect(progressCallback.getCall(1).args[0]).to.eql({ progress: 50, id: 1 }) - expect(progressCallback.getCall(2).args[0]).to.eql({ progress: 100, id: 1 }) - }) - - it('exports', async () => { - const sql = await Sql.build() - sql.exec(` - CREATE TABLE test ( - id integer, - name varchar(100), - faculty varchar(100) - ); - INSERT INTO test (id, name, faculty) - VALUES - ( 1, 'Harry Potter', 'Griffindor'), - ( 2, 'Draco Malfoy', 'Slytherin'); - `) - const data = sql.export() - const anotherSql = await Sql.build() - anotherSql.open(data) - const result = anotherSql.exec('SELECT * from test') - expect(result).to.have.lengthOf(1) - expect(result[0].values).to.eql({ - id: [1, 2], - name: ['Harry Potter', 'Draco Malfoy'], - faculty: ['Griffindor', 'Slytherin'] - }) - }) - - it('closes', async () => { - const sql = await Sql.build() - - // nothing breaks if close empty db - sql.close() - - sql.exec(` - CREATE TABLE test ( - id integer, - name varchar(100) - ); - INSERT INTO test (id, name) - VALUES - ( 1, 'Harry Potter'), - ( 2, 'Draco Malfoy'); - `) - expect(sql.db.db).to.not.equal(null) - sql.close() - expect(sql.db.db).to.equal(null) - }) - - it('adds', async () => { - const sql = await Sql.build() - sql.exec(` - CREATE TABLE test ( - id integer, - name varchar(100) - ); - INSERT INTO test (id, name) - VALUES - ( 1, 'foo'), - ( 2, 'bar'); - `) - - let result = sql.exec('SELECT * from test') - expect(result[0].values).to.eql({ - id: [1, 2], - name: ['foo', 'bar'] - }) - - const data = { - columns: ['id', 'name'], - values: { - id: [1, 2, 3, 4], - name: [ - 'Harry Potter', - 'Draco Malfoy', - 'Hermione Granger', - 'Ron Weasley' - ] - } - } - // import adds table - sql.import('foo', data, 1, sinon.stub(), 2) - result = sql.exec('SELECT * from foo') - expect(result[0]).to.eql(data) - result = sql.exec('SELECT * from test') - expect(result[0].values).to.eql({ - id: [1, 2], - name: ['foo', 'bar'] - }) - }) -}) diff --git a/tests/lib/database/_statements.spec.js b/tests/lib/database/_statements.spec.js deleted file mode 100644 index d0c1a55..0000000 --- a/tests/lib/database/_statements.spec.js +++ /dev/null @@ -1,38 +0,0 @@ -import { expect } from 'chai' -import stmts from '@/lib/database/_statements' - -describe('_statements.js', () => { - it('generateChunks', () => { - const source = { - id: ['1', '2', '3', '4', '5'] - } - const size = 2 - const chunks = stmts.generateChunks(source, size) - const output = [] - for (const chunk of chunks) { - output.push(chunk) - } - expect(output[0]).to.eql([['1'], ['2']]) - expect(output[1]).to.eql([['3'], ['4']]) - expect(output[2]).to.eql([['5']]) - }) - - it('getInsertStmt', () => { - const columns = ['id', 'name'] - expect(stmts.getInsertStmt('foo', columns)) - .to.equal('INSERT INTO "foo" ("id", "name") VALUES (?, ?);') - }) - - it('getCreateStatement', () => { - const data = { - id: [1, 2], - name: ['foo', 'bar'], - isAdmin: [true, false], - startDate: [new Date(), new Date()] - } - - expect(stmts.getCreateStatement('foo', data)).to.equal( - 'CREATE table "foo"("id" REAL, "name" TEXT, "isAdmin" INTEGER, "startDate" TEXT);' - ) - }) -}) diff --git a/tests/lib/database/database.spec.js b/tests/lib/database/database.spec.js deleted file mode 100644 index 2852a72..0000000 --- a/tests/lib/database/database.spec.js +++ /dev/null @@ -1,279 +0,0 @@ -import chai from 'chai' -import sinon from 'sinon' -import chaiAsPromised from 'chai-as-promised' -import initSqlJs from 'sql.js' -import database from '@/lib/database' -import fu from '@/lib/utils/fileIo' - -chai.use(chaiAsPromised) -const expect = chai.expect -chai.should() - -const getSQL = initSqlJs() -let db - -describe('database.js', () => { - beforeEach(() => { - db = database.getNewDatabase() - }) - - afterEach(() => { - db.shutDown() - sinon.restore() - }) - - it('creates schema', async () => { - const SQL = await getSQL - const tempDb = new SQL.Database() - tempDb.run('CREATE TABLE test (col1, col2 integer)') - - const data = tempDb.export() - const buffer = new Blob([data]) - buffer.name = 'foo.sqlite' - - sinon.spy(db, 'refreshSchema') - - await db.loadDb(buffer) - await db.refreshSchema.returnValues[0] - const schema = db.schema - expect(db.dbName).to.equal('foo') - expect(schema).to.have.lengthOf(1) - expect(schema[0].name).to.equal('test') - - expect(schema[0].columns[0].name).to.equal('col1') - expect(schema[0].columns[0].type).to.equal('N/A') - - expect(schema[0].columns[1].name).to.equal('col2') - expect(schema[0].columns[1].type).to.equal('integer') - }) - - it('creates schema with view', async () => { - await db.loadDb() - await db.execute(` - CREATE TABLE test (col1, col2 integer); - CREATE VIEW test_view AS SELECT col2 as amount FROM test; - `) - - await db.refreshSchema() - const schema = db.schema - expect(db.dbName).to.equal('database') - expect(schema).to.have.lengthOf(2) - expect(schema[0].name).to.equal('test') - expect(schema[1].name).to.equal('test_view') - - expect(schema[0].columns[0]).to.eql({ - name: 'col1', - type: 'N/A' - }) - - expect(schema[0].columns[1]).to.eql({ - name: 'col2', - type: 'integer' - }) - - expect(schema[1].columns).to.eql([{ - name: 'amount', - type: 'integer' - }]) - }) - - it('creates empty db with name database', async () => { - sinon.spy(db, 'refreshSchema') - - await db.loadDb() - await db.refreshSchema.returnValues[0] - expect(db.dbName).to.equal('database') - }) - - it('loadDb throws errors', async () => { - const buffer = new Blob([]) - buffer.name = 'foo.sqlite' - - sinon.stub(db.pw, 'postMessage').resolves({ error: new Error('foo') }) - - await expect(db.loadDb(buffer)).to.be.rejectedWith('foo') - }) - - it('returns the last query result', async () => { - const SQL = await getSQL - const tempDb = new SQL.Database() - tempDb.run(` - CREATE TABLE test ( - id integer, - name varchar(100), - faculty varchar(100) - ); - INSERT INTO test (id, name, faculty) - VALUES - ( 1, 'Harry Potter', 'Griffindor'), - ( 2, 'Draco Malfoy', 'Slytherin'); - `) - - const data = tempDb.export() - const buffer = new Blob([data]) - buffer.name = 'foo.sqlite' - - await db.loadDb(buffer) - const result = await db.execute('SELECT * from test limit 1; SELECT * from test;') - expect(result.values).to.eql({ - id: [1, 2], - name: ['Harry Potter', 'Draco Malfoy'], - faculty: ['Griffindor', 'Slytherin'] - }) - }) - - it('returns an error', async () => { - const SQL = await getSQL - const tempDb = new SQL.Database() - tempDb.run(` - CREATE TABLE test ( - id integer, - name varchar(100), - faculty varchar(100) - ); - INSERT INTO test (id, name, faculty) - VALUES - ( 1, 'Harry Potter', 'Griffindor'), - ( 2, 'Draco Malfoy', 'Slytherin'); - `) - - const data = tempDb.export() - const buffer = new Blob([data]) - buffer.name = 'foo.sqlite' - await db.loadDb(buffer) - await expect(db.execute('SELECT * from foo')).to.be.rejectedWith(/^no such table: foo$/) - }) - - it('adds table from csv', async () => { - const data = { - columns: ['id', 'name', 'faculty'], - values: { - id: [1, 2], - name: ['Harry Potter', 'Draco Malfoy'], - faculty: ['Griffindor', 'Slytherin'] - } - } - const progressHandler = sinon.spy() - const progressCounterId = db.createProgressCounter(progressHandler) - sinon.spy(db, 'refreshSchema') - - await db.addTableFromCsv('foo', data, progressCounterId) - await db.refreshSchema.returnValues[0] - expect(db.dbName).to.equal('database') - expect(db.schema).to.have.lengthOf(1) - expect(db.schema[0].name).to.equal('foo') - expect(db.schema[0].columns).to.have.lengthOf(3) - expect(db.schema[0].columns[0]).to.eql({ name: 'id', type: 'REAL' }) - expect(db.schema[0].columns[1]).to.eql({ name: 'name', type: 'TEXT' }) - expect(db.schema[0].columns[2]).to.eql({ name: 'faculty', type: 'TEXT' }) - - const result = await db.execute('SELECT * from foo') - expect(result).to.eql(data) - - expect(progressHandler.calledTwice).to.equal(true) - expect(progressHandler.firstCall.calledWith(0)).to.equal(true) - expect(progressHandler.secondCall.calledWith(100)).to.equal(true) - }) - - it('addTableFromCsv throws errors', async () => { - const data = { - columns: [], - values: { - id: [1, 2], - name: ['Harry Potter', 'Draco Malfoy'], - faculty: null - } - } - const progressHandler = sinon.stub() - const progressCounterId = db.createProgressCounter(progressHandler) - await expect(db.addTableFromCsv('foo', data, progressCounterId)).to.be.rejected - }) - - it('progressCounters', () => { - const firstHandler = sinon.stub() - const firstId = db.createProgressCounter(firstHandler) - db.worker.dispatchEvent(new MessageEvent('message', { - data: { - progress: 50, - id: firstId - } - })) - expect(firstHandler.calledOnceWith(50)).to.equal(true) - - const secondHandler = sinon.stub() - const secondId = db.createProgressCounter(secondHandler) - db.worker.dispatchEvent(new MessageEvent('message', { - data: { - progress: 70, - id: secondId - } - })) - expect(firstId).to.not.equals(secondId) - expect(secondHandler.calledOnceWith(70)).to.equal(true) - - db.worker.dispatchEvent(new MessageEvent('message', { - data: { - progress: 80, - id: firstId - } - })) - expect(firstHandler.calledTwice).to.equal(true) - expect(firstHandler.secondCall.calledWith(80)).to.equal(true) - - db.deleteProgressCounter(firstId) - expect(db.importProgresses[firstId]).to.equal(undefined) - }) - - it('exports db', async () => { - sinon.stub(fu, 'exportToFile').resolves() - - // create db with table foo - const stmt = ` - CREATE TABLE foo(id, name); - INSERT INTO foo VALUES (1, 'Harry Potter') - ` - let result = await db.execute(stmt) - - // export db to a file - await db.export('fooDb.sqlite') - expect(fu.exportToFile.called).to.equal(true) - - // get data from export - const data = fu.exportToFile.getCall(0).args[0] - const file = new Blob([data]) - file.name = 'fooDb.sqlite' - - // loadDb from exported data - const anotherDb = database.getNewDatabase() - await anotherDb.loadDb(file) - - // check that new db works and has the same table and data - result = await anotherDb.execute('SELECT * from foo') - expect(result).to.eql({ - columns: ['id', 'name'], - values: { - id: [1], - name: ['Harry Potter'] - } - }) - }) - - it('sanitizeTableName', () => { - let name = 'foo[]bar' - expect(db.sanitizeTableName(name)).to.equal('foo_bar') - - name = '1 foo(01.05.2020)' - expect(db.sanitizeTableName(name)).to.equal('_1_foo_01_05_2020_') - }) - - it('validateTableName', async () => { - await db.execute('CREATE TABLE foo(id)') - await expect(db.validateTableName('foo')).to.be.rejectedWith('table "foo" already exists') - await expect(db.validateTableName('1foo')) - .to.be.rejectedWith("Table name can't start with a digit") - await expect(db.validateTableName('foo(05.08.2020)')) - .to.be.rejectedWith('Table name can contain only letters, digits and underscores') - await expect(db.validateTableName('sqlite_foo')) - .to.be.rejectedWith("Table name can't start with sqlite_") - }) -}) diff --git a/tests/lib/database/sqliteExtensions.spec.js b/tests/lib/database/sqliteExtensions.spec.js deleted file mode 100644 index 2961378..0000000 --- a/tests/lib/database/sqliteExtensions.spec.js +++ /dev/null @@ -1,433 +0,0 @@ -import chai from 'chai' -import database from '@/lib/database' - -const expect = chai.expect - -describe('SQLite extensions', function () { - let db - - beforeEach(() => { - db = database.getNewDatabase() - }) - - afterEach(() => { - db.shutDown() - }) - - it('supports contrib trigonometric functions', async function () { - const actual = await db.execute(` - SELECT - abs(3.1415926 - pi()) < 0.000001, - abs(1 - cos(2 * pi())) < 0.000001, - abs(0 - sin(pi())) < 0.000001, - abs(0 - tan(0)) < 0.000001, - abs(0 - cot(pi() / 2)) < 0.000001, - abs(1 - acos(cos(1))) < 0.000001, - abs(1 - asin(sin(1))) < 0.000001, - abs(1 - atan(tan(1))) < 0.000001, - abs(1 - cosh(0)) < 0.000001, - abs(0 - sinh(0)) < 0.000001, - abs(tanh(1) + tanh(-1)) < 0.000001, - abs(coth(1) + coth(-1)) < 0.000001, - abs(1 - acosh(cosh(1))) < 0.000001, - abs(1 - asinh(sinh(1))) < 0.000001, - abs(1 - atanh(tanh(1))) < 0.000001, - abs(180 - degrees(pi())) < 0.000001, - abs(pi() - radians(180)) < 0.000001, - abs(pi() / 2 - atan2(1, 0)) < 0.000001 - `) - - expect(actual.values).to.eql({ - 'abs(3.1415926 - pi()) < 0.000001': [1], - 'abs(1 - cos(2 * pi())) < 0.000001': [1], - 'abs(0 - sin(pi())) < 0.000001': [1], - 'abs(0 - tan(0)) < 0.000001': [1], - 'abs(0 - cot(pi() / 2)) < 0.000001': [1], - 'abs(1 - acos(cos(1))) < 0.000001': [1], - 'abs(1 - asin(sin(1))) < 0.000001': [1], - 'abs(1 - atan(tan(1))) < 0.000001': [1], - 'abs(1 - cosh(0)) < 0.000001': [1], - 'abs(0 - sinh(0)) < 0.000001': [1], - 'abs(tanh(1) + tanh(-1)) < 0.000001': [1], - 'abs(coth(1) + coth(-1)) < 0.000001': [1], - 'abs(1 - acosh(cosh(1))) < 0.000001': [1], - 'abs(1 - asinh(sinh(1))) < 0.000001': [1], - 'abs(1 - atanh(tanh(1))) < 0.000001': [1], - 'abs(180 - degrees(pi())) < 0.000001': [1], - 'abs(pi() - radians(180)) < 0.000001': [1], - 'abs(pi() / 2 - atan2(1, 0)) < 0.000001': [1] - }) - }) - - it('supports contrib math functions', async function () { - const actual = await db.execute(` - SELECT - exp(0), - log(exp(1)), - log10(10000), - power(2, 3), - sign(-10) + sign(20), - sqrt(square(16)), - ceil(-1.95) + ceil(1.95), - floor(-1.95) + floor(1.95) - `) - expect(actual.values).to.eql({ - 'exp(0)': [1], - 'log(exp(1))': [1], - 'log10(10000)': [4], - 'power(2, 3)': [8], - 'sign(-10) + sign(20)': [0], - 'sqrt(square(16))': [16], - 'ceil(-1.95) + ceil(1.95)': [1], - 'floor(-1.95) + floor(1.95)': [-1] - - }) - }) - - it('supports contrib string functions', async function () { - const actual = await db.execute(` - SELECT - replicate('ab', 4), - charindex('ab', 'foobarabbarfoo'), - charindex('ab', 'foobarabbarfoo', 8), - leftstr('foobar', 2), - rightstr('foobar', 2), - reverse('foobar'), - proper('fooBar'), - padl('foo', 5), - padr('foo', 5), - padc('foo', 5), - strfilter('abcba', 'bc') - `) - expect(actual.values).to.eql({ - "replicate('ab', 4)": ['abababab'], - "charindex('ab', 'foobarabbarfoo')": [7], - "charindex('ab', 'foobarabbarfoo', 8)": [0], - "leftstr('foobar', 2)": ['fo'], - "rightstr('foobar', 2)": ['ar'], - "reverse('foobar')": ['raboof'], - "proper('fooBar')": ['Foobar'], - "padl('foo', 5)": [' foo'], - "padr('foo', 5)": ['foo '], - "padc('foo', 5)": [' foo '], - "strfilter('abcba', 'bc')": ['bcb'] - }) - }) - - it('supports contrib aggregate functions', async function () { - const actual = await db.execute(` - WITH RECURSIVE series(x) AS ( - SELECT 1 - UNION ALL - SELECT x + 1 - FROM series - WHERE x + 1 <= 12 - ) - SELECT - abs( 3.77406806 - stdev(x)) < 0.000001, - abs(14.24358974 - variance(x)) < 0.000001, - mode(x), - median(x), - lower_quartile(x), - upper_quartile(x) - FROM ( - SELECT x - FROM series - UNION ALL - VALUES (1) - ) - `) - expect(actual.values).to.eql({ - 'abs( 3.77406806 - stdev(x)) < 0.000001': [1], - 'abs(14.24358974 - variance(x)) < 0.000001': [1], - 'mode(x)': [1], - 'median(x)': [6], - 'lower_quartile(x)': [3], - 'upper_quartile(x)': [9] - }) - }) - - it('supports generate_series', async function () { - const actual = await db.execute(` - SELECT value - FROM generate_series(5, 20, 5) - `) - expect(actual.values).to.eql({ - value: [5, 10, 15, 20] - }) - }) - - it('supports transitive_closure', async function () { - const actual = await db.execute(` - CREATE TABLE node( - node_id INTEGER NOT NULL PRIMARY KEY, - parent_id INTEGER, - name VARCHAR(127), - FOREIGN KEY (parent_id) REFERENCES node(node_id) - ); - CREATE INDEX node_parent_id_idx ON node(parent_id); - - CREATE VIRTUAL TABLE node_closure USING transitive_closure( - tablename = "node", - idcolumn = "node_id", - parentcolumn = "parent_id" - ); - - INSERT INTO node VALUES - (1, NULL, 'tests'), - (2, 1, 'lib'), - (3, 2, 'database'), - (4, 2, 'utils'), - (5, 2, 'storedQueries.spec.js'), - (6, 3, '_sql.spec.js'), - (7, 3, '_statements.spec.js'), - (8, 3, 'database.spec.js'), - (9, 3, 'sqliteExtensions.spec.js'), - (10, 4, 'fileIo.spec.js'), - (11, 4, 'time.spec.js'); - - SELECT name - FROM node - WHERE node_id IN ( - SELECT nc.id - FROM node_closure AS nc - WHERE nc.root = 2 AND nc.depth = 2 - ); - `) - expect(actual.values).to.eql({ - name: [ - '_sql.spec.js', - '_statements.spec.js', - 'database.spec.js', - 'sqliteExtensions.spec.js', - 'fileIo.spec.js', - 'time.spec.js' - ] - }) - }) - - it('supports UUID functions', async function () { - const actual = await db.execute(` - SELECT - length(uuid()) as length, - uuid_str(uuid_blob('26a8349c8a7f4cbeb519bf792c3d7ac6')) as uid - `) - expect(actual.values).to.eql({ - length: [36], - uid: ['26a8349c-8a7f-4cbe-b519-bf792c3d7ac6'] - }) - }) - - it('supports regexp', async function () { - const actual = await db.execute(` - SELECT - regexp('=\\s?\\d+', 'const foo = 123; const bar = "bar"') as one, - regexpi('=\\s?\\d+', 'const foo = 123; const bar = "bar"') as two, - 'const foo = 123; const bar = "bar"' REGEXP '=\\s?\\d+' as three - `) - expect(actual.values).to.eql({ - one: [1], - two: [1], - three: [1] - }) - }) - - it('supports pivot virtual table', async function () { - const actual = await db.execute(` - CREATE TABLE point(x REAL, y REAL, z REAL); - INSERT INTO point VALUES - (5,3,3.2), (5,6,4.3), (5,9,5.4), - (10,3,4), (10,6,3.8), (10,9,3.6), - (15,3,4.8), (15,6,4), (15,9,3.5); - - CREATE VIRTUAL TABLE pivot USING pivot_vtab( - (SELECT y FROM point GROUP BY y), - (SELECT x, x FROM point GROUP BY x), - (SELECT z FROM point WHERE y = :y AND x = :x) - ); - - CREATE TEMPORARY TABLE surface AS - SELECT xt.x, p.* - FROM ( - SELECT row_number() OVER () rownum, * - FROM pivot - ) p - JOIN ( - SELECT row_number() OVER () rownum, x - FROM point - GROUP BY x - ) xt USING(rownum); - ALTER TABLE surface DROP COLUMN rownum; - SELECT * FROM surface; - `) - expect(actual.values).to.eql({ - x: [5, 10, 15], - y: [3, 6, 9], - '5.0': [3.2, 4.3, 5.4], - '10.0': [4, 3.8, 3.6], - '15.0': [4.8, 4, 3.5] - }) - }) - - it('supports percentile', async function () { - const actual = await db.execute(` - CREATE TABLE s(x INTEGER); - INSERT INTO s VALUES (15), (20), (35), (40), (50); - - SELECT - percentile(x, 5) p5, - percentile(x, 30) p30, - percentile(x, 40) p40, - percentile(x, 50) p50, - percentile(x, 100) p100 - FROM s; - `) - expect(actual.values).to.eql({ - p5: [16], - p30: [23], - p40: [29], - p50: [35], - p100: [50] - }) - }) - - it('supports decimal', async function () { - const actual = await db.execute(` - select - decimal_add(decimal('0.1'), decimal('0.2')) "add", - decimal_sub(0.2, 0.1) sub, - decimal_mul(power(2, 69), 2) mul, - decimal_cmp(decimal('0.1'), 0.1) cmp_e, - decimal_cmp(decimal('0.1'), decimal('0.099999')) cmp_g, - decimal_cmp(decimal('0.199999'), decimal('0.2')) cmp_l - `) - expect(actual.values).to.eql({ - add: ['0.3'], - sub: ['0.1'], - mul: ['1180591620717412000000'], - cmp_e: [0], - cmp_g: [1], - cmp_l: [-1] - }) - }) - - it('supports FTS5', async function () { - const actual = await db.execute(` - CREATE VIRTUAL TABLE email USING fts5(sender, title, body, tokenize = 'porter ascii'); - - INSERT INTO email VALUES - ( - 'foo@localhost', - 'fts3/4', - 'FTS3 and FTS4 are SQLite virtual table modules that allows users to perform ' - || 'full-text searches on a set of documents.' - ), - ( - 'bar@localhost', - 'fts4', - 'FTS5 is an SQLite virtual table module that provides full-text search ' - || 'functionality to database applications.' - ); - - SELECT sender - FROM email - WHERE body MATCH '"full-text" NOT document' - ORDER BY rank; - `) - expect(actual.values).to.eql({ - sender: ['bar@localhost'] - }) - }) - - it('supports FTS3', async function () { - const actual = await db.execute(` - CREATE VIRTUAL TABLE email USING fts3(sender, title, body, tokenize = 'porter'); - - INSERT INTO email VALUES - ( - 'foo@localhost', - 'fts3/4', - 'FTS3 and FTS4 are SQLite virtual table modules that allows users to perform ' - || 'full-text searches on a set of documents.' - ), - ( - 'bar@localhost', - 'fts4', - 'FTS5 is an SQLite virtual table module that provides full-text search ' - || 'functionality to database applications.' - ); - - SELECT sender - FROM email - WHERE body MATCH '("full-text" NOT document AND (functionality OR table))'; - `) - expect(actual.values).to.eql({ - sender: ['bar@localhost'] - }) - }) - - it('supports FTS4', async function () { - const actual = await db.execute(` - CREATE VIRTUAL TABLE email USING fts4( - sender, title, body, notindexed=sender, tokenize='simple' - ); - - INSERT INTO email VALUES - ( - 'foo@localhost', - 'fts3/4', - 'FTS3 and FTS4 are SQLite virtual table modules that allows users to perform ' - || 'full-text searches on a set of documents.' - ), - ( - 'bar@localhost', - 'fts4', - 'FTS5 is an SQLite virtual table module that provides full-text search ' - || 'functionality to database applications.' - ); - - SELECT sender - FROM email - WHERE body MATCH '("full-text" NOT document AND (functionality OR table NOT modules))'; - `) - expect(actual.values).to.eql({ - sender: ['bar@localhost'] - }) - }) - - it('supports JSON1', async function () { - const actual = await db.execute(` - WITH input(filename) AS ( - VALUES - ('/etc/redis/redis.conf'), - ('/run/redis/redis-server.pid'), - ('/var/log/redis-server.log') - ), tmp AS ( - SELECT - filename, - '["' || replace(filename, '/', '", "') || '"]' as filename_array - FROM input - ) - SELECT ( - SELECT group_concat(ip.value, '/') - FROM json_each(filename_array) ip - WHERE ip.id <= p.id - ) AS path - FROM tmp, json_each(filename_array) AS p - WHERE p.id > 1 -- because the filenames start with the separator - `) - expect(actual.values).to.eql({ - path: [ - '/etc', - '/etc/redis', - '/etc/redis/redis.conf', - '/run', - '/run/redis', - '/run/redis/redis-server.pid', - '/var', - '/var/log', - '/var/log/redis-server.log' - ] - }) - }) -}) diff --git a/tests/lib/storedInquiries/_migrations.spec.js b/tests/lib/storedInquiries/_migrations.spec.js deleted file mode 100644 index 1b0419d..0000000 --- a/tests/lib/storedInquiries/_migrations.spec.js +++ /dev/null @@ -1,42 +0,0 @@ -import { expect } from 'chai' -import migrations from '@/lib/storedInquiries/_migrations' - -describe('_migrations.js', () => { - it('migrates from version 1 to the current', () => { - const oldInquiries = [ - { - id: '123', - name: 'foo', - query: 'SELECT * FROM foo', - chart: { here_are: 'foo chart settings' }, - createdAt: '2021-05-06T11:05:50.877Z' - }, - { - id: '456', - name: 'bar', - query: 'SELECT * FROM bar', - chart: { here_are: 'bar chart settings' }, - createdAt: '2021-05-07T11:05:50.877Z' - } - ] - - expect(migrations._migrate(1, oldInquiries)).to.eql([ - { - id: '123', - name: 'foo', - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: { here_are: 'foo chart settings' }, - createdAt: '2021-05-06T11:05:50.877Z' - }, - { - id: '456', - name: 'bar', - query: 'SELECT * FROM bar', - viewType: 'chart', - viewOptions: { here_are: 'bar chart settings' }, - createdAt: '2021-05-07T11:05:50.877Z' - } - ]) - }) -}) diff --git a/tests/lib/storedInquiries/storedInquiries.spec.js b/tests/lib/storedInquiries/storedInquiries.spec.js deleted file mode 100644 index 75f3a62..0000000 --- a/tests/lib/storedInquiries/storedInquiries.spec.js +++ /dev/null @@ -1,432 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import storedInquiries from '@/lib/storedInquiries' -import fu from '@/lib/utils/fileIo' - -describe('storedInquiries.js', () => { - beforeEach(() => { - localStorage.removeItem('myInquiries') - localStorage.removeItem('myQueries') - }) - - afterEach(() => { - sinon.restore() - }) - - it('getStoredInquiries returns emplty array when storage is empty', () => { - const inquiries = storedInquiries.getStoredInquiries() - expect(inquiries).to.eql([]) - }) - - it('getStoredInquiries migrate and returns inquiries of v1', () => { - localStorage.setItem('myQueries', JSON.stringify([ - { - id: '123', - name: 'foo', - query: 'SELECT * FROM foo', - chart: { here_are: 'foo chart settings' } - }, - { - id: '456', - name: 'bar', - query: 'SELECT * FROM bar', - chart: { here_are: 'bar chart settings' } - } - ])) - const inquiries = storedInquiries.getStoredInquiries() - expect(inquiries).to.eql([ - { - id: '123', - name: 'foo', - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: { here_are: 'foo chart settings' } - }, - { - id: '456', - name: 'bar', - query: 'SELECT * FROM bar', - viewType: 'chart', - viewOptions: { here_are: 'bar chart settings' } - } - ]) - }) - - it('updateStorage and getStoredInquiries', () => { - const data = [ - { id: 1 }, - { id: 2 } - ] - storedInquiries.updateStorage(data) - const inquiries = storedInquiries.getStoredInquiries() - expect(inquiries).to.eql(data) - }) - - it('duplicateInquiry', () => { - const now = new Date() - const nowPlusMinute = new Date(now.getTime() + 60 * 1000) - const base = { - id: 1, - name: 'foo', - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: [], - createdAt: new Date(2021, 0, 1), - isPredefined: true - } - - const copy = storedInquiries.duplicateInquiry(base) - expect(copy).to.have.property('id').which.not.equal(base.id) - expect(copy).to.have.property('name').which.equal(base.name + ' Copy') - expect(copy).to.have.property('query').which.equal(base.query) - expect(copy).to.have.property('viewType').which.equal(base.viewType) - expect(copy).to.have.property('viewOptions').which.eql(base.viewOptions) - expect(copy).to.have.property('createdAt').which.within(now, nowPlusMinute) - expect(copy).to.not.have.property('isPredefined') - }) - - it('isTabNeedName returns false when the inquiry has a name and is not predefined', () => { - const tab = { - initName: 'foo' - } - expect(storedInquiries.isTabNeedName(tab)).to.equal(false) - }) - - it('isTabNeedName returns true when the inquiry has no name and is not predefined', () => { - const tab = { - initName: null, - tempName: 'Untitled' - } - expect(storedInquiries.isTabNeedName(tab)).to.equal(true) - }) - - it('isTabNeedName returns true when the inquiry is predefined', () => { - const tab = { - initName: 'foo', - isPredefined: true - } - - expect(storedInquiries.isTabNeedName(tab)).to.equal(true) - }) - - it('serialiseInquiries', () => { - const inquiryList = [ - { - id: 1, - name: 'foo', - query: 'SELECT from foo', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T14:17:49.524Z', - isPredefined: true - }, - { - id: 2, - name: 'bar', - query: 'SELECT from bar', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-12-03T14:17:49.524Z' - } - ] - - const str = storedInquiries.serialiseInquiries(inquiryList) - const parsedJson = JSON.parse(str) - - expect(parsedJson.version).to.equal(2) - expect(parsedJson.inquiries).to.have.lengthOf(2) - expect(parsedJson.inquiries[1]).to.eql(inquiryList[1]) - expect(parsedJson.inquiries[0]).to.eql({ - id: 1, - name: 'foo', - query: 'SELECT from foo', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T14:17:49.524Z' - }) - }) - - it('deserialiseInquiries migrates inquiries', () => { - const str = `[ - { - "id": 1, - "name": "foo", - "query": "select * from foo", - "chart": [], - "createdAt": "2020-11-03T14:17:49.524Z" - }, - { - "id": 2, - "name": "bar", - "query": "select * from bar", - "chart": [], - "createdAt": "2020-11-04T14:17:49.524Z" - } - ]` - - const inquiry = storedInquiries.deserialiseInquiries(str) - expect(inquiry).to.eql([ - { - id: 1, - name: 'foo', - query: 'select * from foo', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T14:17:49.524Z' - }, - { - id: 2, - name: 'bar', - query: 'select * from bar', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-04T14:17:49.524Z' - } - ]) - }) - - it('deserialiseInquiries return array for one inquiry of v1', () => { - const str = ` - { - "id": 1, - "name": "foo", - "query": "select * from foo", - "chart": [], - "createdAt": "2020-11-03T14:17:49.524Z" - } - ` - - const inquiry = storedInquiries.deserialiseInquiries(str) - expect(inquiry).to.eql([{ - id: 1, - name: 'foo', - query: 'select * from foo', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T14:17:49.524Z' - }]) - }) - - it('deserialiseInquiries generates new id to avoid duplication', () => { - storedInquiries.updateStorage([{ id: 1 }]) - const str = `{ - "version": 2, - "inquiries": [ - { - "id": 1, - "name": "foo", - "query": "select * from foo", - "viewType": "chart", - "viewOptions": [], - "createdAt": "2020-11-03T14:17:49.524Z" - }, - { - "id": 2, - "name": "bar", - "query": "select * from bar", - "viewType": "chart", - "viewOptions": [], - "createdAt": "2020-11-04T14:17:49.524Z" - } - ] - }` - - const inquiries = storedInquiries.deserialiseInquiries(str) - const parsedStr = JSON.parse(str) - expect(inquiries[1]).to.eql(parsedStr.inquiries[1]) - expect(inquiries[0].id).to.not.equal(parsedStr.inquiries[0].id) - expect(inquiries[0].id).to.not.equal(parsedStr.inquiries[0].id) - expect(inquiries[0].name).to.equal(parsedStr.inquiries[0].name) - expect(inquiries[0].query).to.equal(parsedStr.inquiries[0].query) - expect(inquiries[0].viewType).to.equal(parsedStr.inquiries[0].viewType) - expect(inquiries[0].viewOptions).to.eql(parsedStr.inquiries[0].viewOptions) - expect(inquiries[0].createdAt).to.equal(parsedStr.inquiries[0].createdAt) - }) - - it('importInquiries v1', async () => { - const str = ` - { - "id": 1, - "name": "foo", - "query": "select * from foo", - "chart": [], - "createdAt": "2020-11-03T14:17:49.524Z" - } - ` - sinon.stub(fu, 'importFile').returns(Promise.resolve(str)) - const inquiries = await storedInquiries.importInquiries() - - expect(inquiries).to.eql([{ - id: 1, - name: 'foo', - query: 'select * from foo', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T14:17:49.524Z' - }]) - }) - - it('importInquiries', async () => { - const str = `{ - "version": 2, - "inquiries": [{ - "id": 1, - "name": "foo", - "query": "select * from foo", - "viewType": "chart", - "viewOptions": [], - "createdAt": "2020-11-03T14:17:49.524Z" - }] - }` - sinon.stub(fu, 'importFile').returns(Promise.resolve(str)) - const inquiries = await storedInquiries.importInquiries() - - expect(inquiries).to.eql([{ - id: 1, - name: 'foo', - query: 'select * from foo', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T14:17:49.524Z' - }]) - }) - - it('readPredefinedInquiries old', async () => { - const str = `[ - { - "id": 1, - "name": "foo", - "query": "select * from foo", - "chart": [], - "createdAt": "2020-11-03T14:17:49.524Z" - }] - ` - sinon.stub(fu, 'readFile').returns(Promise.resolve(new Response(str))) - const inquiries = await storedInquiries.readPredefinedInquiries() - expect(fu.readFile.calledOnceWith('./inquiries.json')).to.equal(true) - expect(inquiries).to.eql([ - { - id: 1, - name: 'foo', - query: 'select * from foo', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T14:17:49.524Z' - }]) - }) - - it('readPredefinedInquiries', async () => { - const str = `{ - "version": 2, - "inquiries": [ - { - "id": 1, - "name": "foo", - "query": "select * from foo", - "viewType": "chart", - "viewOptions": [], - "createdAt": "2020-11-03T14:17:49.524Z" - }] - } - ` - sinon.stub(fu, 'readFile').returns(Promise.resolve(new Response(str))) - const inquiries = await storedInquiries.readPredefinedInquiries() - expect(fu.readFile.calledOnceWith('./inquiries.json')).to.equal(true) - expect(inquiries).to.eql([ - { - id: 1, - name: 'foo', - query: 'select * from foo', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T14:17:49.524Z' - }]) - }) - - it('save adds new inquiry in the storage', () => { - const now = new Date() - const nowPlusMinute = new Date(now.getTime() + 60 * 1000) - const tab = { - id: 1, - query: 'select * from foo', - viewType: 'chart', - viewOptions: [], - initName: null, - $refs: { - dataView: { - getOptionsForSave () { - return ['chart'] - } - } - } - } - const value = storedInquiries.save(tab, 'foo') - expect(value.id).to.equal(tab.id) - expect(value.name).to.equal('foo') - expect(value.query).to.equal(tab.query) - expect(value.viewOptions).to.eql(['chart']) - expect(value).to.have.property('createdAt').which.within(now, nowPlusMinute) - const inquiries = storedInquiries.getStoredInquiries() - expect(JSON.stringify(inquiries)).to.equal(JSON.stringify([value])) - }) - - it('save updates existing inquiry in the storage', () => { - const tab = { - id: 1, - query: 'select * from foo', - viewType: 'chart', - viewOptions: [], - initName: null, - $refs: { - dataView: { - getOptionsForSave () { - return ['chart'] - } - } - } - } - - const first = storedInquiries.save(tab, 'foo') - - tab.initName = 'foo' - tab.query = 'select * from foo' - storedInquiries.save(tab) - const inquiries = storedInquiries.getStoredInquiries() - const second = inquiries[0] - expect(inquiries).has.lengthOf(1) - expect(second.id).to.equal(first.id) - expect(second.name).to.equal(first.name) - expect(second.query).to.equal(tab.query) - expect(second.viewOptions).to.eql(['chart']) - expect(new Date(second.createdAt).getTime()).to.equal(first.createdAt.getTime()) - }) - - it("save adds a new inquiry with new id if it's based on predefined inquiry", () => { - const now = new Date() - const nowPlusMinute = new Date(now.getTime() + 60 * 1000) - const tab = { - id: 1, - query: 'select * from foo', - viewType: 'chart', - viewOptions: [], - initName: 'foo predefined', - $refs: { - dataView: { - getOptionsForSave () { - return ['chart'] - } - } - }, - isPredefined: true - } - storedInquiries.save(tab, 'foo') - - const inquiries = storedInquiries.getStoredInquiries() - expect(inquiries).has.lengthOf(1) - expect(inquiries[0]).to.have.property('id').which.not.equal(tab.id) - expect(inquiries[0].name).to.equal('foo') - expect(inquiries[0].query).to.equal(tab.query) - expect(inquiries[0].viewOptions).to.eql(['chart']) - expect(new Date(inquiries[0].createdAt)).to.be.within(now, nowPlusMinute) - }) -}) diff --git a/tests/lib/utils/clipboardIo.spec.js b/tests/lib/utils/clipboardIo.spec.js deleted file mode 100644 index 3a61d57..0000000 --- a/tests/lib/utils/clipboardIo.spec.js +++ /dev/null @@ -1,30 +0,0 @@ -import { expect } from 'chai' -import cIo from '@/lib/utils/clipboardIo' -import sinon from 'sinon' - -describe('clipboardIo.js', async () => { - afterEach(() => { - sinon.restore() - }) - - it('copyCsv', async () => { - sinon.stub(navigator.clipboard, 'writeText').resolves(true) - await cIo.copyCsv('id\tname\r\n1\t2') - expect(navigator.clipboard.writeText.calledOnceWith('id\tname\r\n1\t2')) - }) - - it('copyImage for canvas calls _copyCanvas', async () => { - sinon.stub(cIo, '_copyCanvas').resolves(true) - const canvas = document.createElement('canvas') - - await cIo.copyImage(canvas) - expect(cIo._copyCanvas.calledOnceWith(canvas)) - }) - - it('copyImage for dataUrl calls _copyFromDataUrl', async () => { - sinon.stub(cIo, '_copyFromDataUrl').resolves(true) - const url = document.createElement('canvas').toDataURL() - await cIo.copyImage(url) - expect(cIo._copyFromDataUrl.calledOnceWith(url)) - }) -}) diff --git a/tests/lib/utils/fileIo.spec.js b/tests/lib/utils/fileIo.spec.js deleted file mode 100644 index 2e12b8f..0000000 --- a/tests/lib/utils/fileIo.spec.js +++ /dev/null @@ -1,136 +0,0 @@ -import { expect } from 'chai' -import fIo from '@/lib/utils/fileIo' -import sinon from 'sinon' - -describe('fileIo.js', () => { - afterEach(() => { - sinon.restore() - }) - - it('exportToFile (octet/stream by default)', () => { - const spyAnchor = document.createElement('a') - sinon.spy(spyAnchor, 'click') - sinon.stub(document, 'createElement').returns(spyAnchor) - sinon.spy(URL, 'createObjectURL') - sinon.spy(URL, 'revokeObjectURL') - sinon.spy(window, 'Blob') - - fIo.exportToFile('foo', 'foo.txt') - - expect(document.createElement.calledOnceWith('a')).to.equal(true) - - expect(window.Blob.calledOnceWith(['foo'], { type: 'octet/stream' })).to.equal(true) - const blob = window.Blob.returnValues[0] - expect(URL.createObjectURL.calledOnceWith(blob)).to.equal(true) - - const url = URL.createObjectURL.returnValues[0] - expect(spyAnchor.href).to.equal(url) - - expect(spyAnchor.download).to.equal('foo.txt') - - expect(spyAnchor.click.calledOnce).to.equal(true) - expect(URL.revokeObjectURL.calledOnceWith(url)).to.equal(true) - }) - - it('exportToFile', () => { - const spyAnchor = document.createElement('a') - sinon.spy(spyAnchor, 'click') - sinon.stub(document, 'createElement').returns(spyAnchor) - sinon.spy(URL, 'createObjectURL') - sinon.spy(URL, 'revokeObjectURL') - sinon.spy(window, 'Blob') - - fIo.exportToFile('foo', 'foo.html', 'text/html') - - expect(document.createElement.calledOnceWith('a')).to.equal(true) - - expect(window.Blob.calledOnceWith(['foo'], { type: 'text/html' })).to.equal(true) - const blob = window.Blob.returnValues[0] - expect(URL.createObjectURL.calledOnceWith(blob)).to.equal(true) - - const url = URL.createObjectURL.returnValues[0] - expect(spyAnchor.href).to.equal(url) - - expect(spyAnchor.download).to.equal('foo.html') - - expect(spyAnchor.click.calledOnce).to.equal(true) - expect(URL.revokeObjectURL.calledOnceWith(url)).to.equal(true) - }) - - it('importFile', async () => { - const spyInput = document.createElement('input') - sinon.stub(spyInput, 'click') - - const blob = new Blob(['foo']) - Object.defineProperty(spyInput, 'files', { - value: [blob], - writable: false - }) - - sinon.stub(document, 'createElement').returns(spyInput) - - setTimeout(() => { spyInput.dispatchEvent(new Event('change')) }) - - const data = await fIo.importFile() - expect(data).to.equal('foo') - expect(document.createElement.calledOnceWith('input')).to.equal(true) - expect(spyInput.type).to.equal('file') - expect(spyInput.accept).to.equal('.json') - expect(spyInput.click.calledOnce).to.equal(true) - }) - - it('readFile', () => { - sinon.spy(window, 'fetch') - - fIo.readFile('./foo.bar') - expect(window.fetch.calledOnceWith('./foo.bar')).to.equal(true) - }) - - it('readAsArrayBuffer resolves', async () => { - const blob = new Blob(['foo']) - const buffer = await fIo.readAsArrayBuffer(blob) - - const uint8Array = new Uint8Array(buffer) - const text = new TextDecoder().decode(uint8Array) - expect(text).to.equal('foo') - }) - - it('readAsArrayBuffer rejects', async () => { - const r = new FileReader() - r.readAsArrayBuffer = () => { - r.dispatchEvent(new Event('error')) - } - sinon.stub(window, 'FileReader').returns(r) - - const blob = new Blob(['foo']) - await expect(fIo.readAsArrayBuffer(blob)).to.be.rejectedWith('Problem parsing input file.') - }) - - it('isDatabase', () => { - let file = { type: 'application/vnd.sqlite3' } - expect(fIo.isDatabase(file)).to.equal(true) - - file = { type: 'application/x-sqlite3' } - expect(fIo.isDatabase(file)).to.equal(true) - - file = { type: '', name: 'test.db' } - expect(fIo.isDatabase(file)).to.equal(true) - - file = { type: '', name: 'test.sqlite' } - expect(fIo.isDatabase(file)).to.equal(true) - - file = { type: '', name: 'test.sqlite3' } - expect(fIo.isDatabase(file)).to.equal(true) - - file = { type: '', name: 'test.csv' } - expect(fIo.isDatabase(file)).to.equal(false) - - file = { type: 'text', name: 'test.db' } - expect(fIo.isDatabase(file)).to.equal(false) - }) - - it('getFileName', () => { - expect(fIo.getFileName({ name: 'foo.csv' })).to.equal('foo') - expect(fIo.getFileName({ name: 'foo.bar.db' })).to.equal('foo.bar') - }) -}) diff --git a/tests/lib/utils/time.spec.js b/tests/lib/utils/time.spec.js deleted file mode 100644 index eb78322..0000000 --- a/tests/lib/utils/time.spec.js +++ /dev/null @@ -1,40 +0,0 @@ -import { expect } from 'chai' -import time from '@/lib/utils/time' - -describe('time.js', () => { - it('getPeriod', () => { - // 1.01.2021 13:00:00 000 - let start = new Date(2021, 0, 1, 13, 0, 0, 0) - - // 1.01.2021 13:01:00 500 - let end = new Date(2021, 0, 1, 13, 1, 0, 500) - - expect(time.getPeriod(start, end)).to.equal('60.500s') - - // 1.01.2021 13:00:00 000 - start = new Date(2021, 0, 1, 13, 0, 0, 0) - - // 1.01.2021 13:00:20 500 - end = new Date(2021, 0, 1, 13, 0, 20, 500) - - expect(time.getPeriod(start, end)).to.equal('20.500s') - - // 1.01.2021 13:00:00 000 - start = new Date(2021, 0, 1, 13, 0, 0, 0) - - // 1.01.2021 13:00:00 45 - end = new Date(2021, 0, 1, 13, 0, 0, 45) - - expect(time.getPeriod(start, end)).to.equal('0.045s') - }) - - it('sleep resolves after n ms', async () => { - let before = performance.now() - await time.sleep(10) - expect(performance.now() - before).to.be.least(10) - - before = performance.now() - await time.sleep(30) - expect(performance.now() - before).to.be.least(30) - }) -}) diff --git a/tests/store/actions.spec.js b/tests/store/actions.spec.js deleted file mode 100644 index dc23d2d..0000000 --- a/tests/store/actions.spec.js +++ /dev/null @@ -1,85 +0,0 @@ -import { expect } from 'chai' -import actions from '@/store/actions' - -const { addTab } = actions - -describe('actions', () => { - it('addTab adds new blank tab', async () => { - const state = { - tabs: [], - untitledLastIndex: 0 - } - - let id = await addTab({ state }) - expect(state.tabs[0]).to.eql({ - id: id, - name: null, - tempName: 'Untitled', - viewType: 'chart', - viewOptions: undefined, - isSaved: false - }) - expect(state.untitledLastIndex).to.equal(1) - - id = await addTab({ state }) - expect(state.tabs[1]).to.eql({ - id: id, - name: null, - tempName: 'Untitled 1', - viewType: 'chart', - viewOptions: undefined, - isSaved: false - }) - expect(state.untitledLastIndex).to.equal(2) - }) - - it('addTab adds tab from saved inquiries', async () => { - const state = { - tabs: [], - untitledLastIndex: 0 - } - const tab = { - id: 1, - name: 'test', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - await addTab({ state }, tab) - expect(state.tabs[0]).to.eql(tab) - expect(state.untitledLastIndex).to.equal(0) - }) - - it("addTab doesn't add anything when the inquiry is already opened", async () => { - const tab1 = { - id: 1, - name: 'test', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const tab2 = { - id: 2, - name: 'bar', - tempName: null, - query: 'SELECT * from bar', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const state = { - tabs: [tab1, tab2], - untitledLastIndex: 0 - } - - await addTab({ state }, tab1) - expect(state.tabs).to.have.lengthOf(2) - expect(state.untitledLastIndex).to.equal(0) - }) -}) diff --git a/tests/store/mutations.spec.js b/tests/store/mutations.spec.js deleted file mode 100644 index cd4bb00..0000000 --- a/tests/store/mutations.spec.js +++ /dev/null @@ -1,380 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import mutations from '@/store/mutations' -const { - updateTab, - deleteTab, - setCurrentTabId, - setCurrentTab, - updatePredefinedInquiries, - setDb -} = mutations - -describe('mutations', () => { - it('setDb', () => { - const state = { - db: { shutDown: sinon.spy() } - } - - const oldDb = state.db - const db = {} - setDb(state, db) - expect(state.db).to.equal(db) - expect(oldDb.shutDown.calledOnce).to.equal(true) - }) - - it('updateTab - save', () => { - const tab = { - id: 1, - name: 'test', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: { here_are: 'chart settings' }, - isSaved: false, - isPredefined: false - } - - const newTab = { - index: 0, - id: 1, - name: 'new test', - query: 'SELECT * from bar', - viewType: 'pivot', - viewOptions: { here_are: 'pivot settings' }, - isSaved: true - } - - const state = { - tabs: [tab] - } - - updateTab(state, newTab) - expect(state.tabs[0]).to.eql({ - id: 1, - name: 'new test', - tempName: null, - query: 'SELECT * from bar', - viewType: 'pivot', - viewOptions: { here_are: 'pivot settings' }, - isSaved: true - }) - }) - - it('updateTab - save predefined', () => { - const tab = { - id: 1, - name: 'test', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: {}, - isSaved: false, - isPredefined: true - } - - const newTab = { - index: 0, - id: 2, - name: 'new test', - query: 'SELECT * from bar', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const state = { - tabs: [tab], - currentTabId: 1 - } - - updateTab(state, newTab) - expect(state.tabs).to.have.lengthOf(1) - expect(state.currentTabId).to.equal(2) - expect(state.tabs[0].id).to.equal(2) - expect(state.tabs[0].name).to.equal('new test') - expect(state.tabs[0].query).to.equal('SELECT * from bar') - expect(state.tabs[0].isSaved).to.equal(true) - expect(state.tabs[0].isPredefined).to.equal(undefined) - }) - - it('updateTab - rename', () => { - const tab = { - id: 1, - name: 'test', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: {}, - isSaved: false - } - - const newTab = { - index: 0, - id: 1, - name: 'new test' - } - - const state = { - tabs: [tab] - } - - updateTab(state, newTab) - expect(state.tabs).to.have.lengthOf(1) - expect(state.tabs[0].id).to.equal(1) - expect(state.tabs[0].name).to.equal('new test') - expect(state.tabs[0].query).to.equal('SELECT * from foo') - expect(state.tabs[0].isSaved).to.equal(false) - }) - - it('updateTab - changes detected', () => { - const tab = { - id: 1, - name: 'test', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: {}, - isSaved: true, - isPredefined: true - } - - const newTab = { - index: 0, - isSaved: false - } - - const state = { - tabs: [tab] - } - - updateTab(state, newTab) - expect(state.tabs).to.have.lengthOf(1) - expect(state.tabs[0].id).to.equal(1) - expect(state.tabs[0].name).to.equal('test') - expect(state.tabs[0].query).to.equal('SELECT * from foo') - expect(state.tabs[0].isSaved).to.equal(false) - }) - - it('deleteTab - opened, first', () => { - const tab1 = { - id: 1, - name: 'foo', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const tab2 = { - id: 2, - name: 'bar', - tempName: null, - query: 'SELECT * from bar', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const state = { - tabs: [tab1, tab2], - currentTabId: 1 - } - - deleteTab(state, 0) - expect(state.tabs).to.have.lengthOf(1) - expect(state.tabs[0].id).to.equal(2) - expect(state.currentTabId).to.equal(2) - }) - - it('deleteTab - opened, last', () => { - const tab1 = { - id: 1, - name: 'foo', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const tab2 = { - id: 2, - name: 'bar', - tempName: null, - query: 'SELECT * from bar', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const state = { - tabs: [tab1, tab2], - currentTabId: 2 - } - - deleteTab(state, 1) - expect(state.tabs).to.have.lengthOf(1) - expect(state.tabs[0].id).to.equal(1) - expect(state.currentTabId).to.equal(1) - }) - - it('deleteTab - opened, in the middle', () => { - const tab1 = { - id: 1, - name: 'foo', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const tab2 = { - id: 2, - name: 'bar', - tempName: null, - query: 'SELECT * from bar', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const tab3 = { - id: 3, - name: 'foobar', - tempName: null, - query: 'SELECT * from foobar', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const state = { - tabs: [tab1, tab2, tab3], - currentTabId: 2 - } - - deleteTab(state, 1) - expect(state.tabs).to.have.lengthOf(2) - expect(state.tabs[0].id).to.equal(1) - expect(state.tabs[1].id).to.equal(3) - expect(state.currentTabId).to.equal(3) - }) - - it('deleteTab - opened, single', () => { - const tab1 = { - id: 1, - name: 'foo', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const state = { - tabs: [tab1], - currentTabId: 1 - } - - deleteTab(state, 0) - expect(state.tabs).to.have.lengthOf(0) - expect(state.currentTabId).to.equal(null) - }) - - it('deleteTab - not opened', () => { - const tab1 = { - id: 1, - name: 'foo', - tempName: null, - query: 'SELECT * from foo', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const tab2 = { - id: 2, - name: 'bar', - tempName: null, - query: 'SELECT * from bar', - viewType: 'chart', - viewOptions: {}, - isSaved: true - } - - const state = { - tabs: [tab1, tab2], - currentTabId: 1 - } - - deleteTab(state, 1) - expect(state.tabs).to.have.lengthOf(1) - expect(state.tabs[0].id).to.equal(1) - expect(state.currentTabId).to.equal(1) - }) - - it('setCurrentTabId', () => { - const state = { - currentTabId: 1 - } - - setCurrentTabId(state, 2) - expect(state.currentTabId).to.equal(2) - }) - - it('setCurrentTab', () => { - const state = { - currentTab: { id: 1 } - } - - setCurrentTab(state, { id: 2 }) - expect(state.currentTab).to.eql({ id: 2 }) - }) - - it('updatePredefinedInquiries - single', () => { - const inquiry = { - id: 1, - name: 'foo', - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: {}, - createdAt: '2020-11-07T20:57:04.492Z' - } - - const state = { - predefinedInquiries: [] - } - - updatePredefinedInquiries(state, inquiry) - expect(state.predefinedInquiries).to.eql([inquiry]) - }) - - it('updatePredefinedInquiries - array', () => { - const inquiries = [{ - id: 1, - name: 'foo', - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: {}, - createdAt: '2020-11-07T20:57:04.492Z' - }, - { - id: 2, - name: 'bar', - query: 'SELECT * FROM bar', - viewType: 'chart', - viewOptions: {}, - createdAt: '2020-11-07T20:57:04.492Z' - }] - - const state = { - predefinedInquiries: [] - } - - updatePredefinedInquiries(state, inquiries) - expect(state.predefinedInquiries).to.eql(inquiries) - }) -}) diff --git a/tests/tooltipMixin.spec.js b/tests/tooltipMixin.spec.js deleted file mode 100644 index 49c623d..0000000 --- a/tests/tooltipMixin.spec.js +++ /dev/null @@ -1,119 +0,0 @@ -import { expect } from 'chai' -import { mount } from '@vue/test-utils' -import tooltipMixin from '@/tooltipMixin' - -describe('tooltipMixin.js', () => { - let container - beforeEach(() => { - container = document.createElement('div') - document.body.appendChild(container) - }) - - afterEach(() => { - container.remove() - }) - - it('tooltip is hidden in initial', () => { - const component = { - template: '
', - mixins: [tooltipMixin] - } - const wrapper = mount(component) - expect(wrapper.find('div').isVisible()).to.equal(false) - }) - - it('tooltipStyle is correct when showTooltip: top-right', async () => { - const component = { - template: '
', - mixins: [tooltipMixin] - } - - const wrapper = mount(component, { attachTo: container }) - - // by default top-right - await wrapper.vm.showTooltip(new MouseEvent('mouseenter', { - clientX: 10, - clientY: 20 - })) - expect(wrapper.vm.tooltipStyle).to.eql({ - visibility: 'visible', - top: '8px', - left: '22px' - }) - expect(wrapper.find('div').isVisible()).to.equal(true) - }) - - it('tooltipStyle is correct when showTooltip: top-left', async () => { - const component = { - template: '
', - mixins: [tooltipMixin] - } - const wrapper = mount(component, { attachTo: container }) - - await wrapper.vm.showTooltip(new MouseEvent('mouseenter', { - clientX: 212, - clientY: 20 - }), 'top-left') - - expect(wrapper.vm.tooltipStyle).to.eql({ - visibility: 'visible', - top: '8px', - left: '100px' - }) - - expect(wrapper.find('div').isVisible()).to.equal(true) - }) - - it('tooltipStyle is correct when showTooltip: bottom-right', async () => { - const component = { - template: '
', - mixins: [tooltipMixin] - } - const wrapper = mount(component, { attachTo: container }) - - await wrapper.vm.showTooltip(new MouseEvent('mouseenter', { - clientX: 10, - clientY: 20 - }), 'bottom-right') - expect(wrapper.vm.tooltipStyle).to.eql({ - visibility: 'visible', - top: '32px', - left: '22px' - }) - expect(wrapper.find('div').isVisible()).to.equal(true) - }) - - it('tooltipStyle is correct when showTooltip: bottom-left', async () => { - const component = { - template: '
', - mixins: [tooltipMixin] - } - const wrapper = mount(component, { attachTo: container }) - - await wrapper.vm.showTooltip(new MouseEvent('mouseenter', { - clientX: 212, - clientY: 20 - }), 'bottom-left') - - expect(wrapper.vm.tooltipStyle).to.eql({ - visibility: 'visible', - top: '32px', - left: '100px' - }) - expect(wrapper.find('div').isVisible()).to.equal(true) - }) - - it('tooltip is not visible after hideTooltip', async () => { - const component = { - template: '
', - mixins: [tooltipMixin] - } - const wrapper = mount(component) - await wrapper.vm.showTooltip(new MouseEvent('mouseenter', { - clientX: 10, - clientY: 20 - })) - await wrapper.vm.hideTooltip() - expect(wrapper.find('div').isVisible()).to.equal(false) - }) -}) diff --git a/tests/views/Main/Inquiries/Inquiries.spec.js b/tests/views/Main/Inquiries/Inquiries.spec.js deleted file mode 100644 index 5cbb6f8..0000000 --- a/tests/views/Main/Inquiries/Inquiries.spec.js +++ /dev/null @@ -1,1183 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import { mount, shallowMount } from '@vue/test-utils' -import Vuex from 'vuex' -import Inquiries from '@/views/Main/Inquiries' -import storedInquiries from '@/lib/storedInquiries' -import mutations from '@/store/mutations' -import fu from '@/lib/utils/fileIo' - -describe('Inquiries.vue', () => { - afterEach(() => { - sinon.restore() - }) - - it('Shows start-guide message if there are no saved and predefined inquiries', () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([]) - const state = { - predefinedInquiries: [] - } - const mutations = { - updatePredefinedInquiries: sinon.stub() - } - const store = new Vuex.Store({ state, mutations }) - const wrapper = shallowMount(Inquiries, { store }) - - expect(wrapper.find('#start-guide').exists()).to.equal(true) - }) - - it('Renders the list of saved and predefined inquiries', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([ - { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - ]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([ - { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - }, - { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-12-04T18:53:56.299Z' - } - ]) - const state = { - predefinedInquiries: [] - } - - const store = new Vuex.Store({ state, mutations }) - const wrapper = shallowMount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - expect(wrapper.find('#start-guide').exists()).to.equal(false) - expect(wrapper.find('#toolbar-btns-import').isVisible()).to.equal(true) - expect(wrapper.find('#toolbar-btns-export').isVisible()).to.equal(false) - expect(wrapper.find('#toolbar-btns-delete').isVisible()).to.equal(false) - - const rows = wrapper.findAll('tbody tr') - expect(rows).to.have.lengthOf(3) - expect(rows.at(0).findAll('td').at(0).text()).to.contains('hello_world') - expect(rows.at(0).findAll('td').at(1).text()).to.equals('8 March 2020 20:57') - expect(rows.at(1).findAll('td').at(0).text()).to.equals('foo') - expect(rows.at(1).findAll('td').at(1).text()).to.equals('3 November 2020 20:57') - expect(rows.at(2).findAll('td').at(0).text()).to.equals('bar') - expect(rows.at(2).findAll('td').at(1).text()).to.equals('4 December 2020 19:53') - }) - - it('Filters the list of inquiries', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([ - { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - ]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([ - { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - }, - { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-12-04T18:53:56.299Z' - } - ]) - const state = { - predefinedInquiries: [] - } - - const store = new Vuex.Store({ state, mutations }) - const wrapper = mount(Inquiries, { store }) - await wrapper.find('#toolbar-search input').setValue('OO') - await wrapper.vm.$nextTick() - - const rows = wrapper.findAll('tbody tr') - expect(rows).to.have.lengthOf(1) - expect(rows.at(0).findAll('td').at(0).text()).to.equals('foo') - expect(rows.at(0).findAll('td').at(1).text()).to.contains('3 November 2020 20:57') - }) - - it('Shows No found message when filter returns nothing', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([ - { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - ]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([ - { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - }, - { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-12-04T18:53:56.299Z' - } - ]) - const state = { - predefinedInquiries: [] - } - - const store = new Vuex.Store({ state, mutations }) - const wrapper = mount(Inquiries, { store }) - await wrapper.find('#toolbar-search input').setValue('baz') - await wrapper.vm.$nextTick() - - expect(wrapper.find('#inquiries-not-found').text()).to.equal('No inquiries found') - expect(wrapper.find('#start-guide').exists()).to.equal(false) - expect(wrapper.find('tbody').isVisible()).to.equal(false) - }) - - it('Predefined inquiry has a badge', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([ - { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - ]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([ - { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - ]) - const state = { - predefinedInquiries: [] - } - - const store = new Vuex.Store({ state, mutations }) - const wrapper = shallowMount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - const rows = wrapper.findAll('tbody tr') - expect(rows.at(0).find('td .badge').exists()).to.equals(true) - expect(rows.at(1).find('td .badge').exists()).to.equals(false) - }) - - it('Exports one inquiry', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([ - { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - ]) - sinon.stub(storedInquiries, 'serialiseInquiries').returns('I am a serialized inquiry') - sinon.stub(fu, 'exportToFile') - const state = { - predefinedInquiries: [] - } - - const store = new Vuex.Store({ state, mutations }) - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - await wrapper.findComponent({ name: 'ExportIcon' }).find('svg').trigger('click') - expect(fu.exportToFile.calledOnceWith('I am a serialized inquiry', 'foo.json')).to.equals(true) - }) - - it('Duplicates an inquiry', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - const inquiryInStorage = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([inquiryInStorage]) - sinon.stub(storedInquiries, 'updateStorage') - const newInquiry = { - id: 2, - name: 'foo copy', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-12-03T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'duplicateInquiry').returns(newInquiry) - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - await wrapper.findComponent({ name: 'CopyIcon' }).find('svg').trigger('click') - - expect(storedInquiries.duplicateInquiry.calledOnceWith(inquiryInStorage)).to.equals(true) - - const rows = wrapper.findAll('tbody tr') - expect(rows).to.have.lengthOf(2) - expect(rows.at(1).findAll('td').at(0).text()).to.equals('foo copy') - expect(rows.at(1).findAll('td').at(1).text()).to.contains('3 December 2020 20:57') - expect( - storedInquiries.updateStorage.calledOnceWith(sinon.match([inquiryInStorage, newInquiry])) - ).to.equals(true) - }) - - it('The copy of the inquiry is not selected if all inquiries were selected before duplication', - async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - const inquiryInStorage = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([inquiryInStorage]) - sinon.stub(storedInquiries, 'updateStorage') - const newInquiry = { - id: 2, - name: 'foo copy', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-12-03T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'duplicateInquiry').returns(newInquiry) - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - await wrapper.findComponent({ ref: 'mainCheckBox' }).find('.checkbox-container') - .trigger('click') - await wrapper.findComponent({ name: 'CopyIcon' }).find('svg').trigger('click') - - const checkboxes = wrapper.findAllComponents({ ref: 'rowCheckBox' }) - expect(checkboxes.at(0).vm.checked).to.equals(true) - expect(checkboxes.at(1).vm.checked).to.equals(false) - }) - - it('Opens an inquiry', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - const inquiryInStorage = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([inquiryInStorage]) - - const state = { - predefinedInquiries: [] - } - const actions = { addTab: sinon.stub().resolves(1) } - sinon.spy(mutations, 'setCurrentTabId') - const $router = { push: sinon.stub() } - const store = new Vuex.Store({ state, mutations, actions }) - - const wrapper = shallowMount(Inquiries, { - store, - mocks: { $router } - }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - await wrapper.find('tbody tr').trigger('click') - - expect(actions.addTab.calledOnce).to.equals(true) - expect(actions.addTab.getCall(0).args[1]).to.equals(inquiryInStorage) - await actions.addTab.returnValues[0] - expect(mutations.setCurrentTabId.calledOnceWith(state, 1)).to.equals(true) - expect($router.push.calledOnceWith('/workspace')).to.equals(true) - }) - - it('Rename is not available for predefined inquiries', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([ - { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - ]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([]) - - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - expect(wrapper.findComponent({ name: 'RenameIcon' }).exists()).to.equals(false) - }) - - it('Renames an inquiry', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([ - { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - ]) - sinon.stub(storedInquiries, 'updateStorage') - const state = { - tabs: [{ id: 1, name: 'foo' }], - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - // click Rename icon in the grid - await wrapper.findComponent({ name: 'RenameIcon' }).find('svg').trigger('click') - - // check that rename dialog is open - expect(wrapper.find('[data-modal="rename"]').exists()).to.equal(true) - - // check that input is filled by the current inquiry name - expect(wrapper.find('.dialog-body input').element.value).to.equals('foo') - - // change the name - await wrapper.find('.dialog-body input').setValue('bar') - - // find Rename in the dialog and click - await wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Rename') - .trigger('click') - - // check that the name in the grid is changed - expect(wrapper.find('tbody tr td').text()).to.equals('bar') - - // check that storage is updated - expect(storedInquiries.updateStorage.calledOnceWith(sinon.match([{ - id: 1, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - }]))).to.equals(true) - - // check that coresponding tab also changed the name - expect(state.tabs[0].name).to.equals('bar') - - // check that rename dialog is closed - expect(wrapper.find('[data-modal="rename"]').exists()).to.equal(false) - }) - - it('Shows an error if try to rename to empty string', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([ - { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - ]) - sinon.stub(storedInquiries, 'updateStorage') - const state = { - tabs: [{ id: 1, name: 'foo' }], - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - // click Rename icon in the grid - await wrapper.findComponent({ name: 'RenameIcon' }).find('svg').trigger('click') - - // change the name - await wrapper.find('.dialog-body input').setValue('') - - // find Rename in the dialog and click - await wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Rename') - .trigger('click') - - expect(wrapper.find('.dialog-body .text-field-error').text()) - .to.equals("Inquiry name can't be empty") - // check that rename dialog is still open - expect(wrapper.find('[data-modal="rename"]').exists()).to.equal(true) - }) - - it('Imports inquiries', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - const inquiryInStorage = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([inquiryInStorage]) - sinon.stub(storedInquiries, 'updateStorage') - const importedInquiry = { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-12-03T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'importInquiries').resolves([importedInquiry]) - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = shallowMount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - // click Import - await wrapper.find('#toolbar-btns-import').trigger('click') - - const rows = wrapper.findAll('tbody tr') - expect(rows).to.have.lengthOf(2) - expect(rows.at(1).findAll('td').at(0).text()).to.equals('bar') - expect(rows.at(1).findAll('td').at(1).text()).to.equals('3 December 2020 20:57') - expect(storedInquiries.updateStorage.calledOnceWith( - sinon.match([inquiryInStorage, importedInquiry]) - )).to.equals(true) - }) - - it('Imported inquiries are not selected if master check box was checked', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - const inquiryInStorage = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([inquiryInStorage]) - sinon.stub(storedInquiries, 'updateStorage') - const importedInquiry = { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-12-03T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'importInquiries').resolves([importedInquiry]) - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - // click on master checkbox - await wrapper.findComponent({ ref: 'mainCheckBox' }).find('.checkbox-container') - .trigger('click') - - // click Import - await wrapper.find('#toolbar-btns-import').trigger('click') - - const checkboxes = wrapper.findAllComponents({ ref: 'rowCheckBox' }) - expect(wrapper.findComponent({ ref: 'mainCheckBox' }).vm.checked).to.equals(false) - expect(checkboxes.at(0).vm.checked).to.equals(true) - expect(checkboxes.at(1).vm.checked).to.equals(false) - }) - - it('Deletion is not available for predefined inquiries', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([ - { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - ]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([]) - - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - expect(wrapper.findComponent({ name: 'DeleteIcon' }).exists()).to.equals(false) - }) - - it('Delete an inquiry', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - const foo = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - const bar = { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([foo, bar]) - sinon.stub(storedInquiries, 'updateStorage') - - const state = { - tabs: [{ id: 1 }, { id: 2 }], - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - // click Delete icon in the first row of the grid - await wrapper.findComponent({ name: 'DeleteIcon' }).find('svg').trigger('click') - - // check that delete dialog is open - expect(wrapper.find('[data-modal="delete"]').exists()).to.equal(true) - - // check the message in the dialog - expect(wrapper.find('.dialog-body').text()).to.contains('"foo"?') - - // find Delete in the dialog and click - await wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Delete') - .trigger('click') - - // check the rows in the grid - expect(wrapper.findAll('tbody tr')).to.have.lengthOf(1) - expect(wrapper.findAll('tbody tr').at(0).find('td').text()).to.equals('bar') - - // check that deleted inquiry was also deleted from tabs - expect(state.tabs).to.have.lengthOf(1) - expect(state.tabs[0].id).to.equals(2) - - // check that storage is updated - expect(storedInquiries.updateStorage.calledOnceWith(sinon.match([bar]))).to.equals(true) - - // check that delete dialog is closed - expect(wrapper.find('[data-modal="delete"]').exists()).to.equal(false) - }) - - it('Group operations are available when there are checked rows', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([ - { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - ]) - sinon.stub(storedInquiries, 'getStoredInquiries').returns([ - { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-11-03T19:57:56.299Z' - } - ]) - - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - expect(wrapper.find('#toolbar-btns-export').isVisible()).to.equal(false) - expect(wrapper.find('#toolbar-btns-delete').isVisible()).to.equal(false) - - const rows = wrapper.findAll('tbody tr') - - // Select a predefined inquiry - await rows.at(0).find('.checkbox-container').trigger('click') - expect(wrapper.find('#toolbar-btns-export').isVisible()).to.equal(true) - expect(wrapper.find('#toolbar-btns-delete').isVisible()).to.equal(false) - - // Select also not predefined inquiry - await rows.at(1).find('.checkbox-container').trigger('click') - expect(wrapper.find('#toolbar-btns-export').isVisible()).to.equal(true) - expect(wrapper.find('#toolbar-btns-delete').isVisible()).to.equal(true) - - // Uncheck a predefined inquiry - await rows.at(0).find('.checkbox-container').trigger('click') - expect(wrapper.find('#toolbar-btns-export').isVisible()).to.equal(true) - expect(wrapper.find('#toolbar-btns-delete').isVisible()).to.equal(true) - }) - - it('Exports a group of inquiries', async () => { - const predefinedInquiry = { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([predefinedInquiry]) - const inquiryInStore = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([inquiryInStore, { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - }]) - - sinon.stub(storedInquiries, 'serialiseInquiries').returns('I am a serialized inquiries') - sinon.stub(fu, 'exportToFile') - - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - const rows = wrapper.findAll('tbody tr') - - // Select inquiries - await rows.at(0).find('.checkbox-container').trigger('click') - await rows.at(1).find('.checkbox-container').trigger('click') - - await wrapper.find('#toolbar-btns-export').trigger('click') - - expect(storedInquiries.serialiseInquiries.calledOnceWith( - sinon.match([predefinedInquiry, inquiryInStore]) - )).to.equals(true) - - expect( - fu.exportToFile.calledOnceWith('I am a serialized inquiries', 'My sqliteviz inquiries.json') - ).to.equals(true) - }) - - it('Exports all inquiries', async () => { - const predefinedInquiry = { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([predefinedInquiry]) - const inquiryInStore = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([inquiryInStore]) - - sinon.stub(storedInquiries, 'serialiseInquiries').returns('I am a serialized inquiries') - sinon.stub(fu, 'exportToFile') - - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - await wrapper.findComponent({ ref: 'mainCheckBox' }).find('.checkbox-container') - .trigger('click') - - await wrapper.find('#toolbar-btns-export').trigger('click') - - expect(storedInquiries.serialiseInquiries.calledOnceWith( - sinon.match([predefinedInquiry, inquiryInStore]) - )).to.equals(true) - - expect( - fu.exportToFile.calledOnceWith('I am a serialized inquiries', 'My sqliteviz inquiries.json') - ).to.equals(true) - }) - - it('Deletes a group of inquiries', async () => { - const predefinedInquiry = { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([predefinedInquiry]) - const foo = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - const bar = { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - const baz = { - id: 3, - name: 'baz', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([foo, bar, baz]) - - sinon.stub(storedInquiries, 'updateStorage') - - const state = { - tabs: [{ id: 1 }, { id: 2 }, { id: 0 }, { id: 3 }], - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - const rows = wrapper.findAll('tbody tr') - - // Select inquiries (don't select predefined inquiries) - await rows.at(1).find('.checkbox-container').trigger('click') - await rows.at(2).find('.checkbox-container').trigger('click') - - await wrapper.find('#toolbar-btns-delete').trigger('click') - - // check that delete dialog is open - expect(wrapper.find('[data-modal="delete"]').exists()).to.equal(true) - - // check the message in the dialog - expect(wrapper.find('.dialog-body').text()) - .to.contains('Are you sure you want to delete 2 inquiries?') - - // find Delete in the dialog and click - await wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Delete') - .trigger('click') - - // check the rows in the grid - expect(wrapper.findAll('tbody tr')).to.have.lengthOf(2) - expect(wrapper.findAll('tbody tr').at(0).find('td').text()).to.contains('hello_world') - expect(wrapper.findAll('tbody tr').at(1).find('td').text()).to.equals('baz') - - // check that deleted inquiry was also deleted from tabs - expect(state.tabs).to.have.lengthOf(2) - expect(state.tabs[0].id).to.equals(0) - expect(state.tabs[1].id).to.equals(3) - - // check that storage is updated - expect(storedInquiries.updateStorage.calledOnceWith(sinon.match([baz]))).to.equals(true) - - // check that delete dialog is closed - expect(wrapper.find('[data-modal="delete"]').exists()).to.equal(false) - }) - - it('Ignores predefined inquiries during deletion', async () => { - const predefinedInquiry = { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([predefinedInquiry]) - const foo = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - const bar = { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([foo, bar]) - sinon.stub(storedInquiries, 'updateStorage') - - const state = { - tabs: [], - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - const rows = wrapper.findAll('tbody tr') - - // Select inquiries (select also predefined inquiries) - await rows.at(0).find('.checkbox-container').trigger('click') - await rows.at(1).find('.checkbox-container').trigger('click') - - await wrapper.find('#toolbar-btns-delete').trigger('click') - - // check that delete dialog is open - expect(wrapper.find('[data-modal="delete"]').exists()).to.equal(true) - - // check the message in the dialog - expect(wrapper.find('.dialog-body').text()) - .to.contains('Are you sure you want to delete 1 inquiry?') - - expect(wrapper.find('.dialog-body #note').isVisible()).to.equals(true) - - // find Delete in the dialog and click - await wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Delete') - .trigger('click') - - // check the rows in the grid - expect(wrapper.findAll('tbody tr')).to.have.lengthOf(2) - expect(wrapper.findAll('tbody tr').at(0).find('td').text()).to.contains('hello_world') - expect(wrapper.findAll('tbody tr').at(1).find('td').text()).to.equals('bar') - - // check that storage is updated - expect(storedInquiries.updateStorage.calledOnceWith(sinon.match([bar]))).to.equals(true) - - // check that delete dialog is closed - expect(wrapper.find('[data-modal="delete"]').exists()).to.equal(false) - }) - - it('Deletes all inquiries ignoring predefined ones', async () => { - const predefinedInquiry = { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([predefinedInquiry]) - const foo = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - const bar = { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([foo, bar]) - sinon.stub(storedInquiries, 'updateStorage') - - const state = { - tabs: [], - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - await wrapper.findComponent({ ref: 'mainCheckBox' }).find('.checkbox-container') - .trigger('click') - - await wrapper.find('#toolbar-btns-delete').trigger('click') - - // check that delete dialog is open - expect(wrapper.find('[data-modal="delete"]').exists()).to.equal(true) - - // check the message in the dialog - expect(wrapper.find('.dialog-body').text()) - .to.contains('Are you sure you want to delete 2 inquiries?') - - expect(wrapper.find('.dialog-body #note').isVisible()).to.equals(true) - - // find Delete in the dialog and click - await wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Delete') - .trigger('click') - - // check the rows in the grid - expect(wrapper.findAll('tbody tr')).to.have.lengthOf(1) - expect(wrapper.findAll('tbody tr').at(0).find('td').text()).to.contains('hello_world') - - // check that storage is updated - expect(storedInquiries.updateStorage.calledOnceWith(sinon.match([]))).to.equals(true) - - // check that delete dialog is closed - expect(wrapper.find('[data-modal="delete"]').exists()).to.equal(false) - }) - - it('Main checkbox', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([]) - const foo = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - const bar = { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([foo, bar]) - - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - const mainCheckBox = wrapper.findComponent({ ref: 'mainCheckBox' }) - // Select all with main checkbox - await mainCheckBox.find('.checkbox-container').trigger('click') - - const checkboxes = wrapper.findAllComponents({ ref: 'rowCheckBox' }) - expect(checkboxes.at(0).vm.checked).to.equals(true) - expect(checkboxes.at(1).vm.checked).to.equals(true) - - // Uncheck first row - main checkbox bocomes not checked - await wrapper.find('tbody tr .checkbox-container').trigger('click') - expect(mainCheckBox.vm.checked).to.equals(false) - - // Select all again ... - await mainCheckBox.find('.checkbox-container').trigger('click') - // ... and uncheck all - await mainCheckBox.find('.checkbox-container').trigger('click') - expect(checkboxes.at(0).vm.checked).to.equals(false) - expect(checkboxes.at(0).vm.checked).to.equals(false) - }) - - it('Selection and filter', async () => { - sinon.stub(storedInquiries, 'readPredefinedInquiries').resolves([ - { - id: 0, - name: 'hello_world', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - ]) - const foo = { - id: 1, - name: 'foo', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - const bar = { - id: 2, - name: 'bar', - query: '', - viewType: 'chart', - viewOptions: [], - createdAt: '2020-03-08T19:57:56.299Z' - } - sinon.stub(storedInquiries, 'getStoredInquiries').returns([foo, bar]) - - const state = { - predefinedInquiries: [] - } - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Inquiries, { store }) - await storedInquiries.readPredefinedInquiries.returnValues[0] - await storedInquiries.getStoredInquiries.returnValues[0] - await wrapper.vm.$nextTick() - - const mainCheckBox = wrapper.findComponent({ ref: 'mainCheckBox' }) - // Select all with main checkbox - await mainCheckBox.find('.checkbox-container').trigger('click') - expect([...wrapper.vm.selectedInquiriesIds]).to.eql([0, 1, 2]) - expect(wrapper.vm.selectedNotPredefinedCount).to.eql(2) - let checkboxes = wrapper.findAllComponents({ ref: 'rowCheckBox' }) - expect(checkboxes.at(0).vm.checked).to.equals(true) - expect(checkboxes.at(1).vm.checked).to.equals(true) - expect(checkboxes.at(2).vm.checked).to.equals(true) - - // Filter - await wrapper.find('#toolbar-search input').setValue('foo') - await wrapper.vm.$nextTick() - expect([...wrapper.vm.selectedInquiriesIds]).to.eql([1]) - expect(wrapper.vm.selectedNotPredefinedCount).to.eql(1) - checkboxes = wrapper.findAllComponents({ ref: 'rowCheckBox' }) - expect(checkboxes.at(0).vm.checked).to.equals(true) - - // Clear filter - await wrapper.find('#toolbar-search input').setValue('') - await wrapper.vm.$nextTick() - expect([...wrapper.vm.selectedInquiriesIds]).to.eql([1]) - expect(wrapper.vm.selectedNotPredefinedCount).to.eql(1) - checkboxes = wrapper.findAll('tr .checkbox-container') - expect(checkboxes.at(0).classes()).to.not.include('checked') - expect(checkboxes.at(1).classes()).to.include('checked') - expect(checkboxes.at(2).classes()).to.not.include('checked') - - // Select also first inquiry - wrapper.find('tbody tr .checkbox-container').trigger('click') - expect([...wrapper.vm.selectedInquiriesIds]).to.eql([1, 0]) - expect(wrapper.vm.selectedNotPredefinedCount).to.eql(1) - - // Filter - await wrapper.find('#toolbar-search input').setValue('hello') - await wrapper.vm.$nextTick() - expect([...wrapper.vm.selectedInquiriesIds]).to.eql([0]) - expect(wrapper.vm.selectedNotPredefinedCount).to.eql(0) - checkboxes = wrapper.findAllComponents({ ref: 'rowCheckBox' }) - expect(checkboxes.at(0).vm.checked).to.equals(true) - - // Select all with main checkbox - await mainCheckBox.find('.checkbox-container').trigger('click') - - // Clear filter - main checkbox bocomes not checked - await wrapper.find('#toolbar-search input').setValue('') - await wrapper.vm.$nextTick() - expect(mainCheckBox.vm.checked).to.equals(false) - }) -}) diff --git a/tests/views/Main/MainMenu.spec.js b/tests/views/Main/MainMenu.spec.js deleted file mode 100644 index 4fb9393..0000000 --- a/tests/views/Main/MainMenu.spec.js +++ /dev/null @@ -1,634 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import { mount, shallowMount, createWrapper } from '@vue/test-utils' -import Vuex from 'vuex' -import MainMenu from '@/views/Main/MainMenu' -import storedInquiries from '@/lib/storedInquiries' - -let wrapper = null - -describe('MainMenu.vue', () => { - afterEach(() => { - sinon.restore() - - // We need explicitly destroy the component, so that beforeDestroy hook was called - // It's important because in this hook MainMenu component removes keydown event listener. - wrapper.destroy() - }) - - it('Create and Save are visible only on /workspace page', async () => { - const state = { - currentTab: { query: '', execute: sinon.stub() }, - tabs: [{}], - db: {} - } - const store = new Vuex.Store({ state }) - const $route = { path: '/workspace' } - // mount the component - wrapper = shallowMount(MainMenu, { - store, - mocks: { $route }, - stubs: ['router-link'] - }) - expect(wrapper.find('#save-btn').exists()).to.equal(true) - expect(wrapper.find('#save-btn').isVisible()).to.equal(true) - expect(wrapper.find('#create-btn').exists()).to.equal(true) - expect(wrapper.find('#create-btn').isVisible()).to.equal(true) - - await wrapper.vm.$set(wrapper.vm.$route, 'path', '/inquiries') - expect(wrapper.find('#save-btn').exists()).to.equal(true) - expect(wrapper.find('#save-btn').isVisible()).to.equal(false) - expect(wrapper.find('#create-btn').exists()).to.equal(true) - expect(wrapper.find('#create-btn').isVisible()).to.equal(true) - }) - - it('Save is not visible if there is no tabs', () => { - const state = { - currentTab: null, - tabs: [{}], - db: {} - } - const store = new Vuex.Store({ state }) - const $route = { path: '/workspace' } - wrapper = shallowMount(MainMenu, { - store, - mocks: { $route }, - stubs: ['router-link'] - }) - expect(wrapper.find('#save-btn').exists()).to.equal(true) - expect(wrapper.find('#save-btn').isVisible()).to.equal(false) - expect(wrapper.find('#create-btn').exists()).to.equal(true) - expect(wrapper.find('#create-btn').isVisible()).to.equal(true) - }) - - it('Save is disabled if current tab.isSaved is true', async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ isSaved: false }], - db: {} - } - const store = new Vuex.Store({ state }) - const $route = { path: '/workspace' } - - wrapper = shallowMount(MainMenu, { - store, - mocks: { $route }, - stubs: ['router-link'] - }) - const vm = wrapper.vm - expect(wrapper.find('#save-btn').element.disabled).to.equal(false) - - await vm.$set(state.tabs[0], 'isSaved', true) - expect(wrapper.find('#save-btn').element.disabled).to.equal(true) - }) - - it('Creates a tab', async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ isSaved: false }], - db: {} - } - const newInquiryId = 1 - const actions = { - addTab: sinon.stub().resolves(newInquiryId) - } - const mutations = { - setCurrentTabId: sinon.stub() - } - const store = new Vuex.Store({ state, mutations, actions }) - const $route = { path: '/workspace' } - const $router = { push: sinon.stub() } - - wrapper = shallowMount(MainMenu, { - store, - mocks: { $route, $router }, - stubs: ['router-link'] - }) - - await wrapper.find('#create-btn').trigger('click') - expect(actions.addTab.calledOnce).to.equal(true) - await actions.addTab.returnValues[0] - expect(mutations.setCurrentTabId.calledOnceWith(state, newInquiryId)).to.equal(true) - expect($router.push.calledOnce).to.equal(false) - }) - - it('Creates a tab and redirects to workspace', async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ isSaved: false }], - db: {} - } - const newInquiryId = 1 - const actions = { - addTab: sinon.stub().resolves(newInquiryId) - } - const mutations = { - setCurrentTabId: sinon.stub() - } - const store = new Vuex.Store({ state, mutations, actions }) - const $route = { path: '/inquiries' } - const $router = { push: sinon.stub() } - - wrapper = shallowMount(MainMenu, { - store, - mocks: { $route, $router }, - stubs: ['router-link'] - }) - - await wrapper.find('#create-btn').trigger('click') - expect(actions.addTab.calledOnce).to.equal(true) - await actions.addTab.returnValues[0] - expect(mutations.setCurrentTabId.calledOnceWith(state, newInquiryId)).to.equal(true) - expect($router.push.calledOnce).to.equal(true) - }) - - it('Ctrl R calls currentTab.execute if running is enabled and route.path is "/workspace"', - async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ isSaved: false }], - db: {} - } - const store = new Vuex.Store({ state }) - const $route = { path: '/workspace' } - const $router = { push: sinon.stub() } - - wrapper = shallowMount(MainMenu, { - store, - mocks: { $route, $router }, - stubs: ['router-link'] - }) - - const ctrlR = new KeyboardEvent('keydown', { key: 'r', ctrlKey: true }) - const metaR = new KeyboardEvent('keydown', { key: 'r', metaKey: true }) - // Running is enabled and route path is workspace - document.dispatchEvent(ctrlR) - expect(state.currentTab.execute.calledOnce).to.equal(true) - document.dispatchEvent(metaR) - expect(state.currentTab.execute.calledTwice).to.equal(true) - - // Running is disabled and route path is workspace - await wrapper.vm.$set(state, 'db', null) - document.dispatchEvent(ctrlR) - expect(state.currentTab.execute.calledTwice).to.equal(true) - document.dispatchEvent(metaR) - expect(state.currentTab.execute.calledTwice).to.equal(true) - - // Running is enabled and route path is not workspace - await wrapper.vm.$set(state, 'db', {}) - await wrapper.vm.$set($route, 'path', '/inquiries') - document.dispatchEvent(ctrlR) - expect(state.currentTab.execute.calledTwice).to.equal(true) - document.dispatchEvent(metaR) - expect(state.currentTab.execute.calledTwice).to.equal(true) - }) - - it('Ctrl Enter calls currentTab.execute if running is enabled and route.path is "/workspace"', - async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ isSaved: false }], - db: {} - } - const store = new Vuex.Store({ state }) - const $route = { path: '/workspace' } - const $router = { push: sinon.stub() } - - wrapper = shallowMount(MainMenu, { - store, - mocks: { $route, $router }, - stubs: ['router-link'] - }) - - const ctrlEnter = new KeyboardEvent('keydown', { key: 'Enter', ctrlKey: true }) - const metaEnter = new KeyboardEvent('keydown', { key: 'Enter', metaKey: true }) - // Running is enabled and route path is workspace - document.dispatchEvent(ctrlEnter) - expect(state.currentTab.execute.calledOnce).to.equal(true) - document.dispatchEvent(metaEnter) - expect(state.currentTab.execute.calledTwice).to.equal(true) - - // Running is disabled and route path is workspace - await wrapper.vm.$set(state, 'db', null) - document.dispatchEvent(ctrlEnter) - expect(state.currentTab.execute.calledTwice).to.equal(true) - document.dispatchEvent(metaEnter) - expect(state.currentTab.execute.calledTwice).to.equal(true) - - // Running is enabled and route path is not workspace - await wrapper.vm.$set(state, 'db', {}) - await wrapper.vm.$set($route, 'path', '/inquiries') - document.dispatchEvent(ctrlEnter) - expect(state.currentTab.execute.calledTwice).to.equal(true) - document.dispatchEvent(metaEnter) - expect(state.currentTab.execute.calledTwice).to.equal(true) - }) - - it('Ctrl B calls createNewInquiry', async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ isSaved: false }], - db: {} - } - const store = new Vuex.Store({ state }) - const $route = { path: '/workspace' } - - wrapper = shallowMount(MainMenu, { - store, - mocks: { $route }, - stubs: ['router-link'] - }) - sinon.stub(wrapper.vm, 'createNewInquiry') - - const ctrlB = new KeyboardEvent('keydown', { key: 'b', ctrlKey: true }) - const metaB = new KeyboardEvent('keydown', { key: 'b', metaKey: true }) - document.dispatchEvent(ctrlB) - expect(wrapper.vm.createNewInquiry.calledOnce).to.equal(true) - document.dispatchEvent(metaB) - expect(wrapper.vm.createNewInquiry.calledTwice).to.equal(true) - - await wrapper.vm.$set($route, 'path', '/inquiries') - document.dispatchEvent(ctrlB) - expect(wrapper.vm.createNewInquiry.calledThrice).to.equal(true) - document.dispatchEvent(metaB) - expect(wrapper.vm.createNewInquiry.callCount).to.equal(4) - }) - - it('Ctrl S calls checkInquiryBeforeSave if the tab is unsaved and route path is /workspace', - async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ isSaved: false }], - db: {} - } - const store = new Vuex.Store({ state }) - const $route = { path: '/workspace' } - - wrapper = shallowMount(MainMenu, { - store, - mocks: { $route }, - stubs: ['router-link'] - }) - sinon.stub(wrapper.vm, 'checkInquiryBeforeSave') - - const ctrlS = new KeyboardEvent('keydown', { key: 's', ctrlKey: true }) - const metaS = new KeyboardEvent('keydown', { key: 's', metaKey: true }) - // tab is unsaved and route is /workspace - document.dispatchEvent(ctrlS) - expect(wrapper.vm.checkInquiryBeforeSave.calledOnce).to.equal(true) - document.dispatchEvent(metaS) - expect(wrapper.vm.checkInquiryBeforeSave.calledTwice).to.equal(true) - - // tab is saved and route is /workspace - await wrapper.vm.$set(state.tabs[0], 'isSaved', true) - document.dispatchEvent(ctrlS) - expect(wrapper.vm.checkInquiryBeforeSave.calledTwice).to.equal(true) - document.dispatchEvent(metaS) - expect(wrapper.vm.checkInquiryBeforeSave.calledTwice).to.equal(true) - - // tab is unsaved and route is not /workspace - await wrapper.vm.$set($route, 'path', '/inquiries') - await wrapper.vm.$set(state.tabs[0], 'isSaved', false) - document.dispatchEvent(ctrlS) - expect(wrapper.vm.checkInquiryBeforeSave.calledTwice).to.equal(true) - document.dispatchEvent(metaS) - expect(wrapper.vm.checkInquiryBeforeSave.calledTwice).to.equal(true) - }) - - it('Saves the inquiry when no need the new name', - async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ id: 1, name: 'foo', isSaved: false }], - db: {} - } - const mutations = { - updateTab: sinon.stub() - } - const store = new Vuex.Store({ state, mutations }) - const $route = { path: '/workspace' } - sinon.stub(storedInquiries, 'isTabNeedName').returns(false) - sinon.stub(storedInquiries, 'save').returns({ - name: 'foo', - id: 1, - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: [] - }) - - wrapper = mount(MainMenu, { - store, - mocks: { $route }, - stubs: ['router-link', 'app-diagnostic-info'] - }) - - await wrapper.find('#save-btn').trigger('click') - - // check that the dialog is closed - expect(wrapper.find('[data-modal="save"]').exists()).to.equal(false) - - // check that the inquiry was saved via storedInquiries.save (newName='') - expect(storedInquiries.save.calledOnceWith(state.currentTab, '')).to.equal(true) - - // check that the tab was updated - expect(mutations.updateTab.calledOnceWith(state, sinon.match({ - index: 0, - name: 'foo', - id: 1, - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: [], - isSaved: true - }))).to.equal(true) - - // check that 'inquirySaved' event was triggered on $root - expect(createWrapper(wrapper.vm.$root).emitted('inquirySaved')).to.have.lengthOf(1) - }) - - it('Shows en error when the new name is needed but not specifyied', async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ id: 1, name: null, tempName: 'Untitled', isSaved: false }], - db: {} - } - const mutations = { - updateTab: sinon.stub() - } - const store = new Vuex.Store({ state, mutations }) - const $route = { path: '/workspace' } - sinon.stub(storedInquiries, 'isTabNeedName').returns(true) - sinon.stub(storedInquiries, 'save').returns({ - name: 'foo', - id: 1, - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: [] - }) - - wrapper = mount(MainMenu, { - store, - mocks: { $route }, - stubs: ['router-link', 'app-diagnostic-info'] - }) - - await wrapper.find('#save-btn').trigger('click') - - // check that the dialog is open - expect(wrapper.find('[data-modal="save"]').exists()).to.equal(true) - - // find Save in the dialog and click - await wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Save') - .trigger('click') - - // check that we have an error message and dialog is still open - expect(wrapper.find('.text-field-error').text()).to.equal('Inquiry name can\'t be empty') - expect(wrapper.find('[data-modal="save"]').exists()).to.equal(true) - }) - - it('Saves the inquiry with a new name', async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ id: 1, name: null, tempName: 'Untitled', isSaved: false }], - db: {} - } - const mutations = { - updateTab: sinon.stub() - } - const store = new Vuex.Store({ state, mutations }) - const $route = { path: '/workspace' } - sinon.stub(storedInquiries, 'isTabNeedName').returns(true) - sinon.stub(storedInquiries, 'save').returns({ - name: 'foo', - id: 1, - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: [] - }) - - wrapper = mount(MainMenu, { - store, - mocks: { $route }, - stubs: ['router-link', 'app-diagnostic-info'] - }) - - await wrapper.find('#save-btn').trigger('click') - - // check that the dialog is open - expect(wrapper.find('[data-modal="save"]').exists()).to.equal(true) - - // enter the new name - await wrapper.find('.dialog-body input').setValue('foo') - - // find Save in the dialog and click - await wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Save') - .trigger('click') - - // check that the dialog is closed - expect(wrapper.find('[data-modal="save"]').exists()).to.equal(false) - - // check that the inquiry was saved via storedInquiries.save (newName='foo') - expect(storedInquiries.save.calledOnceWith(state.currentTab, 'foo')).to.equal(true) - - // check that the tab was updated - expect(mutations.updateTab.calledOnceWith(state, sinon.match({ - index: 0, - name: 'foo', - id: 1, - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: [], - isSaved: true - }))).to.equal(true) - - // check that 'inquirySaved' event was triggered on $root - expect(createWrapper(wrapper.vm.$root).emitted('inquirySaved')).to.have.lengthOf(1) - }) - - it('Saves a predefined inquiry with a new name', async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0, - isPredefined: true, - result: { - columns: ['id', 'name'], - values: [ - [1, 'Harry Potter'], - [2, 'Drako Malfoy'] - ] - }, - viewType: 'chart', - viewOptions: [] - }, - tabs: [{ id: 1, name: 'foo', isSaved: false, isPredefined: true }], - db: {} - } - const mutations = { - updateTab: sinon.stub() - } - const store = new Vuex.Store({ state, mutations }) - const $route = { path: '/workspace' } - sinon.stub(storedInquiries, 'isTabNeedName').returns(true) - sinon.stub(storedInquiries, 'save').returns({ - name: 'bar', - id: 2, - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: [] - }) - - wrapper = mount(MainMenu, { - store, - mocks: { $route }, - stubs: ['router-link', 'app-diagnostic-info'] - }) - - await wrapper.find('#save-btn').trigger('click') - - // check that the dialog is open - expect(wrapper.find('[data-modal="save"]').exists()).to.equal(true) - - // check that save-note is visible (save-note is an explanation why do we need a new name) - expect(wrapper.find('#save-note').isVisible()).to.equal(true) - - // enter the new name - await wrapper.find('.dialog-body input').setValue('bar') - - // find Save in the dialog and click - await wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Save') - .trigger('click') - - // check that the dialog is closed - expect(wrapper.find('[data-modal="save"]').exists()).to.equal(false) - - // check that the inquiry was saved via storedInquiries.save (newName='bar') - expect(storedInquiries.save.calledOnceWith(state.currentTab, 'bar')).to.equal(true) - - // check that the tab was updated - expect(mutations.updateTab.calledOnceWith(state, sinon.match({ - index: 0, - name: 'bar', - id: 2, - query: 'SELECT * FROM foo', - viewType: 'chart', - viewOptions: [], - isSaved: true - }))).to.equal(true) - - // check that 'inquirySaved' event was triggered on $root - expect(createWrapper(wrapper.vm.$root).emitted('inquirySaved')).to.have.lengthOf(1) - - // We saved predefined inquiry, so the tab will be created again - // (because of new id) and it will be without sql result and has default view - table. - // That's why we need to restore data and view. - // Check that result and view are preserved in the currentTab: - expect(state.currentTab.viewType).to.equal('chart') - expect(state.currentTab.result).to.eql({ - columns: ['id', 'name'], - values: [ - [1, 'Harry Potter'], - [2, 'Drako Malfoy'] - ] - }) - }) - - it('Cancel saving', async () => { - const state = { - currentTab: { - query: 'SELECT * FROM foo', - execute: sinon.stub(), - tabIndex: 0 - }, - tabs: [{ id: 1, name: null, tempName: 'Untitled', isSaved: false }], - db: {} - } - const mutations = { - updateTab: sinon.stub() - } - const store = new Vuex.Store({ state, mutations }) - const $route = { path: '/workspace' } - sinon.stub(storedInquiries, 'isTabNeedName').returns(true) - sinon.stub(storedInquiries, 'save').returns({ - name: 'bar', - id: 2, - query: 'SELECT * FROM foo', - chart: [] - }) - - wrapper = mount(MainMenu, { - store, - mocks: { $route }, - stubs: ['router-link', 'app-diagnostic-info'] - }) - - await wrapper.find('#save-btn').trigger('click') - - // check that the dialog is open - expect(wrapper.find('[data-modal="save"]').exists()).to.equal(true) - - // find Cancel in the dialog and click - await wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Cancel') - .trigger('click') - - // check that the dialog is closed - expect(wrapper.find('[data-modal="save"]').exists()).to.equal(false) - - // check that the inquiry was not saved via storedInquiries.save - expect(storedInquiries.save.called).to.equal(false) - - // check that the tab was not updated - expect(mutations.updateTab.called).to.equal(false) - - // check that 'inquirySaved' event is not listened on $root - expect(wrapper.vm.$root.$listeners).to.not.have.property('inquirySaved') - }) -}) diff --git a/tests/views/Main/Workspace/Schema/Schema.spec.js b/tests/views/Main/Workspace/Schema/Schema.spec.js deleted file mode 100644 index 9e25a1e..0000000 --- a/tests/views/Main/Workspace/Schema/Schema.spec.js +++ /dev/null @@ -1,182 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import { mount, createLocalVue } from '@vue/test-utils' -import Vuex from 'vuex' -import actions from '@/store/actions' -import mutations from '@/store/mutations' -import Schema from '@/views/Main/Workspace/Schema' -import TableDescription from '@/views/Main/Workspace/Schema/TableDescription' -import database from '@/lib/database' -import fIo from '@/lib/utils/fileIo' -import csv from '@/lib/csv' - -const localVue = createLocalVue() -localVue.use(Vuex) - -describe('Schema.vue', () => { - afterEach(() => { - sinon.restore() - }) - - it('Renders DB name on initial', () => { - // mock store state - const state = { - db: { - dbName: 'fooDB' - } - } - const store = new Vuex.Store({ state }) - - // mout the component - const wrapper = mount(Schema, { store, localVue }) - - // check DB name and schema visibility - expect(wrapper.find('.db-name').text()).to.equal('fooDB') - expect(wrapper.find('.schema').isVisible()).to.equal(true) - }) - - it('Schema visibility is toggled when click on DB name', async () => { - // mock store state - const state = { - db: { - dbName: 'fooDB' - } - } - const store = new Vuex.Store({ state }) - - // mout the component - const wrapper = mount(Schema, { store, localVue }) - - // click and check visibility - await wrapper.find('.db-name').trigger('click') - expect(wrapper.find('.schema').isVisible()).to.equal(false) - await wrapper.find('.db-name').trigger('click') - expect(wrapper.find('.schema').isVisible()).to.equal(true) - }) - - it('Schema filter', async () => { - // mock store state - const state = { - db: { - dbName: 'fooDB', - schema: [ - { - name: 'foo', - columns: [ - { name: 'id', type: 'INTEGER' }, - { name: 'title', type: 'NVARCHAR(24)' } - ] - }, - { - name: 'bar', - columns: [ - { name: 'id', type: 'INTEGER' }, - { name: 'price', type: 'INTEGER' } - ] - }, - { - name: 'foobar', - columns: [ - { name: 'id', type: 'INTEGER' }, - { name: 'price', type: 'INTEGER' } - ] - } - ] - } - } - const store = new Vuex.Store({ state }) - - // mount the component - const wrapper = mount(Schema, { store, localVue }) - - // apply filters and check the list of tables - await wrapper.find('#schema-filter input').setValue('foo') - let tables = wrapper.findAllComponents(TableDescription) - expect(tables).to.have.lengthOf(2) - expect(tables.at(0).vm.name).to.equal('foo') - expect(tables.at(1).vm.name).to.equal('foobar') - - await wrapper.find('#schema-filter input').setValue('bar') - tables = wrapper.findAllComponents(TableDescription) - expect(tables).to.have.lengthOf(2) - expect(tables.at(0).vm.name).to.equal('bar') - expect(tables.at(1).vm.name).to.equal('foobar') - - await wrapper.find('#schema-filter input').setValue('') - tables = wrapper.findAllComponents(TableDescription) - expect(tables).to.have.lengthOf(3) - expect(tables.at(0).vm.name).to.equal('foo') - expect(tables.at(1).vm.name).to.equal('bar') - expect(tables.at(2).vm.name).to.equal('foobar') - }) - - it('exports db', async () => { - const state = { - db: { - dbName: 'fooDB', - export: sinon.stub().resolves() - } - } - const store = new Vuex.Store({ state }) - const wrapper = mount(Schema, { store, localVue }) - - await wrapper.findComponent({ name: 'export-icon' }).find('svg').trigger('click') - expect(state.db.export.calledOnceWith('fooDB')) - }) - - it('adds table', async () => { - const file = { name: 'test.csv' } - sinon.stub(fIo, 'getFileFromUser').resolves(file) - - sinon.stub(csv, 'parse').resolves({ - delimiter: '|', - data: { - columns: ['col1', 'col2'], - values: { - col1: [1], - col2: ['foo'] - } - }, - hasErrors: false, - messages: [] - }) - - const state = { - db: database.getNewDatabase(), - tabs: [] - } - state.db.dbName = 'db' - state.db.execute('CREATE TABLE foo(id)') - state.db.refreshSchema() - sinon.spy(state.db, 'refreshSchema') - - const store = new Vuex.Store({ state, actions, mutations }) - const wrapper = mount(Schema, { store, localVue }) - sinon.spy(wrapper.vm.$refs.addCsv, 'previewCsv') - sinon.spy(wrapper.vm, 'addCsv') - sinon.spy(wrapper.vm.$refs.addCsv, 'loadFromCsv') - - await wrapper.findComponent({ name: 'add-table-icon' }).find('svg').trigger('click') - await wrapper.vm.$refs.addCsv.previewCsv.returnValues[0] - await wrapper.vm.addCsv.returnValues[0] - await wrapper.vm.$nextTick() - await wrapper.vm.$nextTick() - expect(wrapper.find('[data-modal="addCsv"]').exists()).to.equal(true) - await wrapper.find('#csv-import').trigger('click') - await wrapper.vm.$refs.addCsv.loadFromCsv.returnValues[0] - await wrapper.find('#csv-finish').trigger('click') - expect(wrapper.find('[data-modal="addCsv"]').exists()).to.equal(false) - await state.db.refreshSchema.returnValues[0] - - expect(wrapper.vm.$store.state.db.schema).to.eql([ - { name: 'foo', columns: [{ name: 'id', type: 'N/A' }] }, - { name: 'test', columns: [{ name: 'col1', type: 'REAL' }, { name: 'col2', type: 'TEXT' }] } - ]) - - const res = await wrapper.vm.$store.state.db.execute('select * from test') - expect(res.values).to.eql({ - col1: [1], - col2: ['foo'] - }) - }) -}) diff --git a/tests/views/Main/Workspace/Schema/TableDescription.spec.js b/tests/views/Main/Workspace/Schema/TableDescription.spec.js deleted file mode 100644 index cc227e7..0000000 --- a/tests/views/Main/Workspace/Schema/TableDescription.spec.js +++ /dev/null @@ -1,38 +0,0 @@ -import { expect } from 'chai' -import { shallowMount } from '@vue/test-utils' -import TableDescription from '@/views/Main/Workspace/Schema/TableDescription' - -describe('TableDescription.vue', () => { - it('Initially the columns are hidden and table name is rendered', () => { - const wrapper = shallowMount(TableDescription, { - propsData: { - name: 'Test table', - columns: [ - { name: 'id', type: 'number' }, - { name: 'title', type: 'nvarchar(24)' } - ] - } - }) - expect(wrapper.find('.table-name').text()).to.equal('Test table') - expect(wrapper.find('.columns').isVisible()).to.equal(false) - }) - - it('Columns are visible and correct when click on table name', async () => { - const wrapper = shallowMount(TableDescription, { - stubs: ['router-link'], - propsData: { - name: 'Test table', - columns: [ - { name: 'id', type: 'number' }, - { name: 'title', type: 'nvarchar(24)' } - ] - } - }) - await wrapper.find('.table-name').trigger('click') - - expect(wrapper.find('.columns').isVisible()).to.equal(true) - expect(wrapper.findAll('.column').length).to.equal(2) - expect(wrapper.findAll('.column').at(0).text()).to.include('id').and.include('number') - expect(wrapper.findAll('.column').at(1).text()).to.include('title').and.include('nvarchar(24)') - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tab/DataView/Chart/Chart.spec.js b/tests/views/Main/Workspace/Tabs/Tab/DataView/Chart/Chart.spec.js deleted file mode 100644 index 013cea3..0000000 --- a/tests/views/Main/Workspace/Tabs/Tab/DataView/Chart/Chart.spec.js +++ /dev/null @@ -1,87 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import { mount, shallowMount } from '@vue/test-utils' -import Chart from '@/views/Main/Workspace/Tabs/Tab/DataView/Chart' -import chartHelper from '@/lib/chartHelper' -import * as dereference from 'react-chart-editor/lib/lib/dereference' -import fIo from '@/lib/utils/fileIo' - -describe('Chart.vue', () => { - afterEach(() => { - sinon.restore() - }) - - it('getOptionsForSave called with proper arguments', () => { - // mount the component - const wrapper = shallowMount(Chart) - const vm = wrapper.vm - const stub = sinon.stub(chartHelper, 'getOptionsForSave').returns('result') - const chartData = vm.getOptionsForSave() - expect(stub.calledOnceWith(vm.state, vm.dataSources)).to.equal(true) - expect(chartData).to.equal('result') - }) - - it('emits update when plotly updates', async () => { - // mount the component - const wrapper = mount(Chart) - wrapper.findComponent({ ref: 'plotlyEditor' }).vm.$emit('onUpdate') - expect(wrapper.emitted('update')).to.have.lengthOf(1) - }) - - it('calls dereference when dataSources is changed', async () => { - sinon.stub(dereference, 'default') - const dataSources = { - id: [1], - name: ['foo'] - } - - // mount the component - const wrapper = shallowMount(Chart, { - propsData: { dataSources } - }) - - const newDataSources = { - id: [2], - name: ['bar'] - } - - await wrapper.setProps({ dataSources: newDataSources }) - expect(dereference.default.called).to.equal(true) - }) - - it("doesn't calls dereference when dataSources is null", async () => { - sinon.stub(dereference, 'default') - const dataSources = { - id: [1], - name: ['foo'] - } - - // mount the component - const wrapper = shallowMount(Chart, { - propsData: { dataSources } - }) - - await wrapper.setProps({ dataSources: null }) - expect(dereference.default.called).to.equal(false) - }) - - it('saveAsPng', async () => { - sinon.spy(fIo, 'downloadFromUrl') - const dataSources = { - id: [1], - name: ['foo'] - } - - const wrapper = mount(Chart, { - propsData: { dataSources } - }) - sinon.spy(wrapper.vm, 'prepareCopy') - - await wrapper.vm.$nextTick() // chart is rendered - await wrapper.vm.saveAsPng() - - const url = await wrapper.vm.prepareCopy.returnValues[0] - expect(wrapper.emitted().loadingImageCompleted.length).to.equal(1) - expect(fIo.downloadFromUrl.calledOnceWith(url, 'chart')) - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tab/DataView/DataView.spec.js b/tests/views/Main/Workspace/Tabs/Tab/DataView/DataView.spec.js deleted file mode 100644 index 126e3ae..0000000 --- a/tests/views/Main/Workspace/Tabs/Tab/DataView/DataView.spec.js +++ /dev/null @@ -1,198 +0,0 @@ -import { expect } from 'chai' -import { mount, createWrapper } from '@vue/test-utils' -import DataView from '@/views/Main/Workspace/Tabs/Tab/DataView' -import sinon from 'sinon' - -describe('DataView.vue', () => { - afterEach(() => { - sinon.restore() - }) - - it('emits update on mode changing', async () => { - const wrapper = mount(DataView) - - const pivotBtn = createWrapper(wrapper.findComponent({ name: 'pivotIcon' }).vm.$parent) - await pivotBtn.trigger('click') - - expect(wrapper.emitted('update')).to.have.lengthOf(1) - }) - - it('method getOptionsForSave calls the same method of the current view component', async () => { - const wrapper = mount(DataView) - - const chart = wrapper.findComponent({ name: 'Chart' }).vm - sinon.stub(chart, 'getOptionsForSave').returns({ here_are: 'chart_settings' }) - - expect(wrapper.vm.getOptionsForSave()).to.eql({ here_are: 'chart_settings' }) - - const pivotBtn = createWrapper(wrapper.findComponent({ name: 'pivotIcon' }).vm.$parent) - await pivotBtn.trigger('click') - - const pivot = wrapper.findComponent({ name: 'pivot' }).vm - sinon.stub(pivot, 'getOptionsForSave').returns({ here_are: 'pivot_settings' }) - - expect(wrapper.vm.getOptionsForSave()).to.eql({ here_are: 'pivot_settings' }) - }) - - it('method saveAsSvg calls the same method of the current view component', async () => { - const wrapper = mount(DataView) - - // Find chart and spy the method - const chart = wrapper.findComponent({ name: 'Chart' }).vm - sinon.spy(chart, 'saveAsSvg') - - // Export to svg - const svgBtn = createWrapper(wrapper.findComponent({ name: 'exportToSvgIcon' }).vm.$parent) - await svgBtn.trigger('click') - expect(chart.saveAsSvg.calledOnce).to.equal(true) - - // Switch to pivot - const pivotBtn = createWrapper(wrapper.findComponent({ name: 'pivotIcon' }).vm.$parent) - await pivotBtn.trigger('click') - - // Find pivot and spy the method - const pivot = wrapper.findComponent({ name: 'pivot' }).vm - sinon.spy(pivot, 'saveAsSvg') - - // Export to svg - await svgBtn.trigger('click') - expect(pivot.saveAsSvg.calledOnce).to.equal(true) - }) - - it('method saveAsHtml calls the same method of the current view component', async () => { - const wrapper = mount(DataView) - - // Find chart and spy the method - const chart = wrapper.findComponent({ name: 'Chart' }).vm - sinon.spy(chart, 'saveAsHtml') - - // Export to html - const htmlBtn = createWrapper(wrapper.findComponent({ name: 'htmlIcon' }).vm.$parent) - await htmlBtn.trigger('click') - expect(chart.saveAsHtml.calledOnce).to.equal(true) - - // Switch to pivot - const pivotBtn = createWrapper(wrapper.findComponent({ name: 'pivotIcon' }).vm.$parent) - await pivotBtn.trigger('click') - - // Find pivot and spy the method - const pivot = wrapper.findComponent({ name: 'pivot' }).vm - sinon.spy(pivot, 'saveAsHtml') - - // Export to svg - await htmlBtn.trigger('click') - expect(pivot.saveAsHtml.calledOnce).to.equal(true) - }) - - it('shows alert when ClipboardItem is not supported', async () => { - const ClipboardItem = window.ClipboardItem - delete window.ClipboardItem - sinon.spy(window, 'alert') - const wrapper = mount(DataView) - - const copyBtn = createWrapper(wrapper.findComponent({ name: 'clipboardIcon' }).vm.$parent) - await copyBtn.trigger('click') - - expect( - window.alert.calledOnceWith( - "Your browser doesn't support copying images into the clipboard. " + - 'If you use Firefox you can enable it ' + - 'by setting dom.events.asyncClipboard.clipboardItem to true.' - ) - ).to.equal(true) - - window.ClipboardItem = ClipboardItem - }) - - it('copy to clipboard more than 1 sec', async () => { - sinon.stub(window.navigator.clipboard, 'write').resolves() - const clock = sinon.useFakeTimers() - const wrapper = mount(DataView) - sinon.stub(wrapper.vm.$refs.viewComponent, 'prepareCopy').callsFake(() => { - clock.tick(5000) - }) - - // Click copy to clipboard - const copyBtn = createWrapper(wrapper.findComponent({ name: 'clipboardIcon' }).vm.$parent) - await copyBtn.trigger('click') - - // The dialog is shown... - expect(wrapper.find('[data-modal="prepareCopy"]').exists()).to.equal(true) - - // ... with Rendering message... - expect(wrapper.find('.dialog-body').text()).to.equal('Rendering the visualisation...') - - // Switch to microtasks (let prepareCopy run) - clock.tick(0) - // Wait untill prepareCopy is finished - await wrapper.vm.$refs.viewComponent.prepareCopy.returnValues[0] - - await wrapper.vm.$nextTick() - - // The dialog is shown... - expect(wrapper.find('[data-modal="prepareCopy"]').exists()).to.equal(true) - - // ... with Ready message... - expect(wrapper.find('.dialog-body').text()).to.equal('Image is ready') - - // Click copy - await wrapper.find('.dialog-buttons-container button.primary').trigger('click') - - // The dialog is not shown... - expect(wrapper.find('[data-modal="prepareCopy"]').exists()).to.equal(false) - }) - - it('copy to clipboard less than 1 sec', async () => { - sinon.stub(window.navigator.clipboard, 'write').resolves() - const clock = sinon.useFakeTimers() - const wrapper = mount(DataView) - sinon.spy(wrapper.vm, 'copyToClipboard') - sinon.stub(wrapper.vm.$refs.viewComponent, 'prepareCopy').callsFake(() => { - clock.tick(500) - }) - - // Click copy to clipboard - const copyBtn = createWrapper(wrapper.findComponent({ name: 'clipboardIcon' }).vm.$parent) - await copyBtn.trigger('click') - - // Switch to microtasks (let prepareCopy run) - clock.tick(0) - // Wait untill prepareCopy is finished - await wrapper.vm.$refs.viewComponent.prepareCopy.returnValues[0] - - await wrapper.vm.$nextTick() - // The dialog is not shown... - expect(wrapper.find('[data-modal="prepareCopy"]').exists()).to.equal(false) - // copyToClipboard is called - expect(wrapper.vm.copyToClipboard.calledOnce).to.equal(true) - }) - - it('cancel long copy', async () => { - sinon.stub(window.navigator.clipboard, 'write').resolves() - const clock = sinon.useFakeTimers() - const wrapper = mount(DataView) - sinon.spy(wrapper.vm, 'copyToClipboard') - sinon.stub(wrapper.vm.$refs.viewComponent, 'prepareCopy').callsFake(() => { - clock.tick(5000) - }) - - // Click copy to clipboard - const copyBtn = createWrapper(wrapper.findComponent({ name: 'clipboardIcon' }).vm.$parent) - await copyBtn.trigger('click') - - // Switch to microtasks (let prepareCopy run) - clock.tick(0) - // Wait untill prepareCopy is finished - await wrapper.vm.$refs.viewComponent.prepareCopy.returnValues[0] - - await wrapper.vm.$nextTick() - - // Click cancel - await wrapper.find('.dialog-buttons-container button.secondary').trigger('click') - - // The dialog is not shown... - expect(wrapper.find('[data-modal="prepareCopy"]').exists()).to.equal(false) - // copyToClipboard is not called - expect(wrapper.vm.copyToClipboard.calledOnce).to.equal(false) - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/Pivot.spec.js b/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/Pivot.spec.js deleted file mode 100644 index 4362b2d..0000000 --- a/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/Pivot.spec.js +++ /dev/null @@ -1,493 +0,0 @@ -import { expect } from 'chai' -import { mount } from '@vue/test-utils' -import Pivot from '@/views/Main/Workspace/Tabs/Tab/DataView/Pivot' -import chartHelper from '@/lib/chartHelper' -import fIo from '@/lib/utils/fileIo' -import $ from 'jquery' -import sinon from 'sinon' -import pivotHelper from '@/views/Main/Workspace/Tabs/Tab/DataView/Pivot/pivotHelper' - -describe('Pivot.vue', () => { - let container - - beforeEach(() => { - container = document.createElement('div') - document.body.appendChild(container) - }) - - afterEach(() => { - container.remove() - sinon.restore() - }) - - it('renders pivot table', () => { - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - rendererName: 'Table' - } - } - }) - const colLabels = wrapper.findAll('.pivot-output thead th.pvtColLabel') - expect(colLabels.at(0).text()).to.equal('2020') - expect(colLabels.at(1).text()).to.equal('2021') - const rows = wrapper.findAll('.pivot-output tbody tr') - // row0: bar - 2 - 1 - expect(rows.at(0).find('th').text()).to.equal('bar') - expect(rows.at(0).find('td.col0').text()).to.equal('2') - expect(rows.at(0).find('td.col1').text()).to.equal('1') - expect(rows.at(0).find('td.rowTotal').text()).to.equal('3') - - // row1: foo - - 2 - expect(rows.at(1).find('th').text()).to.equal('foo') - expect(rows.at(1).find('td.col0').text()).to.equal('') - expect(rows.at(1).find('td.col1').text()).to.equal('1') - expect(rows.at(1).find('td.rowTotal').text()).to.equal('1') - }) - - it('updates when dataSource changes', async () => { - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - rendererName: 'Table' - } - } - }) - - await wrapper.setProps({ - dataSources: { - item: ['foo', 'bar', 'bar', 'bar', 'foo', 'baz'], - year: [2021, 2021, 2020, 2020, 2021, 2020] - } - }) - - const colLabels = wrapper.findAll('.pivot-output thead th.pvtColLabel') - expect(colLabels.at(0).text()).to.equal('2020') - expect(colLabels.at(1).text()).to.equal('2021') - const rows = wrapper.findAll('.pivot-output tbody tr') - // row0: bar - 2 - 1 - expect(rows.at(0).find('th').text()).to.equal('bar') - expect(rows.at(0).find('td.col0').text()).to.equal('2') - expect(rows.at(0).find('td.col1').text()).to.equal('1') - expect(rows.at(0).find('td.rowTotal').text()).to.equal('3') - - // row1: baz - 1 - - expect(rows.at(1).find('th').text()).to.equal('baz') - expect(rows.at(1).find('td.col0').text()).to.equal('1') - expect(rows.at(1).find('td.col1').text()).to.equal('') - expect(rows.at(1).find('td.rowTotal').text()).to.equal('1') - - // row2: foo - - 2 - expect(rows.at(2).find('th').text()).to.equal('foo') - expect(rows.at(2).find('td.col0').text()).to.equal('') - expect(rows.at(2).find('td.col1').text()).to.equal('2') - expect(rows.at(2).find('td.rowTotal').text()).to.equal('2') - }) - - it('returns options for save', async () => { - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - rendererName: 'Table' - } - } - }) - - await wrapper.findComponent({ name: 'pivotUi' }).vm.$emit('input', { - rows: ['year'], - cols: ['item'], - colOrder: 'value_a_to_z', - rowOrder: 'value_z_to_a', - aggregator: $.pivotUtilities.aggregators.Count(), - aggregatorName: 'Count', - renderer: $.pivotUtilities.renderers.Table, - rendererName: 'Table', - rendererOptions: undefined, - vals: [] - }) - - let optionsForSave = wrapper.vm.getOptionsForSave() - - expect(optionsForSave.rows).to.eql(['year']) - expect(optionsForSave.cols).to.eql(['item']) - expect(optionsForSave.colOrder).to.equal('value_a_to_z') - expect(optionsForSave.rowOrder).to.equal('value_z_to_a') - expect(optionsForSave.aggregatorName).to.equal('Count') - expect(optionsForSave.rendererName).to.equal('Table') - expect(optionsForSave.rendererOptions).to.equal(undefined) - expect(optionsForSave.vals).to.eql([]) - - await wrapper.findComponent({ name: 'pivotUi' }).vm.$emit('input', { - rows: ['item'], - cols: ['year'], - colOrder: 'value_a_to_z', - rowOrder: 'value_z_to_a', - aggregator: $.pivotUtilities.aggregators.Count(), - aggregatorName: 'Count', - renderer: $.pivotUtilities.renderers['Custom chart'], - rendererName: 'Custom chart', - rendererOptions: { - customChartComponent: { - $mount: sinon.stub(), - getOptionsForSave () { - return { here_are: 'custom chart settings' } - } - } - }, - vals: [] - }) - - optionsForSave = wrapper.vm.getOptionsForSave() - expect(optionsForSave.rows).to.eql(['item']) - expect(optionsForSave.cols).to.eql(['year']) - expect(optionsForSave.colOrder).to.equal('value_a_to_z') - expect(optionsForSave.rowOrder).to.equal('value_z_to_a') - expect(optionsForSave.aggregatorName).to.equal('Count') - expect(optionsForSave.rendererName).to.equal('Custom chart') - expect(optionsForSave.rendererOptions).to.eql({ - customChartOptions: { here_are: 'custom chart settings' } - }) - expect(optionsForSave.vals).to.eql([]) - }) - - it('prepareCopy returns canvas for tables and url for plotly charts', async () => { - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - rendererName: 'Table' - } - }, - attachTo: container - }) - - expect(await wrapper.vm.prepareCopy()).to.be.instanceof(HTMLCanvasElement) - - await wrapper.findComponent({ name: 'pivotUi' }).vm.$emit('input', { - rows: ['item'], - cols: ['year'], - colOrder: 'value_a_to_z', - rowOrder: 'value_z_to_a', - aggregator: $.pivotUtilities.aggregators.Count(), - aggregatorName: 'Count', - renderer: $.pivotUtilities.renderers['Custom chart'], - rendererName: 'Custom chart', - rendererOptions: { - customChartComponent: { - $mount: sinon.stub(), - prepareCopy: sinon.stub().returns(URL.createObjectURL(new Blob())) - } - }, - vals: [] - }) - - expect(await wrapper.vm.prepareCopy()).to.be.a('string') - - await wrapper.findComponent({ name: 'pivotUi' }).vm.$emit('input', { - rows: ['item'], - cols: ['year'], - colOrder: 'value_a_to_z', - rowOrder: 'value_z_to_a', - aggregator: $.pivotUtilities.aggregators.Count(), - aggregatorName: 'Count', - renderer: $.pivotUtilities.renderers['Bar Chart'], - rendererName: 'Bar Chart', - vals: [] - }) - - expect(await wrapper.vm.prepareCopy()).to.be.a('string') - }) - - it('saveAsSvg calls chart method if renderer is Custom Chart', async () => { - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - renderer: $.pivotUtilities.renderers['Custom chart'], - rendererName: 'Custom chart', - rendererOptions: { - customChartOptions: { - data: [], - layout: {}, - frames: [] - } - } - } - }, - attachTo: container - }) - - const chartComponent = wrapper.vm.pivotOptions.rendererOptions.customChartComponent - sinon.stub(chartComponent, 'saveAsSvg') - - await wrapper.vm.saveAsSvg() - expect(chartComponent.saveAsSvg.called).to.equal(true) - }) - - it('saveAsHtml calls chart method if renderer is Custom Chart', async () => { - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - renderer: $.pivotUtilities.renderers['Custom chart'], - rendererName: 'Custom chart', - rendererOptions: { - customChartOptions: { - data: [], - layout: {}, - frames: [] - } - } - } - }, - attachTo: container - }) - - const chartComponent = wrapper.vm.pivotOptions.rendererOptions.customChartComponent - sinon.stub(chartComponent, 'saveAsHtml') - - await wrapper.vm.saveAsHtml() - expect(chartComponent.saveAsHtml.called).to.equal(true) - }) - - it('saveAsPng calls chart method if renderer is Custom Chart', async () => { - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - renderer: $.pivotUtilities.renderers['Custom chart'], - rendererName: 'Custom chart', - rendererOptions: { - customChartOptions: { - data: [], - layout: {}, - frames: [] - } - } - } - }, - attachTo: container - }) - - const chartComponent = wrapper.vm.pivotOptions.rendererOptions.customChartComponent - sinon.stub(chartComponent, 'saveAsPng') - - await wrapper.vm.saveAsPng() - expect(chartComponent.saveAsPng.called).to.equal(true) - }) - - it('saveAsSvg - standart chart', async () => { - sinon.spy(chartHelper, 'getImageDataUrl') - - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - renderer: $.pivotUtilities.renderers['Bar Chart'], - rendererName: 'Bar Chart' - } - }, - attachTo: container - }) - - await wrapper.vm.saveAsSvg() - expect(chartHelper.getImageDataUrl.calledOnce).to.equal(true) - }) - - it('saveAsHtml - standart chart', async () => { - sinon.spy(chartHelper, 'getChartData') - sinon.spy(chartHelper, 'getHtml') - - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - renderer: $.pivotUtilities.renderers['Bar Chart'], - rendererName: 'Bar Chart' - } - }, - attachTo: container - }) - - await wrapper.vm.saveAsHtml() - expect(chartHelper.getChartData.calledOnce).to.equal(true) - const chartData = await chartHelper.getChartData.returnValues[0] - expect(chartHelper.getHtml.calledOnceWith(chartData)).to.equal(true) - }) - - it('saveAsHtml - table', async () => { - sinon.stub(pivotHelper, 'getPivotHtml') - sinon.stub(fIo, 'exportToFile') - - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - renderer: $.pivotUtilities.renderers.Table, - rendererName: 'Table' - } - }, - attachTo: container - }) - - await wrapper.vm.saveAsHtml() - expect(pivotHelper.getPivotHtml.calledOnce).to.equal(true) - const html = pivotHelper.getPivotHtml.returnValues[0] - expect(fIo.exportToFile.calledOnceWith(html, 'pivot.html', 'text/html')).to.equal(true) - }) - - it('saveAsPng - standart chart', async () => { - sinon.stub(chartHelper, 'getImageDataUrl').returns('standat chart data url') - sinon.stub(fIo, 'downloadFromUrl') - - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - renderer: $.pivotUtilities.renderers['Bar Chart'], - rendererName: 'Bar Chart' - } - }, - attachTo: container - }) - - await wrapper.vm.saveAsPng() - expect(chartHelper.getImageDataUrl.calledOnce).to.equal(true) - await chartHelper.getImageDataUrl.returnValues[0] - expect(wrapper.emitted().loadingImageCompleted.length).to.equal(1) - expect(fIo.downloadFromUrl.calledOnceWith('standat chart data url', 'pivot')).to.equal(true) - }) - - it('saveAsPng - table', async () => { - sinon.stub(HTMLCanvasElement.prototype, 'toDataURL').returns('canvas data url') - sinon.stub(fIo, 'downloadFromUrl') - - const wrapper = mount(Pivot, { - propsData: { - dataSources: { - item: ['foo', 'bar', 'bar', 'bar'], - year: [2021, 2021, 2020, 2020] - }, - initOptions: { - rows: ['item'], - cols: ['year'], - colOrder: 'key_a_to_z', - rowOrder: 'key_a_to_z', - aggregatorName: 'Count', - vals: [], - renderer: $.pivotUtilities.renderers.Table, - rendererName: 'Table' - } - }, - attachTo: container - }) - - await wrapper.vm.saveAsPng() - expect(HTMLCanvasElement.prototype.toDataURL.calledOnce).to.equal(true) - await HTMLCanvasElement.prototype.toDataURL.returnValues[0] - expect(wrapper.emitted().loadingImageCompleted.length).to.equal(1) - expect(fIo.downloadFromUrl.calledOnceWith('canvas data url', 'pivot')).to.equal(true) - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotSortBtn.spec.js b/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotSortBtn.spec.js deleted file mode 100644 index 4a79e93..0000000 --- a/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotSortBtn.spec.js +++ /dev/null @@ -1,21 +0,0 @@ -import { expect } from 'chai' -import { shallowMount } from '@vue/test-utils' -import PivotSortBtn from '@/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotSortBtn' - -describe('PivotSortBtn.vue', () => { - it('switches order', async () => { - const wrapper = shallowMount(PivotSortBtn, { propsData: { value: 'key_a_to_z' } }) - - expect(wrapper.vm.value).to.equal('key_a_to_z') - await wrapper.find('.pivot-sort-btn').trigger('click') - expect(wrapper.emitted('input')[0]).to.eql(['value_a_to_z']) - - await wrapper.setProps({ value: 'value_a_to_z' }) - await wrapper.find('.pivot-sort-btn').trigger('click') - expect(wrapper.emitted('input')[1]).to.eql(['value_z_to_a']) - - await wrapper.setProps({ value: 'value_z_to_a' }) - await wrapper.find('.pivot-sort-btn').trigger('click') - expect(wrapper.emitted('input')[2]).to.eql(['key_a_to_z']) - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotUi.spec.js b/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotUi.spec.js deleted file mode 100644 index 1933f3e..0000000 --- a/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi/PivotUi.spec.js +++ /dev/null @@ -1,143 +0,0 @@ -import { expect } from 'chai' -import { mount } from '@vue/test-utils' -import PivotUi from '@/views/Main/Workspace/Tabs/Tab/DataView/Pivot/PivotUi' - -describe('PivotUi.vue', () => { - it('returns value when settings changed', async () => { - const wrapper = mount(PivotUi, { - propsData: { - keyNames: ['foo', 'bar'] - } - }) - - // choose columns - await wrapper.findAll('.sqliteviz-select.cols .multiselect__element > span').at(0) - .trigger('click') - - expect(wrapper.emitted().update.length).to.equal(1) - expect(wrapper.emitted().input[0][0].rows).to.eql([]) - expect(wrapper.emitted().input[0][0].cols).to.eql(['foo']) - expect(wrapper.emitted().input[0][0].colOrder).to.equal('key_a_to_z') - expect(wrapper.emitted().input[0][0].rowOrder).to.equal('key_a_to_z') - expect(wrapper.emitted().input[0][0].aggregatorName).to.equal('Count') - expect(wrapper.emitted().input[0][0].rendererName).to.equal('Table') - expect(wrapper.emitted().input[0][0].rendererOptions).to.equal(undefined) - expect(wrapper.emitted().input[0][0].vals).to.eql([]) - - // choose rows - await wrapper.findAll('.sqliteviz-select.rows .multiselect__element > span').at(0) - .trigger('click') - - expect(wrapper.emitted().update.length).to.equal(2) - expect(wrapper.emitted().input[1][0].rows).to.eql(['bar']) - expect(wrapper.emitted().input[1][0].cols).to.eql(['foo']) - expect(wrapper.emitted().input[1][0].colOrder).to.equal('key_a_to_z') - expect(wrapper.emitted().input[1][0].rowOrder).to.equal('key_a_to_z') - expect(wrapper.emitted().input[1][0].aggregatorName).to.equal('Count') - expect(wrapper.emitted().input[1][0].rendererName).to.equal('Table') - expect(wrapper.emitted().input[1][0].rendererOptions).to.equal(undefined) - expect(wrapper.emitted().input[1][0].vals).to.eql([]) - - // change column order - await wrapper.find('.pivot-sort-btn.col').trigger('click') - - expect(wrapper.emitted().update.length).to.equal(3) - expect(wrapper.emitted().input[2][0].rows).to.eql(['bar']) - expect(wrapper.emitted().input[2][0].cols).to.eql(['foo']) - expect(wrapper.emitted().input[2][0].colOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[2][0].rowOrder).to.equal('key_a_to_z') - expect(wrapper.emitted().input[2][0].aggregatorName).to.equal('Count') - expect(wrapper.emitted().input[2][0].rendererName).to.equal('Table') - expect(wrapper.emitted().input[2][0].rendererOptions).to.equal(undefined) - expect(wrapper.emitted().input[2][0].vals).to.eql([]) - - // change row order - await wrapper.find('.pivot-sort-btn.row').trigger('click') - - expect(wrapper.emitted().update.length).to.equal(4) - expect(wrapper.emitted().input[3][0].rows).to.eql(['bar']) - expect(wrapper.emitted().input[3][0].cols).to.eql(['foo']) - expect(wrapper.emitted().input[3][0].colOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[3][0].rowOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[3][0].aggregatorName).to.equal('Count') - expect(wrapper.emitted().input[3][0].rendererName).to.equal('Table') - expect(wrapper.emitted().input[3][0].rendererOptions).to.equal(undefined) - expect(wrapper.emitted().input[3][0].vals).to.eql([]) - - // change aggregator - await wrapper.findAll('.sqliteviz-select.aggregator .multiselect__element > span').at(12) - .trigger('click') - - expect(wrapper.emitted().update.length).to.equal(5) - expect(wrapper.emitted().input[4][0].rows).to.eql(['bar']) - expect(wrapper.emitted().input[4][0].cols).to.eql(['foo']) - expect(wrapper.emitted().input[4][0].colOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[4][0].rowOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[4][0].aggregatorName).to.equal('Sum over Sum') - expect(wrapper.emitted().input[4][0].rendererName).to.equal('Table') - expect(wrapper.emitted().input[4][0].rendererOptions).to.equal(undefined) - expect(wrapper.emitted().input[4][0].vals).to.eql(['', '']) - - // set first aggregator argument - await wrapper - .findAll('.sqliteviz-select.aggr-arg').at(0) - .findAll('.multiselect__element > span').at(0) - .trigger('click') - - expect(wrapper.emitted().update.length).to.equal(6) - expect(wrapper.emitted().input[5][0].rows).to.eql(['bar']) - expect(wrapper.emitted().input[5][0].cols).to.eql(['foo']) - expect(wrapper.emitted().input[5][0].colOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[5][0].rowOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[5][0].aggregatorName).to.equal('Sum over Sum') - expect(wrapper.emitted().input[5][0].rendererName).to.equal('Table') - expect(wrapper.emitted().input[5][0].rendererOptions).to.equal(undefined) - expect(wrapper.emitted().input[5][0].vals).to.eql(['foo', '']) - - // set second aggregator argument - await wrapper - .findAll('.sqliteviz-select.aggr-arg').at(1) - .findAll('.multiselect__element > span').at(1) - .trigger('click') - - expect(wrapper.emitted().update.length).to.equal(7) - expect(wrapper.emitted().input[6][0].rows).to.eql(['bar']) - expect(wrapper.emitted().input[6][0].cols).to.eql(['foo']) - expect(wrapper.emitted().input[6][0].colOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[6][0].rowOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[6][0].aggregatorName).to.equal('Sum over Sum') - expect(wrapper.emitted().input[6][0].rendererName).to.equal('Table') - expect(wrapper.emitted().input[6][0].rendererOptions).to.equal(undefined) - expect(wrapper.emitted().input[6][0].vals).to.eql(['foo', 'bar']) - - // change renderer - await wrapper.findAll('.sqliteviz-select.renderer .multiselect__element > span').at(13) - .trigger('click') - - expect(wrapper.emitted().update.length).to.equal(8) - expect(wrapper.emitted().input[7][0].rows).to.eql(['bar']) - expect(wrapper.emitted().input[7][0].cols).to.eql(['foo']) - expect(wrapper.emitted().input[7][0].colOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[7][0].rowOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[7][0].aggregatorName).to.equal('Sum over Sum') - expect(wrapper.emitted().input[7][0].rendererName).to.equal('Custom chart') - expect(wrapper.emitted().input[7][0].rendererOptions.customChartComponent) - .to.not.equal(undefined) - expect(wrapper.emitted().input[7][0].vals).to.eql(['foo', 'bar']) - - // change aggregator again - await wrapper.findAll('.sqliteviz-select.aggregator .multiselect__element > span').at(3) - .trigger('click') - - expect(wrapper.emitted().update.length).to.equal(9) - expect(wrapper.emitted().input[8][0].rows).to.eql(['bar']) - expect(wrapper.emitted().input[8][0].cols).to.eql(['foo']) - expect(wrapper.emitted().input[8][0].colOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[8][0].rowOrder).to.equal('value_a_to_z') - expect(wrapper.emitted().input[8][0].aggregatorName).to.equal('Sum') - expect(wrapper.emitted().input[8][0].rendererName).to.equal('Custom chart') - expect(wrapper.emitted().input[8][0].rendererOptions.customChartComponent) - .to.not.equal(undefined) - expect(wrapper.emitted().input[8][0].vals).to.eql(['foo']) - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/pivotHelper.spec.js b/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/pivotHelper.spec.js deleted file mode 100644 index b6d174b..0000000 --- a/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/pivotHelper.spec.js +++ /dev/null @@ -1,81 +0,0 @@ -import { expect } from 'chai' -import { _getDataSources, getPivotCanvas, getPivotHtml } - from '@/views/Main/Workspace/Tabs/Tab/DataView/Pivot/pivotHelper' - -describe('pivotHelper.js', () => { - it('_getDataSources returns data sources', () => { - /* - +---+---+---------+---------+ - | | x | 5 | 10 | - | +---+----+----+----+----+ - | | z | 2 | 3 | 1 | 6 | - +---+---+ | | | | - | y | | | | | | - +---+---+----+----+----+----+ - | 3 | 5 | 6 | 4 | 9 | - +-------+----+----+----+----+ - | 6 | 8 | 9 | 7 | 12 | - +-------+----+----+----+----+ - | 9 | 11 | 12 | 10 | 15 | - +-------+----+----+----+----+ - */ - const pivotData = { - rowAttrs: ['y'], - colAttrs: ['x', 'z'], - getRowKeys () { - return [[3], [6], [9]] - }, - getColKeys () { - return [ - [5, 2], - [5, 3], - [10, 1], - [10, 6] - ] - }, - getAggregator (row, col) { - return { - value () { - return +row + +col[1] - } - } - } - } - - expect(_getDataSources(pivotData)).to.eql({ - 'Column keys': ['5-2', '5-3', '10-1', '10-6'], - 'Row keys': ['3', '6', '9'], - 'x-z:5-2': [5, 8, 11], - 'x-z:5-3': [6, 9, 12], - 'x-z:10-1': [4, 7, 10], - 'x-z:10-6': [9, 12, 15], - 'y:3': [5, 6, 4, 9], - 'y:6': [8, 9, 7, 12], - 'y:9': [11, 12, 10, 15] - }) - }) - - it('getPivotCanvas returns canvas', async () => { - const pivotOutput = document.body - const child = document.createElement('div') - child.classList.add('pvtTable') - pivotOutput.append(child) - - expect(await getPivotCanvas(pivotOutput)).to.be.instanceof(HTMLCanvasElement) - }) - - it('getPivotHtml returns html with styles', async () => { - const pivotOutput = document.createElement('div') - pivotOutput.append('test') - - const html = getPivotHtml(pivotOutput) - const doc = document.createElement('div') - doc.innerHTML = html - - expect(doc.innerHTML).to.equal(html) - expect(doc.children).to.have.lengthOf(2) - expect(doc.children[0].tagName).to.equal('STYLE') - expect(doc.children[1].tagName).to.equal('DIV') - expect(doc.children[1].innerHTML).to.equal('test') - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tab/RunResult.spec.js b/tests/views/Main/Workspace/Tabs/Tab/RunResult.spec.js deleted file mode 100644 index 958d590..0000000 --- a/tests/views/Main/Workspace/Tabs/Tab/RunResult.spec.js +++ /dev/null @@ -1,155 +0,0 @@ -import { expect } from 'chai' -import { mount, createWrapper } from '@vue/test-utils' -import RunResult from '@/views/Main/Workspace/Tabs/Tab/RunResult' -import csv from '@/lib/csv' -import sinon from 'sinon' - -describe('RunResult.vue', () => { - afterEach(() => { - sinon.restore() - }) - - it('shows alert when ClipboardItem is not supported', async () => { - const ClipboardItem = window.ClipboardItem - delete window.ClipboardItem - sinon.spy(window, 'alert') - const wrapper = mount(RunResult, { - propsData: { - result: { - columns: ['id', 'name'], - values: { - id: [1], - name: ['foo'] - } - } - } - }) - - const copyBtn = createWrapper(wrapper.findComponent({ name: 'clipboardIcon' }).vm.$parent) - await copyBtn.trigger('click') - - expect( - window.alert.calledOnceWith( - "Your browser doesn't support copying into the clipboard. " + - 'If you use Firefox you can enable it ' + - 'by setting dom.events.asyncClipboard.clipboardItem to true.' - ) - ).to.equal(true) - - window.ClipboardItem = ClipboardItem - }) - - it('copy to clipboard more than 1 sec', async () => { - sinon.stub(window.navigator.clipboard, 'writeText').resolves() - const clock = sinon.useFakeTimers() - const wrapper = mount(RunResult, { - propsData: { - result: { - columns: ['id', 'name'], - values: { - id: [1], - name: ['foo'] - } - } - } - }) - sinon.stub(csv, 'serialize').callsFake(() => { - clock.tick(5000) - }) - - // Click copy to clipboard - const copyBtn = createWrapper(wrapper.findComponent({ name: 'clipboardIcon' }).vm.$parent) - await copyBtn.trigger('click') - - // The dialog is shown... - expect(wrapper.find('[data-modal="prepareCSVCopy"]').exists()).to.equal(true) - - // ... with Building message... - expect(wrapper.find('.dialog-body').text()).to.equal('Building CSV...') - - // Switch to microtasks (let serialize run) - clock.tick(0) - await wrapper.vm.$nextTick() - - // The dialog is shown... - expect(wrapper.find('[data-modal="prepareCSVCopy"]').exists()).to.equal(true) - - // ... with Ready message... - expect(wrapper.find('.dialog-body').text()).to.equal('CSV is ready') - - // Click copy - await wrapper.find('.dialog-buttons-container button.primary').trigger('click') - - // The dialog is not shown... - expect(wrapper.find('[data-modal="prepareCSVCopy"]').exists()).to.equal(false) - }) - - it('copy to clipboard less than 1 sec', async () => { - sinon.stub(window.navigator.clipboard, 'writeText').resolves() - const clock = sinon.useFakeTimers() - const wrapper = mount(RunResult, { - propsData: { - result: { - columns: ['id', 'name'], - values: { - id: [1], - name: ['foo'] - } - } - } - }) - sinon.spy(wrapper.vm, 'copyToClipboard') - sinon.stub(csv, 'serialize').callsFake(() => { - clock.tick(500) - }) - - // Click copy to clipboard - const copyBtn = createWrapper(wrapper.findComponent({ name: 'clipboardIcon' }).vm.$parent) - await copyBtn.trigger('click') - - // Switch to microtasks (let serialize run) - clock.tick(0) - await wrapper.vm.$nextTick() - - // The dialog is not shown... - expect(wrapper.find('[data-modal="prepareCSVCopy"]').exists()).to.equal(false) - // copyToClipboard is called - expect(wrapper.vm.copyToClipboard.calledOnce).to.equal(true) - }) - - it('cancel long copy', async () => { - sinon.stub(window.navigator.clipboard, 'writeText').resolves() - const clock = sinon.useFakeTimers() - const wrapper = mount(RunResult, { - propsData: { - result: { - columns: ['id', 'name'], - values: { - id: [1], - name: ['foo'] - } - } - } - }) - sinon.spy(wrapper.vm, 'copyToClipboard') - sinon.stub(csv, 'serialize').callsFake(() => { - clock.tick(5000) - }) - - // Click copy to clipboard - const copyBtn = createWrapper(wrapper.findComponent({ name: 'clipboardIcon' }).vm.$parent) - await copyBtn.trigger('click') - - // Switch to microtasks (let serialize run) - clock.tick(0) - await wrapper.vm.$nextTick() - - // Click cancel - await wrapper.find('.dialog-buttons-container button.secondary').trigger('click') - - // The dialog is not shown... - expect(wrapper.find('[data-modal="prepareCSVCopy"]').exists()).to.equal(false) - // copyToClipboard is not called - expect(wrapper.vm.copyToClipboard.calledOnce).to.equal(false) - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tab/SqlEditor/SqlEditor.spec.js b/tests/views/Main/Workspace/Tabs/Tab/SqlEditor/SqlEditor.spec.js deleted file mode 100644 index 118b899..0000000 --- a/tests/views/Main/Workspace/Tabs/Tab/SqlEditor/SqlEditor.spec.js +++ /dev/null @@ -1,44 +0,0 @@ -import { expect } from 'chai' -import { mount } from '@vue/test-utils' -import Vuex from 'vuex' -import SqlEditor from '@/views/Main/Workspace/Tabs/Tab/SqlEditor' - -describe('SqlEditor.vue', () => { - it('Emits input event when a query is changed', async () => { - // mock store state - const state = { - db: {} - } - - const store = new Vuex.Store({ state }) - - const wrapper = mount(SqlEditor, { store }) - await wrapper.findComponent({ name: 'codemirror' }).vm.$emit('input', 'SELECT * FROM foo') - expect(wrapper.emitted('input')[0]).to.eql(['SELECT * FROM foo']) - }) - - it('Run is disabled if there is no db or no query or is getting result set', async () => { - const state = { - db: null - } - const store = new Vuex.Store({ state }) - - const wrapper = mount(SqlEditor, { store, propsData: { isGettingResults: false } }) - await wrapper.findComponent({ name: 'codemirror' }).vm.$emit('input', 'SELECT * FROM foo') - const runButton = wrapper.findComponent({ name: 'RunIcon' }).vm.$parent - - expect(runButton.disabled).to.equal(true) - - await wrapper.vm.$set(store.state, 'db', {}) - expect(runButton.disabled).to.equal(false) - - await wrapper.findComponent({ name: 'codemirror' }).vm.$emit('input', '') - expect(runButton.disabled).to.equal(true) - - await wrapper.findComponent({ name: 'codemirror' }).vm.$emit('input', 'SELECT * FROM foo') - expect(runButton.disabled).to.equal(false) - - await wrapper.setProps({ isGettingResults: true }) - expect(runButton.disabled).to.equal(true) - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tab/SqlEditor/hint.spec.js b/tests/views/Main/Workspace/Tabs/Tab/SqlEditor/hint.spec.js deleted file mode 100644 index 378ab07..0000000 --- a/tests/views/Main/Workspace/Tabs/Tab/SqlEditor/hint.spec.js +++ /dev/null @@ -1,221 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import state from '@/store/state' -import showHint, { getHints } from '@/views/Main/Workspace/Tabs/Tab/SqlEditor/hint' -import CM from 'codemirror' - -describe('hint.js', () => { - afterEach(() => { - sinon.restore() - }) - - it('Calculates table list for hint', () => { - // mock store state - const db = { - schema: [ - { - name: 'foo', - columns: [ - { name: 'fooId', type: 'INTEGER' }, - { name: 'name', type: 'NVARCHAR(20)' } - ] - }, - { - name: 'bar', - columns: [ - { name: 'barId', type: 'INTEGER' } - ] - } - ] - } - sinon.stub(state, 'db').value(db) - - // mock showHint and editor - sinon.stub(CM, 'showHint') - const editor = { - getTokenAt () { - return { - string: 'SELECT', - type: 'keyword' - } - }, - getCursor: sinon.stub() - } - - showHint(editor) - - expect(CM.showHint.called).to.equal(true) - expect(CM.showHint.firstCall.args[2].tables).to.eql({ - foo: ['fooId', 'name'], - bar: ['barId'] - }) - expect(CM.showHint.firstCall.args[2].defaultTable).to.equal(null) - }) - - it('Add default table if there is only one table in schema', () => { - // mock store state - const db = { - schema: [ - { - name: 'foo', - columns: [ - { name: 'fooId', type: 'INTEGER' }, - { name: 'name', type: 'NVARCHAR(20)' } - ] - } - ] - } - sinon.stub(state, 'db').value(db) - - // mock showHint and editor - sinon.stub(CM, 'showHint') - const editor = { - getTokenAt () { - return { - string: 'SELECT', - type: 'keyword' - } - }, - getCursor: sinon.stub() - } - - showHint(editor) - expect(CM.showHint.firstCall.args[2].defaultTable).to.equal('foo') - }) - - it("Doesn't show hint when in string or space, or ';'", () => { - // mock showHint and editor - sinon.stub(CM, 'showHint') - const editor = { - getTokenAt () { - return { - string: 'foo', - type: 'string' - } - }, - getCursor: sinon.stub() - } - - showHint(editor) - expect(CM.showHint.called).to.equal(false) - }) - - it("Doesn't show hint after space", () => { - // mock showHint and editor - sinon.stub(CM, 'showHint') - const editor = { - getTokenAt () { - return { - string: ' ', - type: null - } - }, - getCursor: sinon.stub() - } - - showHint(editor) - expect(CM.showHint.called).to.equal(false) - }) - - it("Doesn't show hint after ';'", () => { - // mock showHint and editor - sinon.stub(CM, 'showHint') - const editor = { - getTokenAt () { - return { - string: ';', - type: 'punctuation' - } - }, - getCursor: sinon.stub() - } - - showHint(editor) - expect(CM.showHint.called).to.equal(false) - }) - - it( - 'getHints returns [ ] if there is only one option and token is completed with this option', - () => { - // mock CM.hint.sql and editor - sinon.stub(CM.hint, 'sql').returns({ list: [{ text: 'SELECT' }] }) - const editor = { - getTokenAt () { - return { - string: 'select', - type: 'keyword' - } - }, - getCursor: sinon.stub() - } - - const hints = getHints(editor, {}) - expect(hints.list).to.eql([]) - } - ) - - it('getHints returns hints as is when there are more than one option', () => { - // mock CM.hint.sql and editor - const list = [ - { text: 'SELECT' }, - { text: 'ST' } - ] - sinon.stub(CM.hint, 'sql').returns({ list }) - const editor = { - getTokenAt () { - return { - string: 'se', - type: 'keyword' - } - }, - getCursor: sinon.stub() - } - - const hints = getHints(editor, {}) - expect(hints.list).to.eql(list) - - sinon.restore() - }) - - it( - 'getHints returns hints as is when there only one option but the token is not completed', - () => { - // mock CM.hint.sql and editor - const list = [{ text: 'SELECT' }] - sinon.stub(CM.hint, 'sql').returns({ list }) - const editor = { - getTokenAt () { - return { - string: 'sele', - type: 'keyword' - } - }, - getCursor: sinon.stub() - } - - const hints = getHints(editor, {}) - expect(hints.list).to.eql(list) - } - ) - - it('tables is empty object when schema is null', () => { - // mock store state - sinon.stub(state, 'db').value({ schema: null }) - - // mock showHint and editor - sinon.stub(CM, 'showHint') - const editor = { - getTokenAt () { - return { - string: 'SELECT', - type: 'keyword' - } - }, - getCursor: sinon.stub() - } - - showHint(editor) - expect(CM.showHint.called).to.equal(true) - expect(CM.showHint.firstCall.args[2].tables).to.eql({}) - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tab/Tab.spec.js b/tests/views/Main/Workspace/Tabs/Tab/Tab.spec.js deleted file mode 100644 index 3cf2201..0000000 --- a/tests/views/Main/Workspace/Tabs/Tab/Tab.spec.js +++ /dev/null @@ -1,364 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import { mount, createWrapper } from '@vue/test-utils' -import mutations from '@/store/mutations' -import Vuex from 'vuex' -import Tab from '@/views/Main/Workspace/Tabs/Tab' - -let place - -describe('Tab.vue', () => { - beforeEach(() => { - place = document.createElement('div') - document.body.appendChild(place) - }) - - afterEach(() => { - sinon.restore() - place.remove() - }) - - it('Renders passed query', () => { - // mock store state - const state = { - currentTabId: 1 - } - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tab, { - attachTo: place, - store, - stubs: ['chart'], - propsData: { - id: 1, - initName: 'foo', - initQuery: 'SELECT * FROM foo', - initViewType: 'chart', - initViewOptions: [], - tabIndex: 0, - isPredefined: false - } - }) - - expect(wrapper.find('.tab-content-container').isVisible()).to.equal(true) - expect(wrapper.find('.bottomPane .run-result-panel').exists()).to.equal(true) - expect(wrapper.find('.run-result-panel .result-before').isVisible()).to.equal(true) - expect(wrapper.find('.above .sql-editor-panel .codemirror-container').text()) - .to.equal('SELECT * FROM foo') - }) - - it("Doesn't render tab when it's not active", () => { - // mock store state - const state = { - currentTabId: 0 - } - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tab, { - store, - stubs: ['chart'], - propsData: { - id: 1 - } - }) - expect(wrapper.find('.tab-content-container').isVisible()).to.equal(false) - }) - - it('Is not visible when not active', async () => { - // mock store state - const state = { - currentTabId: 0 - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tab, { - store, - stubs: ['chart'], - propsData: { - id: 1 - } - }) - - expect(wrapper.find('.tab-content-container').isVisible()).to.equal(false) - }) - - it('Calls setCurrentTab when becomes active', async () => { - // mock store state - const state = { - currentTabId: 0 - } - sinon.spy(mutations, 'setCurrentTab') - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tab, { - store, - stubs: ['chart'], - propsData: { - id: 1 - } - }) - - state.currentTabId = 1 - await wrapper.vm.$nextTick() - expect(mutations.setCurrentTab.calledOnceWith(state, wrapper.vm)).to.equal(true) - }) - - it('Update tab state when a query is changed', async () => { - // mock store state - const state = { - tabs: [ - { id: 1, name: 'foo', query: 'SELECT * FROM foo', chart: [], isSaved: true } - ], - currentTabId: 1 - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tab, { - store, - stubs: ['chart'], - propsData: { - id: 1, - initName: 'foo', - initQuery: 'SELECT * FROM foo', - initViewOptions: [], - initViewType: 'chart', - tabIndex: 0, - isPredefined: false - } - }) - await wrapper.findComponent({ name: 'SqlEditor' }).vm.$emit('input', ' limit 100') - expect(state.tabs[0].isSaved).to.equal(false) - }) - - it('Update tab state when data view settings are changed', async () => { - // mock store state - const state = { - tabs: [ - { id: 1, name: 'foo', query: 'SELECT * FROM foo', chart: [], isSaved: true } - ], - currentTabId: 1 - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tab, { - store, - stubs: ['chart'], - propsData: { - id: 1, - initName: 'foo', - initQuery: 'SELECT * FROM foo', - initViewOptions: [], - initViewType: 'chart', - tabIndex: 0, - isPredefined: false - } - }) - await wrapper.findComponent({ name: 'DataView' }).vm.$emit('update') - expect(state.tabs[0].isSaved).to.equal(false) - }) - - it('Shows .result-in-progress message when executing query', async () => { - // mock store state - const state = { - currentTabId: 1, - db: { - execute () { return new Promise(() => {}) } - } - } - - const store = new Vuex.Store({ state, mutations }) - // mount the component - const wrapper = mount(Tab, { - store, - stubs: ['chart'], - propsData: { - id: 1, - initName: 'foo', - initQuery: 'SELECT * FROM foo', - initViewOptions: [], - initViewType: 'chart', - tabIndex: 0, - isPredefined: false - } - }) - - wrapper.vm.execute() - await wrapper.vm.$nextTick() - expect(wrapper.find('.run-result-panel .result-in-progress').isVisible()).to.equal(true) - }) - - it('Shows error when executing query ends with error', async () => { - // mock store state - const state = { - currentTabId: 1, - db: { - execute: sinon.stub().rejects(new Error('There is no table foo')), - refreshSchema: sinon.stub().resolves() - } - } - - const store = new Vuex.Store({ state, mutations }) - // mount the component - const wrapper = mount(Tab, { - store, - stubs: ['chart'], - propsData: { - id: 1, - initName: 'foo', - initQuery: 'SELECT * FROM foo', - initViewOptions: [], - initViewType: 'chart', - tabIndex: 0, - isPredefined: false - } - }) - - await wrapper.vm.execute() - expect(wrapper.find('.run-result-panel .result-before').isVisible()).to.equal(false) - expect(wrapper.find('.run-result-panel .result-in-progress').exists()).to.equal(false) - expect(wrapper.findComponent({ name: 'logs' }).isVisible()).to.equal(true) - expect(wrapper.findComponent({ name: 'logs' }).text()).to.include('There is no table foo') - }) - - it('Passes result to sql-table component', async () => { - const result = { - columns: ['id', 'name'], - values: { - id: [1, 2], - name: ['foo', 'bar'] - } - } - // mock store state - const state = { - currentTabId: 1, - db: { - execute: sinon.stub().resolves(result), - refreshSchema: sinon.stub().resolves() - } - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tab, { - store, - stubs: ['chart'], - propsData: { - id: 1, - initName: 'foo', - initQuery: 'SELECT * FROM foo', - initViewOptions: [], - initViewType: 'chart', - tabIndex: 0, - isPredefined: false - } - }) - - await wrapper.vm.execute() - expect(wrapper.find('.run-result-panel .result-before').isVisible()).to.equal(false) - expect(wrapper.find('.run-result-panel .result-in-progress').exists()).to.equal(false) - expect(wrapper.findComponent({ name: 'logs' }).exists()).to.equal(false) - expect(wrapper.findComponent({ name: 'SqlTable' }).vm.dataSet).to.eql(result) - }) - - it('Updates schema after query execution', async () => { - const result = { - columns: ['id', 'name'], - values: { - id: [], - name: [] - } - } - - // mock store state - const state = { - currentTabId: 1, - dbName: 'fooDb', - db: { - execute: sinon.stub().resolves(result), - refreshSchema: sinon.stub().resolves() - } - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tab, { - store, - stubs: ['chart'], - propsData: { - id: 1, - initName: 'foo', - initQuery: 'SELECT * FROM foo; CREATE TABLE bar(a,b);', - initViewOptions: [], - initViewType: 'chart', - tabIndex: 0, - isPredefined: false - } - }) - - await wrapper.vm.execute() - expect(state.db.refreshSchema.calledOnce).to.equal(true) - }) - - it('Switches views', async () => { - const state = { - currentTabId: 1, - db: {} - } - - const store = new Vuex.Store({ state, mutations }) - - const wrapper = mount(Tab, { - attachTo: place, - store, - stubs: ['chart'], - propsData: { - id: 1, - initName: 'foo', - initQuery: 'SELECT * FROM foo; CREATE TABLE bar(a,b);', - initViewOptions: [], - initViewType: 'chart', - tabIndex: 0, - isPredefined: false - } - }) - - let tableBtn = createWrapper(wrapper.find('.above .side-tool-bar') - .findComponent({ name: 'tableIcon' }).vm.$parent) - await tableBtn.trigger('click') - - expect(wrapper.find('.bottomPane .sql-editor-panel').exists()).to.equal(true) - expect(wrapper.find('.above .run-result-panel').exists()).to.equal(true) - - const dataViewBtn = createWrapper(wrapper.find('.above .side-tool-bar') - .findComponent({ name: 'dataViewIcon' }).vm.$parent) - await dataViewBtn.trigger('click') - - expect(wrapper.find('.bottomPane .sql-editor-panel').exists()).to.equal(true) - expect(wrapper.find('.above .data-view-panel').exists()).to.equal(true) - - const sqlEditorBtn = createWrapper(wrapper.find('.above .side-tool-bar') - .findComponent({ name: 'sqlEditorIcon' }).vm.$parent) - await sqlEditorBtn.trigger('click') - - expect(wrapper.find('.above .sql-editor-panel').exists()).to.equal(true) - expect(wrapper.find('.bottomPane .data-view-panel').exists()).to.equal(true) - - tableBtn = createWrapper(wrapper.find('.bottomPane .side-tool-bar') - .findComponent({ name: 'tableIcon' }).vm.$parent) - await tableBtn.trigger('click') - - expect(wrapper.find('.above .sql-editor-panel').exists()).to.equal(true) - expect(wrapper.find('.bottomPane .run-result-panel').exists()).to.equal(true) - }) -}) diff --git a/tests/views/Main/Workspace/Tabs/Tabs.spec.js b/tests/views/Main/Workspace/Tabs/Tabs.spec.js deleted file mode 100644 index edc1522..0000000 --- a/tests/views/Main/Workspace/Tabs/Tabs.spec.js +++ /dev/null @@ -1,306 +0,0 @@ -import { expect } from 'chai' -import sinon from 'sinon' -import { shallowMount, mount, createWrapper } from '@vue/test-utils' -import mutations from '@/store/mutations' -import Vuex from 'vuex' -import Tabs from '@/views/Main/Workspace/Tabs' - -describe('Tabs.vue', () => { - afterEach(() => { - sinon.restore() - }) - - it('Renders start guide when there is no opened tabs', () => { - // mock store state - const state = { - tabs: [] - } - const store = new Vuex.Store({ state }) - - // mount the component - const wrapper = shallowMount(Tabs, { - store, - stubs: ['router-link'] - }) - - // check start-guide visibility - expect(wrapper.find('#start-guide').isVisible()).to.equal(true) - }) - - it('Renders tabs', () => { - // mock store state - const state = { - tabs: [ - { id: 1, name: 'foo', query: 'select * from foo', chart: [], isSaved: true }, - { id: 2, name: null, tempName: 'Untitled', query: '', chart: [], isSaved: false } - ], - currentTabId: 2 - } - const store = new Vuex.Store({ state }) - - // mount the component - const wrapper = shallowMount(Tabs, { - store, - stubs: ['router-link'] - }) - - // check start-guide visibility - expect(wrapper.find('#start-guide').isVisible()).to.equal(false) - - // check tabs - expect(wrapper.findAllComponents({ name: 'Tab' })).to.have.lengthOf(2) - - const firstTab = wrapper.findAll('.tab').at(0) - expect(firstTab.text()).to.include('foo') - expect(firstTab.find('.star').isVisible()).to.equal(false) - expect(firstTab.classes()).to.not.include('tab-selected') - - const secondTab = wrapper.findAll('.tab').at(1) - expect(secondTab.text()).to.include('Untitled') - expect(secondTab.find('.star').isVisible()).to.equal(true) - expect(secondTab.classes()).to.include('tab-selected') - }) - - it('Selects the tab on click', async () => { - // mock store state - const state = { - tabs: [ - { id: 1, name: 'foo', query: 'select * from foo', chart: [], isSaved: true }, - { id: 2, name: null, tempName: 'Untitled', query: '', chart: [], isSaved: false } - ], - currentTabId: 2 - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = shallowMount(Tabs, { - store, - stubs: ['router-link'] - }) - - // click on the first tab - const firstTab = wrapper.findAll('.tab').at(0) - await firstTab.trigger('click') - - // check that first tab is the current now - expect(firstTab.classes()).to.include('tab-selected') - const secondTab = wrapper.findAll('.tab').at(1) - expect(secondTab.classes()).to.not.include('tab-selected') - expect(state.currentTabId).to.equal(1) - }) - - it("Deletes the tab on close if it's saved", async () => { - // mock store state - const state = { - tabs: [ - { id: 1, name: 'foo', query: 'select * from foo', chart: [], isSaved: true }, - { id: 2, name: null, tempName: 'Untitled', query: '', chart: [], isSaved: false } - ], - currentTabId: 2 - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tabs, { - store, - stubs: ['router-link'] - }) - - // click on the close icon of the first tab - const firstTabCloseIcon = wrapper.findAll('.tab').at(0).find('.close-icon') - await firstTabCloseIcon.trigger('click') - - // check that the only one tab left and it's opened - expect(wrapper.findAllComponents({ name: 'Tab' })).to.have.lengthOf(1) - - const firstTab = wrapper.findAll('.tab').at(0) - expect(firstTab.text()).to.include('Untitled') - expect(firstTab.find('.star').isVisible()).to.equal(true) - expect(firstTab.classes()).to.include('tab-selected') - }) - - it("Doesn't delete tab on close if user cancel closing", async () => { - // mock store state - const state = { - tabs: [ - { id: 1, name: 'foo', query: 'select * from foo', chart: [], isSaved: true }, - { id: 2, name: null, tempName: 'Untitled', query: '', chart: [], isSaved: false } - ], - currentTabId: 2 - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tabs, { - store, - stubs: ['router-link'] - }) - - // click on the close icon of the second tab - const secondTabCloseIcon = wrapper.findAll('.tab').at(1).find('.close-icon') - await secondTabCloseIcon.trigger('click') - - // check that Close Tab dialog is visible - const modal = wrapper.find('[data-modal="close-warn"]') - expect(modal.exists()).to.equal(true) - - // find Cancel in the dialog - const cancelBtn = wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Cancel') - - // click Cancel in the dialog - await cancelBtn.trigger('click') - - // check that tab is still opened - expect(wrapper.findAllComponents({ name: 'Tab' })).to.have.lengthOf(2) - - // check that the dialog is closed - expect(wrapper.find('[data-modal="close-warn"]').exists()).to.equal(false) - }) - - it('Closes without saving', async () => { - // mock store state - const state = { - tabs: [ - { id: 1, name: 'foo', query: 'select * from foo', chart: [], isSaved: true }, - { id: 2, name: null, tempName: 'Untitled', query: '', chart: [], isSaved: false } - ], - currentTabId: 2 - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tabs, { - store, - stubs: ['router-link'] - }) - - // click on the close icon of the second tab - const secondTabCloseIcon = wrapper.findAll('.tab').at(1).find('.close-icon') - await secondTabCloseIcon.trigger('click') - - // find 'Close without saving' in the dialog - const closeBtn = wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Close without saving') - - // click 'Close without saving' in the dialog - await closeBtn.trigger('click') - - // check that tab is closed - expect(wrapper.findAllComponents({ name: 'Tab' })).to.have.lengthOf(1) - const firstTab = wrapper.findAll('.tab').at(0) - expect(firstTab.text()).to.include('foo') - expect(firstTab.find('.star').isVisible()).to.equal(false) - expect(firstTab.classes()).to.include('tab-selected') - - // check that 'saveInquiry' event was not emited - const rootWrapper = createWrapper(wrapper.vm.$root) - expect(rootWrapper.emitted('saveInquiry')).to.equal(undefined) - - // check that the dialog is closed - expect(wrapper.find('[data-modal="close-warn"]').exists()).to.equal(false) - }) - - it('Closes with saving', async () => { - // mock store state - const state = { - tabs: [ - { id: 1, name: 'foo', query: 'select * from foo', chart: [], isSaved: true }, - { id: 2, name: null, tempName: 'Untitled', query: '', chart: [], isSaved: false } - ], - currentTabId: 2 - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = mount(Tabs, { - store, - stubs: ['router-link'] - }) - - // click on the close icon of the second tab - const secondTabCloseIcon = wrapper.findAll('.tab').at(1).find('.close-icon') - await secondTabCloseIcon.trigger('click') - - // find 'Save and close' in the dialog - const closeBtn = wrapper - .findAll('.dialog-buttons-container button').wrappers - .find(button => button.text() === 'Save and close') - - // click 'Save and close' in the dialog - await closeBtn.trigger('click') - - // pretend like saving is completed - trigger 'inquirySaved' on $root - await wrapper.vm.$root.$emit('inquirySaved') - - // check that tab is closed - expect(wrapper.findAllComponents({ name: 'Tab' })).to.have.lengthOf(1) - const firstTab = wrapper.findAll('.tab').at(0) - expect(firstTab.text()).to.include('foo') - expect(firstTab.find('.star').isVisible()).to.equal(false) - expect(firstTab.classes()).to.include('tab-selected') - - // check that 'saveInquiry' event was emited - const rootWrapper = createWrapper(wrapper.vm.$root) - expect(rootWrapper.emitted('saveInquiry')).to.have.lengthOf(1) - - // check that the dialog is closed - expect(wrapper.find('[data-modal="close-warn"]').exists()).to.equal(false) - }) - - it('Prevents closing a tab of a browser if there is unsaved inquiry', () => { - // mock store state - const state = { - tabs: [ - { id: 1, name: 'foo', query: 'select * from foo', chart: [], isSaved: true }, - { id: 2, name: null, tempName: 'Untitled', query: '', chart: [], isSaved: false } - ], - currentTabId: 2 - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = shallowMount(Tabs, { - store, - stubs: ['router-link'] - }) - - const event = new Event('beforeunload') - sinon.spy(event, 'preventDefault') - wrapper.vm.leavingSqliteviz(event) - - expect(event.preventDefault.calledOnce).to.equal(true) - }) - - it("Doesn't prevent closing a tab of a browser if there is unsaved inquiry", () => { - // mock store state - const state = { - tabs: [ - { id: 1, name: 'foo', query: 'select * from foo', chart: [], isSaved: true } - ], - currentTabId: 1 - } - - const store = new Vuex.Store({ state, mutations }) - - // mount the component - const wrapper = shallowMount(Tabs, { - store, - stubs: ['router-link'] - }) - - const event = new Event('beforeunload') - sinon.spy(event, 'preventDefault') - wrapper.vm.leavingSqliteviz(event) - - expect(event.preventDefault.calledOnce).to.equal(false) - }) -}) diff --git a/tests/views/Main/Workspace/Workspace.spec.js b/tests/views/Main/Workspace/Workspace.spec.js deleted file mode 100644 index 0668f0f..0000000 --- a/tests/views/Main/Workspace/Workspace.spec.js +++ /dev/null @@ -1,27 +0,0 @@ -import { expect } from 'chai' -import { mount } from '@vue/test-utils' -import actions from '@/store/actions' -import mutations from '@/store/mutations' -import Vuex from 'vuex' -import Workspace from '@/views/Main/Workspace' - -describe('Workspace.vue', () => { - it('Creates a tab with example if schema is empty', () => { - const state = { - db: {}, - tabs: [] - } - const store = new Vuex.Store({ state, actions, mutations }) - mount(Workspace, { - store, - stubs: ['router-link'] - }) - - expect(state.tabs[0].query).to.include('Your database is empty.') - expect(state.tabs[0].tempName).to.equal('Untitled') - expect(state.tabs[0].name).to.equal(null) - expect(state.tabs[0].viewType).to.equal('chart') - expect(state.tabs[0].viewOptions).to.equal(undefined) - expect(state.tabs[0].isSaved).to.equal(false) - }) -}) diff --git a/vue.config.js b/vue.config.js deleted file mode 100644 index d29970f..0000000 --- a/vue.config.js +++ /dev/null @@ -1,45 +0,0 @@ -const CopyPlugin = require('copy-webpack-plugin') -const WorkboxPlugin = require('workbox-webpack-plugin') - -module.exports = { - publicPath: '', - // Workaround for https://github.com/vuejs/vue-cli/issues/5399 as described - // in https://stackoverflow.com/a/63185174 - lintOnSave: process.env.NODE_ENV === 'development', - configureWebpack: { - plugins: [ - new CopyPlugin([ - // This wasm file will be fetched dynamically when we initialize sql.js - // It is important that we do not change its name, - // and that it is in the same folder as the js - { from: 'node_modules/sql.js/dist/sql-wasm.wasm', to: 'js/' }, - { from: 'LICENSE', to: './' } - ]), - new WorkboxPlugin.GenerateSW({ - exclude: [/\.map$/, 'LICENSE', 'inquiries.json'], - clientsClaim: true, - skipWaiting: false, - maximumFileSizeToCacheInBytes: 40000000 - }) - ] - }, - chainWebpack: config => { - const svgRule = config.module.rule('svg') - svgRule.uses.clear() - svgRule - .use('url-loader') - .loader('url-loader') - .options({ - limit: 10000 - }) - - config.module - .rule('worker') - .test(/worker\.js$/) - .use('worker-loader') - .loader('worker-loader') - .end() - - config.module.rule('js').exclude.add(/worker\.js$/) - } -}